Home > Archives > 2008-11-04
2008-11-04
ObjectUtil.getClassInfo - Flex
- 2008-11-04 (Tue)
- tech/study
ActionScriptでクラスの情報を得るには、flash.utils.describeTypeメソッドを使いますが、Flexの場合だと、mx.utils.ObjectUtilのgetClassInfoメソッドでも簡易情報を取得できます。
前回のヒルベルト曲線のクラスをdescribeTypeとObjectUtil.getClassInfoの2つのメソッドでクラス情報を取得してみると、
・describeType()
<type name="Hilbert" base="flash.display::Shape" isDynamic="false" isFinal="false" isStatic="false">
<extendsClass type="flash.display::Shape"/>
<extendsClass type="flash.display::DisplayObject"/>
<extendsClass type="flash.events::EventDispatcher"/>
<extendsClass type="Object"/>
<implementsInterface type="flash.display::IBitmapDrawable"/>
<implementsInterface type="flash.events::IEventDispatcher"/>
<constructor>
<parameter index="1" type="int" optional="false"/>
<parameter index="2" type="uint" optional="false"/>
</constructor>
<variable name="data" type="__AS3__.vec::Vector.<Number>"/>
<accessor name="graphics" access="readonly" type="flash.display::Graphics" declaredBy="flash.display::Shape"/>
<accessor name="scaleZ" access="readwrite" type="Number" declaredBy="flash.display::DisplayObject"/>
<accessor name="accessibilityProperties" access="readwrite" type="flash.accessibility::AccessibilityProperties" declaredBy="flash.display::DisplayObject"/>
<accessor name="scrollRect" access="readwrite" type="flash.geom::Rectangle" declaredBy="flash.display::DisplayObject"/>
<accessor name="rotationZ" access="readwrite" type="Number" declaredBy="flash.display::DisplayObject"/>
<accessor name="height" access="readwrite" type="Number" declaredBy="flash.display::DisplayObject"/>
<method name="getBounds" declaredBy="flash.display::DisplayObject" returnType="flash.geom::Rectangle">
<parameter index="1" type="flash.display::DisplayObject" optional="false"/>
</method>
<accessor name="blendShader" access="writeonly" type="flash.display::Shader" declaredBy="flash.display::DisplayObject"/>
<accessor name="opaqueBackground" access="readwrite" type="Object" declaredBy="flash.display::DisplayObject"/>
<accessor name="alpha" access="readwrite" type="Number" declaredBy="flash.display::DisplayObject"/>
<accessor name="cacheAsBitmap" access="readwrite" type="Boolean" declaredBy="flash.display::DisplayObject"/>
<method name="local3DToGlobal" declaredBy="flash.display::DisplayObject" returnType="flash.geom::Point">
<parameter index="1" type="flash.geom::Vector3D" optional="false"/>
</method>
<accessor name="x" access="readwrite" type="Number" declaredBy="flash.display::DisplayObject"/>
<accessor name="visible" access="readwrite" type="Boolean" declaredBy="flash.display::DisplayObject"/>
<accessor name="y" access="readwrite" type="Number" declaredBy="flash.display::DisplayObject"/>
<accessor name="scaleX" access="readwrite" type="Number" declaredBy="flash.display::DisplayObject"/>
<method name="globalToLocal3D" declaredBy="flash.display::DisplayObject" returnType="flash.geom::Vector3D">
<parameter index="1" type="flash.geom::Point" optional="false"/>
</method>
<accessor name="mouseX" access="readonly" type="Number" declaredBy="flash.display::DisplayObject"/>
<method name="hitTestPoint" declaredBy="flash.display::DisplayObject" returnType="Boolean">
<parameter index="1" type="Number" optional="false"/>
<parameter index="2" type="Number" optional="false"/>
<parameter index="3" type="Boolean" optional="true"/>
</method>
<accessor name="scaleY" access="readwrite" type="Number" declaredBy="flash.display::DisplayObject"/>
<accessor name="z" access="readwrite" type="Number" declaredBy="flash.display::DisplayObject"/>
<accessor name="mouseY" access="readonly" type="Number" declaredBy="flash.display::DisplayObject"/>
<accessor name="parent" access="readonly" type="flash.display::DisplayObjectContainer" declaredBy="flash.display::DisplayObject"/>
<accessor name="mask" access="readwrite" type="flash.display::DisplayObject" declaredBy="flash.display::DisplayObject"/>
<method name="getRect" declaredBy="flash.display::DisplayObject" returnType="flash.geom::Rectangle">
<parameter index="1" type="flash.display::DisplayObject" optional="false"/>
</method>
<accessor name="rotation" access="readwrite" type="Number" declaredBy="flash.display::DisplayObject"/>
<accessor name="width" access="readwrite" type="Number" declaredBy="flash.display::DisplayObject"/>
<method name="localToGlobal" declaredBy="flash.display::DisplayObject" returnType="flash.geom::Point">
<parameter index="1" type="flash.geom::Point" optional="false"/>
</method>
<method name="globalToLocal" declaredBy="flash.display::DisplayObject" returnType="flash.geom::Point">
<parameter index="1" type="flash.geom::Point" optional="false"/>
</method>
<accessor name="transform" access="readwrite" type="flash.geom::Transform" declaredBy="flash.display::DisplayObject"/>
<accessor name="blendMode" access="readwrite" type="String" declaredBy="flash.display::DisplayObject"/>
<accessor name="root" access="readonly" type="flash.display::DisplayObject" declaredBy="flash.display::DisplayObject"/>
<accessor name="name" access="readwrite" type="String" declaredBy="flash.display::DisplayObject"/>
<accessor name="loaderInfo" access="readonly" type="flash.display::LoaderInfo" declaredBy="flash.display::DisplayObject"/>
<accessor name="scale9Grid" access="readwrite" type="flash.geom::Rectangle" declaredBy="flash.display::DisplayObject"/>
<accessor name="filters" access="readwrite" type="Array" declaredBy="flash.display::DisplayObject"/>
<accessor name="rotationX" access="readwrite" type="Number" declaredBy="flash.display::DisplayObject"/>
<method name="hitTestObject" declaredBy="flash.display::DisplayObject" returnType="Boolean">
<parameter index="1" type="flash.display::DisplayObject" optional="false"/>
</method>
<accessor name="stage" access="readonly" type="flash.display::Stage" declaredBy="flash.display::DisplayObject"/>
<accessor name="rotationY" access="readwrite" type="Number" declaredBy="flash.display::DisplayObject"/>
<method name="toString" declaredBy="flash.events::EventDispatcher" returnType="String"/>
<method name="addEventListener" declaredBy="flash.events::EventDispatcher" returnType="void">
<parameter index="1" type="String" optional="false"/>
<parameter index="2" type="Function" optional="false"/>
<parameter index="3" type="Boolean" optional="true"/>
<parameter index="4" type="int" optional="true"/>
<parameter index="5" type="Boolean" optional="true"/>
</method>
<method name="hasEventListener" declaredBy="flash.events::EventDispatcher" returnType="Boolean">
<parameter index="1" type="String" optional="false"/>
</method>
<method name="dispatchEvent" declaredBy="flash.events::EventDispatcher" returnType="Boolean">
<parameter index="1" type="flash.events::Event" optional="false"/>
</method>
<method name="removeEventListener" declaredBy="flash.events::EventDispatcher" returnType="void">
<parameter index="1" type="String" optional="false"/>
<parameter index="2" type="Function" optional="false"/>
<parameter index="3" type="Boolean" optional="true"/>
</method>
<method name="willTrigger" declaredBy="flash.events::EventDispatcher" returnType="Boolean">
<parameter index="1" type="String" optional="false"/>
</method>
</type>
・ObjectUtil.getClassInfo()
(Object)#0
alias = ""
dynamic = false
metadata = (null)
name = "Hilbert"
properties = (Array)#1
[0] (QName)#2
localName = "accessibilityProperties"
uri = ""
[1] (QName)#3
localName = "alpha"
uri = ""
[2] (QName)#4
localName = "blendMode"
uri = ""
[3] (QName)#5
localName = "cacheAsBitmap"
uri = ""
[4] (QName)#6
localName = "filters"
uri = ""
[5] (QName)#7
localName = "graphics"
uri = ""
[6] (QName)#8
localName = "height"
uri = ""
[7] (QName)#9
localName = "loaderInfo"
uri = ""
[8] (QName)#10
localName = "mask"
uri = ""
[9] (QName)#11
localName = "mouseX"
uri = ""
[10] (QName)#12
localName = "mouseY"
uri = ""
[11] (QName)#13
localName = "name"
uri = ""
[12] (QName)#14
localName = "opaqueBackground"
uri = ""
[13] (QName)#15
localName = "parent"
uri = ""
[14] (QName)#16
localName = "root"
uri = ""
[15] (QName)#17
localName = "rotation"
uri = ""
[16] (QName)#18
localName = "rotationX"
uri = ""
[17] (QName)#19
localName = "rotationY"
uri = ""
[18] (QName)#20
localName = "rotationZ"
uri = ""
[19] (QName)#21
localName = "scale9Grid"
uri = ""
[20] (QName)#22
localName = "scaleX"
uri = ""
[21] (QName)#23
localName = "scaleY"
uri = ""
[22] (QName)#24
localName = "scaleZ"
uri = ""
[23] (QName)#25
localName = "scrollRect"
uri = ""
[24] (QName)#26
localName = "stage"
uri = ""
[25] (QName)#27
localName = "transform"
uri = ""
[26] (QName)#28
localName = "visible"
uri = ""
[27] (QName)#29
localName = "width"
uri = ""
[28] (QName)#30
localName = "x"
uri = ""
[29] (QName)#31
localName = "y"
uri = ""
[30] (QName)#32
localName = "z"
uri = ""
どうやらgetClassInfo()ではパブリックプロパティのQNameが返ってくるようです。
AS3.0の場合だとE4Xがあるので、describeType()の方がまだ使えますね。
getClassInfo()の方はどういうときに便利に利用できるのか思いつきません。。
- Comments : 0
- Trackbacks : 0
Home > Archives > 2008-11-04
- Meta

