Packageorg.spicefactory.parsley.lifecycle.tag
Classpublic class ObserveMethodDecorator
InheritanceObserveMethodDecorator Inheritance Object
Implements ObjectDefinitionDecorator

Represents a Metadata, MXML or XML tag that can be used on methods that should be invoked for lifecycle events of other objects.



Public Properties
 PropertyDefined By
  method : String
The name of the method.
ObserveMethodDecorator
  objectId : String
The (optional) id of the object to observe.
ObserveMethodDecorator
  phase : Phase
The object lifecycle phase to listen for.
ObserveMethodDecorator
  scope : String
The name of the scope to observe.
ObserveMethodDecorator
Public Methods
 MethodDefined By
  
Method to be invoked by the container for each configuration tag it encounters for an object that was added to the container.
ObserveMethodDecorator
Property Detail
methodproperty
public var method:String

The name of the method.

objectIdproperty 
public var objectId:String

The (optional) id of the object to observe.

phaseproperty 
public var phase:Phase

The object lifecycle phase to listen for. Default is postInit.

scopeproperty 
public var scope:String

The name of the scope to observe.

Method Detail
decorate()method
public function decorate(builder:ObjectDefinitionBuilder):void

Method to be invoked by the container for each configuration tag it encounters for an object that was added to the container. It doesn't matter whether it is a builtin configuration tag or a custom extension tag, or whether it is a metadata tag, an MXML or XML tag. As long as the tag is mapped to a class that implements this interface the container will invoke it for each tag on each object.

The builder parameter getting passed to the decorator can be used to customize the ObjectDefinition that is currently getting processed. In most custom tag implementations you will peform tasks like specifying constructor arguments, property values, message receivers, custom lifecycle processors or instantiators.

A decorator is also allowed to register additional definitions through using builder.newBuilder. Those additional definitions might describe collaborators that the processed definition will need to operate for example. If you want to register collaborators that are globally accessible (or within a certain scope) you may consider adding them to the ScopeExtensionRegistry in the GlobalFactoryRegistry instead.

Parameters

builder:ObjectDefinitionBuilder — the builder that can be used to modify the target definition