パッケージmx.core
public class UIComponentDescriptor
継承UIComponentDescriptor Inheritance ComponentDescriptor Inheritance Object

UIComponentDescriptor インスタンスは、ビジュアルコンポーネントのインスタンスの MXML タグに指定された情報をカプセル化します。

MXML ファイル内のほとんどのタグは、UIComponent オブジェクトのツリーを説明するものです。たとえば、<mx:Application> タグは UIComponent オブジェクトを表し、その子コンテナとコントロールもすべて UIComponent オブジェクトです。

MXML コンパイラは、それぞれの MXML タグを UIComponentDescriptor インスタンスにコンパイルします。厳密には、MXML コンパイラは ActionScript データ構造を自動生成します。これは、UIComponentDescriptor オブジェクトのツリーになります。

実行時に、Container クラスの createComponentsFromDescriptors() メソッドは、コンテナの childDescriptors 配列の UIComponentDescriptor オブジェクト内の情報を使用して、コンテナの子である実際の UIComponent オブジェクト、およびさらに深い子孫を作成します。コンテナのプロパティ creationPolicy の値によっては、アプリケーションの起動時にコンポーネントの一部が表示されるとき、またはアプリケーションの開発者が手動で createComponentsFromDescriptors() メソッドを呼び出したときに、子孫が作成されることがあります。

通常、UIComponentDescriptor インスタンスを自分で作成することはありません。Container クラスの childDescriptors 配列を経由して、MXML コンパイラが自動生成したインスタンスにアクセスできます。

関連項目

mx.core.Container.childDescriptors
mx.core.Container.creationPolicy
mx.core.Container.createComponentsFromDescriptors()


パブリックプロパティ
 プロパティ定義
 Inheritedconstructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
 Inheriteddocument : Object
コンポーネントが作成されるドキュメントオブジェクトへの参照です。
ComponentDescriptor
  effects : Array
MXML に指定された、コンポーネントのエフェクトを含む配列です。
UIComponentDescriptor
 Inheritedevents : Object
MXML に指定された、コンポーネントのイベントハンドラの名前と値のペアを含むオブジェクトです。
ComponentDescriptor
 Inheritedid : String
MXML に指定されたコンポーネントの識別子です。
ComponentDescriptor
 Inheritedproperties : Object
MXML に指定された、コンポーネントのプロパティの名前と値のペアを含むオブジェクトです。
ComponentDescriptor
 InheritedpropertiesFactory : Function
MXML に指定された、コンポーネントのプロパティの名前と値のペアを含むオブジェクトを返す関数です。
ComponentDescriptor
 Inheritedprototype : Object
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  stylesFactory : Function
MXML に指定された、コンポーネントのインスタンススタイルの名前と値のペアを含むオブジェクトを作成する関数です。
UIComponentDescriptor
 Inheritedtype : Class
MXML に指定されたコンポーネントのクラスです。
ComponentDescriptor
パブリックメソッド
 メソッド定義
  UIComponentDescriptor(descriptorProperties:Object)
コンストラクタ。
UIComponentDescriptor
 InheritedhasOwnProperty(name:String):Boolean
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 InheritedinvalidateProperties():void
キャッシュされた properties プロパティを無効化します。
ComponentDescriptor
 InheritedisPrototypeOf(theClass:Object):Boolean
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 InheritedpropertyIsEnumerable(name:String):Boolean
指定されたプロパティが存在し、列挙可能かどうかを示します。
Object
 InheritedsetPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 InheritedtoString():String
"ComponentDescriptor_" および id プロパティの値を含むストリングを返します。
ComponentDescriptor
 InheritedvalueOf():Object
指定されたオブジェクトのプリミティブ値を返します。
Object
プロパティの詳細
effectsプロパティ
public var effects:Array

MXML に指定された、コンポーネントのエフェクトを含む配列です。

たとえば、次のようなコードを作成するとします。

<mx:TextInput showEffect="Fade" hideEffect="Fade"/>

記述子の effects プロパティは配列 [ "showEffect", "hideEffect" ] です。

コンポーネントに MXML エフェクトが指定されていない場合、effects プロパティは null になります。

このプロパティにはエフェクト属性の値は指定されていません。エフェクトはスタイルのように扱われるため、stylesFactory プロパティに含まれます。effect 配列は、stylesFactory のどのスタイルが実際にエフェクトになるのかを追跡するだけです。

Container メソッド createComponentsFromDescriptors() はこのプロパティを使用して EffectManager にエフェクトを登録します。

stylesFactoryプロパティ 
public var stylesFactory:Function

MXML に指定された、コンポーネントのインスタンススタイルの名前と値のペアを含むオブジェクトを作成する関数です。

たとえば、次のようなコードを作成するとします。

<mx:TextInput borderColor="0x888888" color="0xDDDDDD"/>

記述子の stylesFactory プロパティがこの関数です。

function():void { this.borderColor = 0x888888; this.color = 0xDDDDDD };

コンポーネントインスタンスに MXML スタイルが指定されていない場合、stylesFactory プロパティは null になります。

コンストラクタの詳細
UIComponentDescriptor()コンストラクタ
public 関数 UIComponentDescriptor(descriptorProperties:Object)

コンストラクタ。

パラメータ
descriptorProperties:Object — UIComponentDescriptor オブジェクトのプロパティ、たとえば typeidpropertiesFactoryeventsstylesFactoryeffects などの名前と値のペアを含むオブジェクトです。