aermicioi.aedi.configurer.annotation.annotation

This module implements annotation based configuration of containers.

Members

Aliases

autowired
alias autowired = AutowiredAnnotation

Annotation used to mark constructor or method for auto wiring.

component
alias component = ComponentAnnotation

Annotation used to denote an aggregate that should be stored into an container.

Functions

anonymous (from aermicioi.aedi.factory.reference)
auto anonymous(ObjectFactory factory) via public import aermicioi.aedi.factory.reference : lref, anonymous;

Represents a reference to data yet to be constructed.

callback
auto callback(void delegate(Locator!(), ref T, Args) dg, Args args)
auto callback(void function(Locator!(), ref T, Args) dg, Args args)
auto callback(void delegate(Locator!(), T, Args) dg, Args args)
auto callback(void function(Locator!(), T, Args) dg, Args args)

Annotation that specifies a delegate to be used to configure aggregate somehow.

constructor
auto constructor(Args args)

Annotation used to mark a constructor to be used for aggregate instantiation.

contained
auto contained(string id)

When objects are registered into an aggregate container, this annotation marks in which sub-container it is required to store.

fact
auto fact(T delegate(Locator!(), Args) dg, Args args)
auto fact(T function(Locator!(), Args) dg, Args args)

Annotation that specifies a delegate to be used to instantiate aggregate.

lref (from aermicioi.aedi.factory.reference)
auto lref() via public import aermicioi.aedi.factory.reference : lref, anonymous;

Represents a reference that is located in locator.

qualifier
auto qualifier()

An annotation used to provide custom identity for an object in container by some interface.

qualifier
auto qualifier(string id)

An annotation used to provide custom identity for an object in container.

setter
auto setter(Args args)

Annotation used to mark a member to be called or set (in case of fields), with args passed to setter.

Structs

AutowiredAnnotation
struct AutowiredAnnotation

Annotation used to mark constructor or method for auto wiring.

CallbackConfigurerAnnotation
struct CallbackConfigurerAnnotation(Z, Dg, Args...)

Annotation that specifies a delegate to be used to configure aggregate somehow.

CallbackFactoryAnnotation
struct CallbackFactoryAnnotation(Z, Dg, Args...)

Annotation that specifies a delegate to be used to instantiate aggregate.

ComponentAnnotation
struct ComponentAnnotation

Annotation used to denote an aggregate that should be stored into an container.

ConstructorAnnotation
struct ConstructorAnnotation(Args...)

Annotation used to mark a constructor to be used for aggregate instantiation.

ContainedAnnotation
struct ContainedAnnotation

When objects are registered into an aggregate container, this annotation marks in which sub-container it is required to store.

QualifierAnnotation
struct QualifierAnnotation

An annotation used to provide custom identity for an object in container.

SetterAnnotation
struct SetterAnnotation(Args...)

Annotation used to mark a member to be called or set (in case of fields), with args passed to setter.

Meta

License

Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following:

The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Authors

Alexandru Ermicioi