`
piaoling
  • 浏览: 263012 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

元数据解释

    博客分类:
  • flex
阅读更多

来自:

http://xltank.iteye.com/blog/916985

 

[Alternative]
【可替换】

标明此类可以被参数中的类替换,版本号说明发生替换的版本。

[Alternative]和[Deprecated] 不同。如果是【不建议使用】的类,以后的版本可能不可用。而带有【可替换】标签的类

在以后的版本中仍然可用,只是标明有别的类可以用来替换。 例如MX Button就被标记了[Alternative]。

[Alternative(replacement="packageAndClassName", since="versionNum")]
这段代码需要放在类的定义之前。




[ArrayElementType]
【数组元素类型】

要使得Flex MXML 编译器对数组元素进行类型检查,需要使用[ArrayElementType]标签来确定该数组许可的类型。

[ArrayElementType("String")]
    public var newStringProperty:Array;

注意:MXML 编译器检查MXML 代码中数组的正确使用情况,而不检查AS代码中数组的使用情况。

<MyComp:MyTypedArrayComponent>
    <MyComp:newStringProperty>
        <fx:Number>94062</fx:Number>
        <fx:Number>14850</fx:Number>
        <fx:Number>53402</fx:Number>
    </MyComp:newStringProperty>
</MyComp:MyTypedArrayComponent>
如果用户在标签中输入的是字符串,那么编译器会报语法错误。

参数可以是AS的任意数据类型,例如 String,Number,class或interface。但是必须使用全名,包括package。



[Bindable]

如果某个属性是某个数据绑定表达式的源时,Flex会在源属性变化时自动复制源属性的值到目标属性。为了让Flex进行这

种复制操作,必须使用[Bindable]元数据标签,并且源属性需要派发事件。
例1:   
[Bindable]
public var minFontSize:Number = 5;
 
例2:
[Bindable("textChanged")]
public function get text():String {
     return myText;
}
 
例3:
public function set text(t : String):void {
     myText = t;
    dispatchEvent( new Event( "textChanged" ) );}

如果你省略了事件名,Flex会自动创建"propertyChange"事件。

如果你把某个属性作为数据绑定源,那么Flex不止监视该属性的变化,还监视导向该属性的属性链的变化。
整个属性链(包含链中最终的目标属性)被称为“绑定属性链”。
<first>{firstName.text}</first>
这个例子中,属性链包含firstName和其text属性。
你应该在该属性链中的任何有名称的属性变化时派发事件。如果该属性被标记为[Bindable],Flex编译器会代你派发。

在某些情况下,绑定不会像预期的那样自动执行:
1,当改变一个dataProvider属性中的整个项时。
dataProvider[i] = newItem

2,当某个带有绑定标签的属性的子属性改变时。
[Bindable]
var temp;
// Binding is triggered:
temp = new Object();
// Binding is not triggered, because label not a bindable property
// of Object:
temp.label = foo; 
在这个例子中,绑定遇到的问题是temp是个Object。有三种方式可以解决这个问题。
a,Preinitialize the Object。 预初始化对象。
b,为temp分配一个ObjectProxy;ObjectProxy的所有属性都是可绑定的。
c,使temp成为带有label可绑定属性的强类型对象。

3,当绑定的属性是Flash Player自动刷新的属性时,例如mouseX 。

如果绑定的目标是UIComponent类,它的executeBindings()方法执行所有绑定。
所有的container和control,包括Repeater组件,都扩展了UIComponent类。它们的executeChildBindings()方法会同样的执行类型为UIComponent的子项的绑定。所有的容器都继承自Container类。
绑定没有按预期执行时,你可以使用这个方法。 当某个不会触发绑定的改变发生时,在代码中加上一句,例如executeChildBindings()这个方法,就可以更新用户界面。 然而,你应该只在绑定确实不会自动触发时,才使用executeBindings()方法。

http://www.adobe.com/devnet/flex/articles/databinding_pitfalls.html

这篇文章对绑定讲解的很细致。



[DefaultProperty]

定义组件在MXML文件中使用时的默认属性名称。


例如:
这样定义后
// Define the default property.
    [DefaultProperty("defaultText")]

    public class TextAreaDefaultProp extends TextArea {
    }
就可以这样使用
<MyComp:TextAreaDefaultProp>Hello</MyComp:TextAreaDefaultProp>





[Deprecated]
   

类或者类元素被标记为[Deprecated]标明该类或属性已被废弃并且不推荐在当前版本中使用。不过该类或类元素仍然可以

工作,但编译器会发出警告。



mxmlc命令行编译器支持show-deprecation-warnings编译选项。当为true时,如果你使用了deprecated的元素,编译器会

发出deprecation警告。默认值为true。

将[Deprecated]标签插入到属性、方法或类定义之前会将其标记为deprecated。例如:
[Deprecated("string_describing_deprecation")]
[Deprecated(message="string_describing_deprecation")]
[Deprecated(replacement="string_specifying_replacement")]
[Deprecated(replacement="string_specifying_replacement", since="version_of_replacement")]

[Event], [Effect] 和 [Style] 也支持deprecation:
[Event(... , deprecatedMessage="string_describing_deprecation")]
[Event(... , deprecatedReplacement="change2")]
[Event(... , deprecatedReplacement="string_specifying_replacement",

deprecatedSince="version_of_replacement")]


[Effect]
   
此标签定义了组件在MXML状态下的效果属性名称及触发该效果的事件,你可以通过这个属性给该组件分配一种动态效果。
动态效果总是伴随着触发它的事件。该事件可能是鼠标点击事件、获得焦点事件或可见事件。动态效果是指在一段时间发
生的可视或可听的变化。

一般在类定义之前或在<fx:Metadata>标签内定义[Effect]标签。
[Effect(name="eventNameEffect", event="eventName")]

// Define event corresponding to the effect trigger.
[Event(name="darken", type="flash.events.Event")]
// Define the effect.
[Effect(name="darkenEffect", event="darken")]
class ModalText extends TextArea {
    ...
}

<fx:Metadata>
    [Event(name="darken", type="flash.events.Event")]
    [Effect(name="darkenEffect", event="darken")]
</fx:Metadata>




[Embed]

http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7fce.html
   

Imports JPEG, GIF, PNG, SVG, and SWF files at compile time. Also imports image assets from SWC files.

This is functionally equivalent to the MXML @Embed syntax, as described in Embedding assets.




[Event]
   
用此标签定义组件在MXML状态下的事件。一般在类定义之前或在<fx:Metadata>标签内定义[Event]标签。

[Event(name="eventName", type="package.eventType")]

[Event(name="myEnableEvent", type="flash.events.Event")]
public class MyComponent extends UIComponent
{
    ...
}

  <fx:Metadata>
        [Event(name="myEnableEvent", type="flash.events.Event")]
  </fx:Metadata>


[Exclude]
   
让Flash Builder标签检查忽略该类元素。
Omits the class element from the Flash Builder tag inspector.

[Exclude(name="label", kind="property")]


[ExcludeClass]
   
让Flash Builder标签检查忽略该类。等同于ASDoc中的@private标签。
Omits the class from the Flash Builder tag inspector. This is equivalent to the @private tag in ASDoc when applied to a class.


[HostComponent]
   
用此标签确定Spark 皮肤类的宿主组件。例如:
<Metadata>
    [HostComponent("spark.components.Button")]
</Metadata>

加了这个标签,Flex会为此皮肤类创建hostComponent属性。你可以通过这个属性在皮肤类内部获取宿主组件实例的公共成员。例如,在Button 皮肤内,你可以得到Button的样式的属性。


[IconFile]
   
用此标签定义组件在Flash Builder中的Insert栏中的图标的文件名。
支持PNG, GIF, JPEG

[IconFile("MyButton.png")]
public class MyButton extends Button
{
    ...
}

 


[Inspectable]


此标签为你的组件的属性定义了编码提示信息。规则如下:
* 组件所有的public属性都会出现在编码提示和Flash Builder属性监测器中。如果你想为该属性添加额

外的信息,例如枚举值或代表一个文件路径的String属性,就为该属性添加[Inspectalbe]标签及信息。
* 组件的编码提示和属性监测器公用同样的数据。
* AS组件的编码提示并不需要metadata,因此你总是能看到符合当前作用范围的属性提示。Flash

Builder使用public/protected/private和static这些关键字来控制属性的作用范围及可显示的编码提示。
此标签后必须紧跟属性变量声明或其set和get方法:
[Inspectable(attribute=value[,attribute=value,...])]
property_declaration name:type;
[Inspectable(attribute=value[,attribute=value,...])]
setter_getter_declarations;

Property

Type

Description

category

String

将属性归纳入FB用户界面的属性监测器中的子类别中。默认类别是

"Other" . 可以归类为"Common" , "Effects" , "Events" , "Layout Constraints" , "Size" , "Styles" , "Text", or "Other" .

defaultValue

String or

Number

设置属性的初始值。默认值为属性的定义值。

enumeration

String

为属性定义一组以逗号分隔的合法值。该属性只可以取这些值。例如:item1 ,item2 ,item3 . 注意中间没有空格。这些值会出现在代码提示及属性检测器中。如果你定义了Boolean类型变量,FB会自动显示true和false,不需要你自己设置。

environment

String

environment=none :可检测属性不允许出现;environment=Flash:只有Flash Builder可用; (environment=MXML :只有Flex可用,Flash Builder也不可用。

format

String

当编辑该属性值时使用的编辑器类型。

例如,对于Number类型的属性,你可以设置format="Color"来让FB在你设置属性值时打开颜色编辑器。一般的值为"Length" , "Color" , "Time" , "EmbeddedFile""File" .

listOffset

Number

设定List值中的默认索引。

Specifies the default index into a List value.

name

String

设定属性的显示名称。例如,FontWidth。如果没设定,会使用属性名,例如_fontWidht.

type

String

指定类型的指定器。如果省略,会使用属性的类型。 下列值可取:

  • Array

  • Boolean

  • Color

  • Font Name

  • List

  • Number

  • Object

  • String

如果类型是Array,你必须列出Array的可用值。

variable

String

指定此参数绑定的变量。

verbose

Number

表明此属性只有在用户指明包含verbose(详细的)属性时才在FB用户界面中出现。如果未设定,则默认显示该属性。

例如:

 

[Inspectable(defaultValue=true, verbose=1, category="Other")] 
public var myProp:Boolean;




[InstanceType]


大概主要用于创建模板组件。

 

// Define a deferred property for the top component. 
[InstanceType("mx.controls.Label")] 
public var topRow:IDeferredInstance;



[NonCommittingChangeEvent]


此标签定义了一种折中事件,这种事件不会引起Flex数据验证。通常用于经常变化但又不需要每次都进行数据验证的属性。
例如,你给一个TextInput组件的text属性绑定了某个验证器。text属性会在每次键盘输入事件时改变,但你只是希望在用户按下Enter键或移除焦点时进行数据验证。此类型事件可以使你分派改变事件但不出发验证。
[NonCommittingChangeEvent("event_name")]

下例中,组件在每次用户键盘输入时都分派change事件,但这个change事件并没有引发数据绑定或数据验证。当用户完成数据输入并点击Enter键时,组件广播valueCommit事件来出发数据绑定和数据验证。
[Event(name="change", type="flash.events.Event")]
class MyText extends UIComponent {
    ...
 
    [Bindable(event="valueCommit")]
    [NonCommittingChangeEvent("change")]
    function get text():String {
        return getText();
    }
    function set text(t):void {
        setText(t);
        // Dispatch events. 
    }
}

[RemoteClass]

用此标签将类注册到Flex,Flex会在用AMF格式序列化类实例时保留类型信息。需要在类定义之前插入此

标签。

还可以在客户端程序中用此标签代表某个服务端Java对象:
[RemoteClass(alias=" ")]
这样可以创建直接映射到Java对象的AS对象。需要在alias值中赋予Java类的全名。

 

 

[RichTextContent]
   
如果一个属性是String类型,编译器会自动试着把其MXML中的值转为String类型。如果属性类型是*、

Object或Array,编译器在默认情况下会试图将其转换为适当的数据类型。使用此标签可以让编译器始终

将该属性MXML中的值转为String。需要在属性定义前插入此标签。
[RichTextContent]

例如,spark.components.TextArea 和 spark.primitives.RichText类的content属性被作为Object输入

。但如果使用了此标签,那些值就会始终被作为String类型。
数据绑定语法中的花括号{},at符号@都对此标签有效。

 


[SkinPart]
   
不解。。。
Define a property of a component that corresponds to a skin part. For more information, see SkinPart

metadata tag.

[SkinState]
   
定义皮肤中的状态。
Defines the view states that a component’s skin must support. For more information, see SkinState metadata

tag.

[Style]
   
定义样式。

插入到类定义前或MXML中的<fx:Metadata>中。
Defines the MXML property for a style property for the component. For more information on using the [Style]

metadata tag, see Style metadata tag.

[SWF]
   
在AS中定义main application的属性。在MXML中一般在<s:Application>标签中定义。
Specifies attributes of the application when you write the main application file in ActionScript. For more

information, see SWF metadata tag.

[Transient]
   
不解...
Identifies a property that should be omitted from data that is sent to the server when an ActionScript

object is mapped to a Java object using [RemoteClass]. For more information, see Transient metadata tag.

分享到:
评论

相关推荐

    元数据管理最佳实践.doc

    最后,语义型元数据解释了对象的上下文和关系,帮助理解数据的意义和用途。 实施元数据管理的最佳实践包括以下几个关键步骤: 1. 建立元数据管理团队:这是实施元数据管理的第一步,团队负责制定策略、选择工具,...

    数据元、元数据、主数据、主数据管理、元数据管理、资源目录解释.pptx

    数据元、元数据、主数据、元数据管理、主数据管理、数据服务资源目录意义及用途

    eBay数据仓库实践:元数据管理及应用.zip

    业务元数据解释数据的业务含义,如指标定义、数据源关系等;操作元数据跟踪数据的生命周期,包括创建、修改和删除的时间戳。 2. **元数据存储**:元数据管理系统通常包含一个中央元数据仓库,用于收集、存储和管理...

    元数据管理在数据仓库的实践应用.pdf

    元数据,即描述数据的数据,包括业务元数据、技术元数据和管理元数据,它们共同确保数据仓库的有效运行和理解。 1. 业务元数据: 业务元数据关注数据的业务含义,例如主题定义、业务描述、标准指标和标准维度。它...

    数据元和元数据(数据中心建设概念解释)

    数据元和元数据对比ppt。并提供数据操作和管理,提供资源管理目录

    数据中台,元数据规范(2022)(16页).pdf

    缩略语:元数据规范中可能包含各种缩写词,如ICS(International Electrotechnical Commission)、CCS(Classification and Coding System)等,这些缩略语有助于提高文档的简洁性,同时也需要给出清晰的全称解释。...

    关于元数据、资源目录、主数据、数据元、元数据管理、主数据管理解释.ppt

    元数据、资源目录、主数据、数据元、元数据管理、主数据管理解释 元数据(Metadata)是描述数据的数据或关于数据的结构化数据。它是帮助查找、存取、使用和管理信息资源的信息。元数据包括数据的内容(what)、覆盖...

    数据仓库和元数据管理

    数据仓库与元数据管理是现代企业信息技术架构中不可或缺的组成部分,它们对企业的数据驱动型决策提供重要的支持和解释。随着信息技术的发展和企业数据量的增长,数据仓库和元数据管理的重要性日益凸显。 数据仓库是...

    数据治理怎么做?这篇万字长文终于讲清楚了!.docx

    业务元数据解释业务相关的数据含义,技术元数据描述数据的技术特性,而操作元数据则涉及元数据管理的流程和操作记录。元数据管理有助于理解和控制数据的全生命周期。 3. **数据模型**:数据模型是数据结构、操作和...

    informatica 元数据管理手册.rar

    手册会解释如何通过Informatica的工具来管理各种类型的元数据,包括业务元数据、技术元数据和操作元数据。 3. **PowerCenter**:作为Informatica的主要数据集成工具,PowerCenter能帮助用户设计、构建和部署数据...

    国外元数据标准比较研究报告

    **元数据标准**:报告解释了元数据标准为描述特定类型资料的一套规则集合,包括语义层面上的著录规则和语法层面上的规定。语法层面的规定涉及元语言的选择、文档类型的定义、元数据格式及其描述方法等内容。 **元...

    元数据结构与数据元标准化.pdf

    元数据(metadata)则是定义和解释其他数据的数据,用于提供理解和精确解释数据元所需要的信息,它是数据元标准的载体。 文章提出了卫生信息领域主要元数据的类型,包含了数据元、对象类、特性、数据元概念、表示、...

    Informatica元数据分析

    根据提供的文档内容,我们可以归纳出关于Informatica元数据分析的关键知识点,主要聚焦于Informatica Repository的配置与管理。以下是对这些知识点的详细解析: ### Informatica元数据分析 #### 1. Informatica ...

    主数据管理(MDM)与元数据管理

    主数据管理旨在确保企业关键业务实体(如客户、产品、供应商等)的一致性和准确性,而元数据管理则关注数据的“关于数据的数据”,提供对数据资产的描述、解释和定位。 MDM的核心目标是消除数据冗余,提高数据质量...

    关于元数据的十万个为什么

    数据是信息的载体,而元数据是对这些信息的描述和解释。例如,在数字图书馆中,图书的内容是数据,而书籍的标题、作者、出版日期、ISBN号等信息则构成了元数据,这些信息帮助读者了解图书内容并进行检索。 ### 元...

    普元元数据管理系统V5.0操作手册.pdf.zip

    元数据,顾名思义,是关于数据的数据,它提供了对数据资产的理解和解释。在普元元数据管理系统V5.0中,你可以发现以下几个关键知识点: 1. **元数据采集**:系统支持自动和手动两种方式收集元数据。自动采集通常...

    省级BI规范-元数据管理规范.docx

    - 解释了如何通过版本控制来管理元数据的变化。 - **7.2.7 中央元数据管理平台特殊要求** - 指出中央元数据管理平台的额外要求。 **7.3 经营分析系统元数据管理系统应用举例** - **7.3.1 数据时效性探察** - ...

    关于元数据、资源目录、主数据、数据元、元数据管理、主数据管理解释ppt课件.pptx

    关于元数据、资源目录、主数据、数据元、元数据管理、主数据管理解释ppt课件

    元数据参考资料(metadata)

    在软件工程领域,元数据则被视为控制程序行为的数据,它不作为程序处理的对象,但通过其值的改变影响程序的行为,起到解释性控制的作用。而在图书馆与信息科学中,元数据是对信息资源的一种结构化描述,它描述资源的...

Global site tag (gtag.js) - Google Analytics