Default configuration of aliasing policy
Default implementation of storage policy used by adders.
Implementation of configurator policy, with built in configurators
Customizable implementation of container adder, with built in functionality
Implementation of factory policy, with built in factory creators
Implementation of field scanning configurator policy, with built in field configurators.
Default implementation of identity resolving policy
Implementation of method scanning configurator policy, with built in method configurators.
Implementation of module container adder, featuring built in scanners
Implementation of object wrapping factory wrapping TypeTransformerImpl
Default policy implementation for searching of storage for component
Implementation of type to type factory transformer, with built in funcionality
A small utility function that will resolve method arguments using a locator and look also for annotations on arguments.
Default implementation of scan family of functions featuring all scanning features provided by library.
Template for defining scanning functions instantiated with particular container adder policy.
Set allocator used by factory to instantiate component T.
Method policy that scans constructors for @autowired annotation to use them to construct component with dependencies identified by qualifier, name or their type.
Field configurator policy that will try to inject a dependency that matches fields type for fields that are annotated with @autowired annotation
Method configurator policy that will call method annotated with @autowire with arguments extracted from locator identified by qualifier, name or their type.
A policy that configures factory to use callback to destroy created components.
Set callback instance factory from @callbac annotation into GenericFactory!Z
Field configurator policy that will set a field to value returned by a callback in @callback annotation
Method configurator policy that will call callback from @callback annotated methods.
Chaining implementation of aliasing policy, calling other passed policies.
A implementation that will chain several storing policies, triggerring multiple registrations of same component.
Chain a set of configurator policies.
ContainerAdder that chains a set of ContainerAdders on a symbol.
A policy for resolving identity of component by applying other components in chain.
A implementation storage locator policy that will apply other policies in chain until one provides a storage for storing data.
A default implementation of component storing policy that looks for @qualifier and @contained annotations to store component factory.
Result of storing a component into a storage.
A dummy structure that is providing a simple field for isFieldConfiguratorPolicy interface for testing purposes of configurator templates.
A dummy structure that is providing a simple method for isMethodConfiguratorPolicy interface for testing purposes of configurator templates.
Method configurator policy that scans only constructors for @constructor annotation, for using them to instantiate component Z
A implementation storage locator policy that searches for storage of component based on @contained annotation
A implementation storage locator policy that will return default storage for component which is passed as argument to search.
ContainerAdder that will scan a type for it's methods, and use them to create component factories out of their return type
A factory policy that applies in order a set of factory policies to create component factory.
Configurator policy that applies field configurator policies on all public methods of a component
A policy that uses annotations that implement isConfigurerPolicy interface to configure the component factory
A factory policy that uses annotations implementing factory policy interface on component to instantiate the component.
Create a GenericFactory!T if T is annotated with @component annotation.
By identifier implementation of aliasing policy.
A policy for resolving identity of component by it's identifier.
ContainerAdder that will ignore specific packages.
ContainerAdder that scans a type for inner static types, to transform and store into a storage.
Configurator policy that applies method configurator policies on all public methods of a component
ContainerAdder that will scan a module for it's members, to transform into component factories and add them into a storage
Transformer that wraps results of another transformer in WrappingFactory
Qualifier implementation of aliasing policy.
A policy for resolving identity of component by annotation.
Field configurator policy that will set a field annotated @setter annotation to value contained in it.
Method configurator policy that will call a method with resolved arguments from @setter annotation.
By type implementation of aliasing policy.
Applies a transformer on passed symbol if it is a type.
A policy for resolving identity of component by it's type.
A transformer that creates out of a type a GenericFactory for passed type
Set value factory that takes component from @value annotation and provides it as a new component.
Check if T implements identity aliasing interface.
Check if T implements component storing interface.
Check if a type T is a configurator policy.
Check if T implements ContainerAdder interface.
Check if a type T is a factory policy.
Check if T is a field configurator policy that operates upon fields of a component.
Check if T implements identity resolver interface.
Check if T is a field configurator policy that operates upon methods of a component.
Check if T implements storage resolver interface.
Check if a policy implements transformer interface.
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.
Provides annotation based configuration and registration for components.