Kinesis SoftwareKineticFusion

[Show Table of Contents]

5 Using The Server Component

[Hide Table of Contents]



5.3 Analyzing ActionScript Classes

The KineticFusionServerType interface provides a single method, analyzeClasses(), that can be used for both performing development-time ActionScript class analysisand for pre-caching classes. All classes that are analyzed are cached in memory (subject to memory availability) which greatly speeds up the processing of ActionScript 2.0-based RVML documents. The full signature is:

   /**
     * Analyze the specified classes. The currently configured class paths.will
     * always be available for locating classes but the user can also specify
     * additional class paths used in locating classes for this single
     * operation. Classes can be specified using their fully qualified
     * ActionScript name or using the absolute location of the class file.
     * 
     * @param class Paths
     *            Optional array of class paths that can be used for locating
     *            classes. Can be null
     * @param classes
     *            Array of class IDs or class locations. If null or empty, an
     *            Illegal is throw
     * @param playerVersion
     *            Minimum player version to compile against.
     * @return ResultType The success flag will be true if all classes compiled
     *         without error. This also
     * @throws IllegalArgumentException
     *             If classes argument is null or empty
     * @throws UnknownClassException
     *             If a class descriptor cannot be resolved to a class on a
     *             known class path
     */
    public ResultType analyzeClasses(String[] classPaths, String[] classes, int playerVersion)
            throws IllegalArgumentException, UnknownClassException;

The class paths arguments are added to all existing class paths for the purpose of locating classes. Classes can be specified using their absolute file names or using their ActionScript class identifiers. Wildcard identifiers are also supported where '*' will match zero or more characters within a single package and '**' will match zero or more characters across one or more packages.

The player version argument is used to differentiate between the capabilities of the multiple Flash players that are available. This ensures classes are compiled against the Flash player that is targeted for deployment.