Package | org.spicefactory.parsley.inject.tag |
Class | public class InjectPropertyDecorator |
Inheritance | InjectPropertyDecorator Object |
Implements | ObjectDefinitionDecorator |
Property | Defined By | ||
---|---|---|---|
id : String
The id of the dependency to inject. | InjectPropertyDecorator | ||
property : String
The name of the property. | InjectPropertyDecorator | ||
required : Boolean = true
Indicates whether the dependency is required or optional. | InjectPropertyDecorator | ||
type : Class
The type to inject, only applicable for Array properties. | InjectPropertyDecorator |
Method | Defined By | ||
---|---|---|---|
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. | InjectPropertyDecorator |
id | property |
public var id:String
The id of the dependency to inject. If this property is null, dependency injection by type will be performed.
property | property |
public var property:String
The name of the property.
required | property |
public var required:Boolean = true
Indicates whether the dependency is required or optional.
type | property |
public var type:Class
The type to inject, only applicable for Array properties. In this case all objects with a matching type will be included.
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
|