Access keys

Cache

Kind of class: interface
Inherits from: BasicInterface
Implemented by:
Author: Simon Wacker
Classpath: org.as2lib.env.reflect.Cache
File last modified: Monday, 23 May 2005, 11:24:46
Cache chaches classes and packages.

The caching of classes and packages leads to better performance. You also
must cache them because for example the parent of two classes residing in the
same package should be the same PackageInfo instance.

The cache is mostly used internally. But you can also use it to add
ClassInfo or PackageInfo instances directly so that they do not
have to be searched for. This can improve the performance dramatically with
classes or packages that are needed quite often.

Instance methods

addClass

function addClass (
classInfo:ClassInfo) : ClassInfo
Adds the passed-in classInfo to the list of cached class infos and returns
this classInfo.
Parameters:
classInfo:
the class info to add
Returns:
the passed-in and added classInfo

addPackage

function addPackage (
packageInfo:PackageInfo) : PackageInfo
Adds the passed-in packageInfo to this cache and returns this added
packageInfo.
Parameters:
packageInfo:
the package info to add
Returns:
the passed-in and added packageInfo

getClassByClass

function getClassByClass (
clazz:Function) : ClassInfo
Returns the class info representing the passed-in clazz.

null will be returned if:

  • There is no corresponding ClassInfo instance cached.
  • The passed-in clazz is null or undefined.
Parameters:
clazz:
the class to return the class info for
Returns:
the class info representing the passed-in clazz

getClassByInstance

function getClassByInstance (
instance) : ClassInfo
Returns the class info representing the class the instance was
instantiated of.

null will be returned if:

  • There is no corresponding ClassInfo instance cached.
  • The passed-in instance is null or undefined.
Parameters:
instance:
the instance to return the appropriate class info for
Returns:
the class info representing the instance's class

getPackage

function getPackage (
package) : PackageInfo
Returns the package info representing the passed-in package.

null will be returned if:

  • There is no corresponding PackageInfo instance cached.
  • The passed-in package is null or undefined.
Parameters:
package:
the package to return the appropriate package info for
Returns:
the pakcage info representing the passed-in package

getRoot

function getRoot (
Void) : PackageInfo
Returns the root package of the whole package hierarchy.

The root package is also refered to as the default package.

The root/default package determines where the ClassAlgorithm and
PackageAlgorithm classes start their search.

Returns:
the root/default package

releaseAll

function releaseAll (
Void) : Void
Releases all cached class and package infos.