Packageorg.granite.reflect
Classpublic class Type
InheritanceType Inheritance DescribedElement
ImplementsIAnnotatedElement, IVisitableElement

The Type class is the entry point to the GraniteDS reflection API for ActionScript 3 classes. Type instances (with their underlying XML descriptions) are cached, so subsequent calls for retrieving a known type are faster.

From any Type instance, you may retrieve:

Constructors, constants, variables, accessors and methods are represented by three Member child classes: Constructor, Field (for constants, variables and accessors) and Method. The overall API tries to look much alike the Java reflection API.

For returned members (constructor, methods, fields), the following rules apply:

    Constructor: only one constructor is returned, the one declared (explicitly or or) by this Type class.
    Methods: all instance methods are returned, either declared by this Type class or by any of its superclasses (overridden methods only appear once). Only static methods directly declared by this Type class are returned.
    Fields: all instance fields (constants, variables and accessors) are returned, either declared by this Type class or by any of its superclasses (overridden accessors only appear once, variables and constants cannot be overridden). Only static fields directly declared by this Type class are returned.

This API brings also Namespace and ApplicationDomain support: all types are bound to an ApplicationDomain, that can be the Flash system domain or a dedicated domain created when loading SWF module classes. All type's members are also bound to a namespace (default is the public namespace) and may be searched according to their namespace.

To get a Type instance, use one of the following static methods:

  var type:Type = Type.forName("path.to::MyClass"); // or Type.forName("path.to.MyClass");
  var type:Type = Type.forInstance(new MyClass());
  var type:Type = Type.forClass(MyClass);

See also

flash.system.ApplicationDomain
Member
Constructor
Field
Method


Public Properties
 PropertyDefined by
  alias : String
[read-only] The remote class alias of the class of this Type instance (may be an empty string).
Type
  annotations : Array
[read-only] An array that contains all annotations directly attached to this IAnnotatedElement.
Type
  constructor : Constructor
Returns this Type instance constructor.
Type
 InheriteddeclaredBy : Type
The Type instance this described element belongs to.
DescribedElement
  domain : ApplicationDomain
[read-only] The underlying ApplicationDomain instance associated to this Type.
Type
  fields : Array
[read-only] An array containing all fields of this Type instance.
Type
  id : int
[read-only] Returns the internal identifier of this Type.
Type
  interfaces : Array
[read-only] An array (possibly empty) that contains all interface types implemented by this Type instance.
Type
  members : Array
[read-only] An array containing all members of this Type instance.
Type
  methods : Array
[read-only] An array containing all public methods of this Type class.
Type
  name : String
[read-only] The fully qualified class name of this Type instance, in the form of path.to::Bean.
Type
  packageName : String
[read-only] The package name of the class of this Type instance (may be an empty string).
Type
  properties : Array
[read-only] An array containing all properties of this Type instance.
Type
  registeredDomains : Array
[static][read-only] An array that contains all currently registered application domains.
Type
  simpleName : String
[read-only] The unqualified class name of this Type instance.
Type
  superclass : Type
[read-only] The superclass type of this Type instance or null if this class (or interface) has no superclass (or superinterface).
Type
  superclasses : Array
[read-only] An array that contains all superclass types of this Type instance, or an empty array if this class (or interface) has no superclass (or superinterface).
Type
  systemDomain : ApplicationDomain
[static][read-only] The Flash system domain (parent of all other application domains).
Type
Public Methods
 MethodDefined by
  
Type(desc:XML, clazz:Class, domain:ApplicationDomain)
Constructs a new Type instance.
Type
 Inherited
equals(o:*):Boolean
Tells if this DescribedElement instance is equal to the supplied o parameter.
DescribedElement
  
forClass(clazz:Class, domain:ApplicationDomain = null):Type
[static] Returns a Type instance for the supplied clazz parameter, in the optional application domain.
Type
  
forInstance(o:*, domain:ApplicationDomain = null):Type
[static] Returns Type instance for the supplied o instance parameter, in the optional application domain.
Type
  
forName(name:String, domain:ApplicationDomain = null):Type
[static] Returns a Type instance for the class denoted by the name parameter, in the optional application domain.
Type
  
getAnnotatedFields(recursive:Boolean, ... annotatedWiths):Array
Returns an array containing all fields of this Type instance that are annotated with at least one of the supplied annotation names.
Type
  
getAnnotatedMethods(recursive:Boolean, ... annotatedWiths):Array
Returns an array containing all methods of this Type instance that are annotated with at least one of the supplied annotation names.
Type
  
getAnnotatedProperties(recursive:Boolean, ... annotatedWiths):Array
Returns an array containing all properties of this Type instance that are annotated with at least one of the supplied annotation names.
Type
  
getAnnotation(type:String, recursive:Boolean = false):Annotation
Returns the first Annotation whose name is equal to the supplied type parameter, attached to this IAnnotatedElement.
Type
  
getAnnotations(recursive:Boolean = false, pattern:String = "^_?[^_]"):Array
Returns an array (possibly empty) that contains all annotations attached to this IAnnotatedElement.
Type
  
getClass():Class
Returns the underlying Class instance associated to this Type.
Type
  
getField(filter:Function):Field
Returns the first field of this Type instance that match the supplied function's criteria.
Type
  
getFields(filter:Function = null):Array
Returns an array containing all fields of this Type instance that match the supplied function's criteria.
Type
  
getInstanceField(name:String, ns:Namespace = null):Field
Returns the non static field of this Type class whose name is equals to the supplied parameter and declared in the namespace ns.
Type
  
getInstanceMethod(name:String, ns:Namespace = null):Method
Returns the non static method of this Type class whose name is equals to the supplied parameter.
Type
  
getMembers(filter:Function = null):Array
Returns an array containing all members of this Type instance that match the supplied function's criteria.
Type
  
getMethod(filter:Function):Method
Returns the first method of this Type instance that match the supplied function's criteria.
Type
  
getMethods(filter:Function = null):Array
Returns an array containing all methods of this Type instance that match the supplied function's criteria.
Type
  
getProperties(filter:Function = null):Array
Returns an array containing all properties of this Type instance that match the supplied function's criteria.
Type
  
getProperty(name:String):Field
Returns the property of this Type instance whose name is equals to the supplied parameter.
Type
  
getStaticField(name:String, ns:Namespace = null):Field
Returns the static field of this Type class whose name is equals to the supplied parameter.
Type
  
getStaticMethod(name:String, ns:Namespace = null):Method
Returns the static method of this Type class whose name is equals to the supplied parameter.
Type
  
hasConstructor():Boolean
Tests if this Type instance has a constructor.
Type
  
Tests if this Type instance has a declared constructor.
Type
  
isAnnotationPresent(type:String, recursive:Boolean = false):Boolean
Tests if an Annotation, whose name is equal to the supplied type parameter, is attached to this IAnnotatedElement.
Type
  
isClass():Boolean
Tells if this Type instance represents a class.
Type
  
isDomainRegistered(domain:ApplicationDomain):Boolean
[static] Tells if an ApplicationDomain is registered.
Type
  
isInterface():Boolean
Tells if this Type instance represents an interface.
Type
  
isSubclassOf(type:Type):Boolean
Determines if the class or interface represented by this Type instance is a subclass or subinterface of the class or interface represented by the specified Type parameter.
Type
  
isSuperclassOf(type:Type):Boolean
Determines if the class or interface represented by this Type instance is a superclass or superinterface of the class or interface represented by the specified Type parameter.
Type
  
isVoid():Boolean
Tells if this Type instance represents the pseudo-class "void".
Type
  
isWild():Boolean
Tells if this Type instance represents the pseudo-class "*" (wildcard).
Type
  
registerDomain(domain:ApplicationDomain):Boolean
[static] Registers an application domain so objects or classes that belong to this domain, when passed to the Type.forInstance(...) or the Type.forClass(...) methods without specifying a domain, may be associated this domain.
Type
 Inherited
toString():String
Returns the a string (XML) representation of this described element.
DescribedElement
  
unregisterDomain(domain:ApplicationDomain):Boolean
[static] Unregisters an application domain and all its children domains.
Type
Public Constants
 ConstantDefined by
  VOID : Type
[static] Builtin type for the pseudo-class "void".
Type
  WILD : Type
[static] Builtin type for the pseudo-class "*" (wildcard).
Type
Property detail
aliasproperty
alias:String  [read-only]

The remote class alias of the class of this Type instance (may be an empty string).

For example, for a class definition such as the following, the returned alias would be the String "path.to.MyJavaBean":

   [RemoteClass(alias="path.to.MyJavaBean")]
   public class MyAS3Bean {}
Implementation
    public function get alias():String
annotationsproperty 
annotations:Array  [read-only]

An array that contains all annotations directly attached to this IAnnotatedElement.

Implementation
    public function get annotations():Array
constructorproperty 
public var constructor:Constructor

Returns this Type instance constructor.

See also

domainproperty 
domain:ApplicationDomain  [read-only]

The underlying ApplicationDomain instance associated to this Type.

Implementation
    public function get domain():ApplicationDomain
fieldsproperty 
fields:Array  [read-only]

An array containing all fields of this Type instance. Fields are public constants, variables and accessors (get/set).

Implementation
    public function get fields():Array

See also

idproperty 
id:int  [read-only]

Returns the internal identifier of this Type. Can be used to identify types for the same Class in different application domains.

Implementation
    public function get id():int
interfacesproperty 
interfaces:Array  [read-only]

An array (possibly empty) that contains all interface types implemented by this Type instance.

Implementation
    public function get interfaces():Array
membersproperty 
members:Array  [read-only]

An array containing all members of this Type instance. Members are public constructor, methods, constants, variables and accessors (get/set).

Implementation
    public function get members():Array

See also

methodsproperty 
methods:Array  [read-only]

An array containing all public methods of this Type class.

Implementation
    public function get methods():Array

See also

nameproperty 
name:String  [read-only]

The fully qualified class name of this Type instance, in the form of path.to::Bean.

Implementation
    public function get name():String
packageNameproperty 
packageName:String  [read-only]

The package name of the class of this Type instance (may be an empty string).

Implementation
    public function get packageName():String
propertiesproperty 
properties:Array  [read-only]

An array containing all properties of this Type instance. Properties are non-static variables or read/write accessors (get/set) declared in the public or the builtin AS3 namespace.

Implementation
    public function get properties():Array

See also

registeredDomainsproperty 
registeredDomains:Array  [read-only]

An array that contains all currently registered application domains.

Implementation
    public static function get registeredDomains():Array
simpleNameproperty 
simpleName:String  [read-only]

The unqualified class name of this Type instance.

Implementation
    public function get simpleName():String
superclassproperty 
superclass:Type  [read-only]

The superclass type of this Type instance or null if this class (or interface) has no superclass (or superinterface).

Implementation
    public function get superclass():Type
superclassesproperty 
superclasses:Array  [read-only]

An array that contains all superclass types of this Type instance, or an empty array if this class (or interface) has no superclass (or superinterface).

Implementation
    public function get superclasses():Array
systemDomainproperty 
systemDomain:ApplicationDomain  [read-only]

The Flash system domain (parent of all other application domains).

Implementation
    public static function get systemDomain():ApplicationDomain
Constructor detail
Type()constructor
public function Type(desc:XML, clazz:Class, domain:ApplicationDomain)

Constructs a new Type instance.

This constructor should not be used directly. Instead, use the static methods forName(...), forInstance(...) or forClass(...).

Parameters
desc:XML — a class description as returned by the flash.utils.describeType method.
 
clazz:Class — the underlying Class of this type.
 
domain:ApplicationDomain — the application domain of this type.

Throws
ReflectionError — if domain is null.

See also

Method detail
forClass()method
public static function forClass(clazz:Class, domain:ApplicationDomain = null):Type

Returns a Type instance for the supplied clazz parameter, in the optional application domain. The returned Type instance, if not already cached, is put in a static cache so subsequent calls to this method with the same class parameter may return a cached instance.

If the domain parameter is not null, this method will verify if the supplied class actually belongs to this domain. Otherwise, if domain is null, it will try to find the class domain among all registered application domain and the Flash system domain.

When a domain for the Class parameter is found, this method tries to figure out if any parent domain of the found domain contains the class definition. The new Type is then associated with the top-most parent application domain that defines the class (not necessarily the supplied domain) and this domain is used in order to load any dependant Type (superclasses, interfaces, members classes). This domain is then automatically registered (see the Type.registerDomain() method) if it wasn't already known. The domain of the returned Type may be retreived by the Type.domain property.

Parameters
clazz:Class — the Class to introspect.
 
domain:ApplicationDomain (default = null) — the optional application domain to which this Class belongs.

Returns
Type — a Type instance describing the clazz Class parameter (or null if the clazz parameter is null).

Throws
ClassNotFoundError — if the Class does not belong to the supplied application domain or to any registered or system domain.

See also

forInstance()method 
public static function forInstance(o:*, domain:ApplicationDomain = null):Type

Returns Type instance for the supplied o instance parameter, in the optional application domain. If domain parameter is null and if o is a proxy, this method will try to find a registered domain where the class is defined (including the Flash system domain), by using the forName method.

Known bug: if o is a uint instance, the returned Type will be a descriptor of a signed interger (int).

Parameters
o:* — the instance to introspect.
 
domain:ApplicationDomain (default = null) — the optional application domain to which this object Class belongs (useful for flash.utils.Proxy instances).

Returns
Type — a Type instance describing the class of the o parameter (or null if the o parameter is null).

Throws
ClassNotFoundError — if the Class cannot be found in the supplied domain or, if domain parameter is null, in the system domain or in any registered domain.
 
AmbiguousClassNameError — if the class is defined in more than one application domain (flash.utils.Proxy instances only).

See also

forName()method 
public static function forName(name:String, domain:ApplicationDomain = null):Type

Returns a Type instance for the class denoted by the name parameter, in the optional application domain. If domain parameter is null, this method will try to find a registered domain where the class is defined (including the Flash system domain). If several classes with this name are defined in different application domain, this method will throw a AmbiguousClassNameError.

Parameters
name:String — the class name.
 
domain:ApplicationDomain (default = null) — the optional application domain to be used for getting the class definition.

Returns
Type — a Type instance describing the class denoted by the name parameter (or null if the name parameter is null).

Throws
ClassNotFoundError — if no Class can be found in the supplied or system domain.
 
AmbiguousClassNameError — if the class is defined in more than one application domain.

See also

getAnnotatedFields()method 
public function getAnnotatedFields(recursive:Boolean, ... annotatedWiths):Array

Returns an array containing all fields of this Type instance that are annotated with at least one of the supplied annotation names.

Parameters
recursive:Boolean — should we try to look for annotations in the superclasses's or the superinterfaces's overridden accessors?
 
... annotatedWiths — a list of annotation names to look for.

Returns
Array — an array that contains all Fields annotated with at least one the supplied annotation names.

See also

getAnnotatedMethods()method 
public function getAnnotatedMethods(recursive:Boolean, ... annotatedWiths):Array

Returns an array containing all methods of this Type instance that are annotated with at least one of the supplied annotation names.

Parameters
recursive:Boolean — should we try to look for annotations in the superclasses's or the superinterfaces's overridden methods?
 
... annotatedWiths — a list of annotation names to look for.

Returns
Array — an array that contains all Methods annotated with at least one the supplied annotation names.

See also

getAnnotatedProperties()method 
public function getAnnotatedProperties(recursive:Boolean, ... annotatedWiths):Array

Returns an array containing all properties of this Type instance that are annotated with at least one of the supplied annotation names.

Parameters
recursive:Boolean — should we try to look for annotations in the superclasses's or the superinterfaces's overridden accessors?
 
... annotatedWiths — a list of annotation names to look for.

Returns
Array — an array that contains all Fields annotated with at least one the supplied annotation names.

See also

getAnnotation()method 
public function getAnnotation(type:String, recursive:Boolean = false):Annotation

Returns the first Annotation whose name is equal to the supplied type parameter, attached to this IAnnotatedElement.

Parameters
type:String — the name of the annotation to look for.
 
recursive:Boolean (default = false) — should we look for annotations attached to overridden elements (non-static accessors or methods) or superclasses/superinterfaces ?

Returns
Annotation — an Annotation instance or null if it cannot be found.
getAnnotations()method 
public function getAnnotations(recursive:Boolean = false, pattern:String = "^_?[^_]"):Array

Returns an array (possibly empty) that contains all annotations attached to this IAnnotatedElement.

Parameters
recursive:Boolean (default = false) — should we look for annotations attached to overridden elements (non-static accessors or methods) or superclasses/superinterfaces ?
 
pattern:String (default = "^_?[^_]") — a regexp expression used as a filter. Default is to eliminate all annotations prefixed with a double '_' character. You may use this parameter to find all annotations with a specific name.

Returns
Array — an array that contains all annotations attached to this IAnnotatedElement.
getClass()method 
public function getClass():Class

Returns the underlying Class instance associated to this Type.

Returns
Class — the Class instance (null for void or types).
getField()method 
public function getField(filter:Function):Field

Returns the first field of this Type instance that match the supplied function's criteria.

The filter Function is expected to have the following signature:

   function (f:Field):Boolean

For example, to get the first static field whose name is equal to "abc", you may use:

   var staticAbcField:Field = type.getField(function (f:Field):Boolean {
       return f.isStatic() && f.name == "abc";
   });
Parameters
filter:Function — a function that will be used to eliminate fields that do not match the function's criteria.

Returns
Field — the first found Field or null if no field matching the function's criteria can be found.

See also

getFields()method 
public function getFields(filter:Function = null):Array

Returns an array containing all fields of this Type instance that match the supplied function's criteria.

The filter Function is expected to have the following signature:

   function (f:Field):Boolean

For example, to get all static constants, you may use:

   var staticConstants:Array = type.getFields(function (f:Field):Boolean {
       return f.isStatic() && f.isConstant();
   }
Parameters
filter:Function (default = null) — a function that will be used to eliminate fields that do not match the function's criteria.

Returns
Array — an array that contains all Fields that match the supplied filter.

See also

getInstanceField()method 
public function getInstanceField(name:String, ns:Namespace = null):Field

Returns the non static field of this Type class whose name is equals to the supplied parameter and declared in the namespace ns.

A non-static field and a static field with the same name and namespace may coexist in the same class. That the purpose of the two methods getInstanceField and getStaticField.

Parameters
name:String — the name of the field to search for.
 
ns:Namespace (default = null) — the namespace of the field to search for (null for public or builtin AS3 namespace).

Returns
Field — the found Field or null if no instance field with the supplied name can be found.

See also

getInstanceMethod()method 
public function getInstanceMethod(name:String, ns:Namespace = null):Method

Returns the non static method of this Type class whose name is equals to the supplied parameter.

Instead of Java, there is no need to care about parameters. Only one non-static method with a given name may exist. However, a non-static method and a static method with the same name may coexist in the same class. That the purpose of the two methods getInstanceMethod and getStaticMethod.

Parameters
name:String — the name of the method to search for.
 
ns:Namespace (default = null) — the namespace of the method to search for (null for public or builtin AS3 namespace).

Returns
Method — the found Method or null if no instance method with the supplied name can be found.

See also

getMembers()method 
public function getMembers(filter:Function = null):Array

Returns an array containing all members of this Type instance that match the supplied function's criteria.

The filter Function is expected to have the following signature:

   function (m:Member):Boolean

For example, to get all static methods and constants, you may use:

   var staticConstantAndMethods:Array = type.getMembers(function (m:Member):Boolean {
       return m.isStatic() && (m.isConstant() || m.isMethod());
   }
Parameters
filter:Function (default = null) — a function that will be used to eliminate members that do not match the function's criteria.

Returns
Array — an array that contains all Members that match the supplied filter.

See also

getMethod()method 
public function getMethod(filter:Function):Method

Returns the first method of this Type instance that match the supplied function's criteria.

The filter Function is expected to have the following signature:

   function (m:Method):Boolean

For example, to get the first static method whose name is equal to "abc", you may use:

   var staticAbcMethod:Method = type.getMethod(function (m:Method):Boolean {
       return m.isStatic() && m.name == "abc";
   });
Parameters
filter:Function — a function that will be used to eliminate methods that do not match the function's criteria.

Returns
Method — the first found Method or null if no method matching the function's criteria can be found.

See also

getMethods()method 
public function getMethods(filter:Function = null):Array

Returns an array containing all methods of this Type instance that match the supplied function's criteria.

The filter Function is expected to have the following signature:

   function (m:Method):Boolean

For example, to get all static methods, you may use:

   var staticMethods:Array = type.getMethods(function (m:Method):Boolean {
       return m.isStatic();
   });
Parameters
filter:Function (default = null) — a function that will be used to eliminate methods that do not match the function's criteria.

Returns
Array — an array that contains all Methods that match the supplied filter.

See also

getProperties()method 
public function getProperties(filter:Function = null):Array

Returns an array containing all properties of this Type instance that match the supplied function's criteria.

The filter Function is expected to have the following signature:

   function (f:Field):Boolean

For example, to get all non-static accessors, you may use:

   var nonStaticAccessors:Array = type.getProperties(function (f:Field):Boolean {
       return f.isAccessor();
   }
Parameters
filter:Function (default = null) — a function that will be used to eliminate properties that do not match the function's criteria.

Returns
Array — an array that contains all Fields that match the supplied filter.

See also

getProperty()method 
public function getProperty(name:String):Field

Returns the property of this Type instance whose name is equals to the supplied parameter.

Parameters
name:String — the name of the property to search for.

Returns
Field — the found Field or null if no property with the supplied name can be found.

See also

getStaticField()method 
public function getStaticField(name:String, ns:Namespace = null):Field

Returns the static field of this Type class whose name is equals to the supplied parameter.

A non-static field and a static field with the same name may coexist in the same class. That the purpose of the two methods getInstanceField and getStaticField.

Parameters
name:String — the name of the field to search for.
 
ns:Namespace (default = null) — the namespace of the field to search for (null for public or builtin AS3 namespace).

Returns
Field — the found Field or null if no static field with the supplied name can be found.

See also

getStaticMethod()method 
public function getStaticMethod(name:String, ns:Namespace = null):Method

Returns the static method of this Type class whose name is equals to the supplied parameter.

Instead of Java, there is no need to care about parameters. Only one static method with a given name may exist. However, a static method and a non-static method with the same name may coexist in the same class. That the purpose of the two methods getInstanceMethod and getStaticMethod.

Parameters
name:String — the name of the method to search for.
 
ns:Namespace (default = null) — the namespace of the method to search for (null for public or builtin AS3 namespace).

Returns
Method — the found Method or null if no static method with the supplied name can be found.

See also

hasConstructor()method 
public function hasConstructor():Boolean

Tests if this Type instance has a constructor.

Returns
Booleantrue if the type is not an interface and not one of the pseudo types VOID and WILD.

See also

hasDeclaredConstructor()method 
public function hasDeclaredConstructor():Boolean

Tests if this Type instance has a declared constructor.

Returns
Booleantrue if this type has declared constructor in its XML description.

See also

isAnnotationPresent()method 
public function isAnnotationPresent(type:String, recursive:Boolean = false):Boolean

Tests if an Annotation, whose name is equal to the supplied type parameter, is attached to this IAnnotatedElement.

Parameters
type:String — the name of the annotation to look for.
 
recursive:Boolean (default = false) — should we look for annotations attached to overridden elements (non-static accessors or methods) or superclasses/superinterfaces ?

Returns
Booleantrue if the annotation can be found, false otherwise.
isClass()method 
public function isClass():Boolean

Tells if this Type instance represents a class.

Returns
Booleantrue if this Type instance represents a class, false otherwise.
isDomainRegistered()method 
public static function isDomainRegistered(domain:ApplicationDomain):Boolean

Tells if an ApplicationDomain is registered.

Parameters
domain:ApplicationDomain — the domain to check for.

Returns
Booleantrue if the domain has been registered, false otherwise.
isInterface()method 
public function isInterface():Boolean

Tells if this Type instance represents an interface.

Returns
Booleantrue if this Type instance represents an interface, false otherwise.
isSubclassOf()method 
public function isSubclassOf(type:Type):Boolean

Determines if the class or interface represented by this Type instance is a subclass or subinterface of the class or interface represented by the specified Type parameter.

Parameters
type:Type — the Type object to be checked.

Returns
Booleantrue the supplied type is a superclass or a superinferface of this type, false otherwise.
isSuperclassOf()method 
public function isSuperclassOf(type:Type):Boolean

Determines if the class or interface represented by this Type instance is a superclass or superinterface of the class or interface represented by the specified Type parameter.

Parameters
type:Type — the Type object to be checked.

Returns
Booleantrue the supplied type is a subclass or a subinferface of this type, false otherwise.
isVoid()method 
public function isVoid():Boolean

Tells if this Type instance represents the pseudo-class "void".

Returns
Booleantrue if this Type instance represents the pseudo-class "void", false otherwise.
isWild()method 
public function isWild():Boolean

Tells if this Type instance represents the pseudo-class "*" (wildcard).

Returns
Booleantrue if this Type instance represents the pseudo-class "*", false otherwise.
registerDomain()method 
public static function registerDomain(domain:ApplicationDomain):Boolean

Registers an application domain so objects or classes that belong to this domain, when passed to the Type.forInstance(...) or the Type.forClass(...) methods without specifying a domain, may be associated this domain.

Parameters
domain:ApplicationDomain — the ApplicationDomain to register. If the domain is the Flash system domain or if it is already registered, this method has no effect and returns false.

Returns
Booleantrue if the domain has been registered, false otherwise.
unregisterDomain()method 
public static function unregisterDomain(domain:ApplicationDomain):Boolean

Unregisters an application domain and all its children domains. Additionally, all cached Type instances associated with the domain parameter will be evicted from the cache.

Parameters
domain:ApplicationDomain — the ApplicationDomain to unregister. If the domain is the Flash system domain or if it was not registered, this method has no effect and returns false.

Returns
Booleantrue if the domain has been unregistered, false otherwise (system domain or already registered).
Constant detail
VOIDconstant
public static const VOID:Type

Builtin type for the pseudo-class "void".

WILDconstant 
public static const WILD:Type

Builtin type for the pseudo-class "*" (wildcard).