Module aermicioi.aedi.factory.generic_factory

Functions

NameDescription
callbackConfigurer(dg, args) Configures/modifies component of type T with help of a delegate or function.
callbackFactory(dg, args) Instantiates component of type T using a delegate or function.
callbackInstanceDestructor(dg, args) Instance destructor that uses a callback to destroy and deallocate components of type T.
constructorBasedFactory(args) Instantiates component using it's constructor with args.
factoryMethodBasedFactory(args) Instantiates a component using a method from other component (factory method pattern).
factoryMethodInstanceDestructor(destructor, arguments) Create an instance destructor that uses third party component's method to do destruction of a component.
fieldConfigurer(arg) Sets component's field to a value.
genericFactory(locator) A concrete implementation of GenericFactory interface.
isArgumentListCompatible() An check if the argument list passed to ConstructorBasedFactory or MethodConfigurer is compatible with signature of underlying method or constructor.
methodConfigurer(args) Calls component's method with a set of arguments.
compileArgumentsTuple(types, array, locator)

Interfaces

NameDescription
DefferredExecutioner Interface for objects that are executing delayed/defferred actions.
DefferredExecutionerAware Interface for objects that are aware of deffered executioner, and are able to store their defferred actions in it for later execution, by themselves or other third party.
GenericFactory A generic factory, is a factory that instantiates component of type T using InstanceFactory and a list of PropertyConfigurers.
InstanceDestructor An interface for components that can destruct components of type T and deallocate them using provided allocator.
InstanceDestructorAware Interface for objects that are aware of an instance factory and can use it to instantiate a component.
InstanceFactory An instance factory, instantiates component of type T.
InstanceFactoryAware Interface for objects that are aware of an instance factory and can use it to instantiate a component.
PropertyConfigurer A property configurer, has the purpose to modify component of type T according to some logic encapsulated in it.
PropertyConfigurersAware Interface for objects that are aware of a set of property configurers and can use them to configure some component.

Classes

NameDescription
CallbackConfigurer Configures/modifies component of type T with help of a delegate or function.
CallbackFactory Instantiates component of type T using a delegate or function.
CallbackInstaceDestructor Instance destructor that uses a callback to destroy and deallocate components of type T.
ConstructorBasedFactory Instantiates component using it's constructor with args.
DefaultFailingInstanceFactory An instance constructor aimed to throw exception.
DefaultInstanceDestructor Default implementation of destructor that calls dispose upon classes only.
DefaultInstanceFactory Instantiates a component using it's constructor with no arguments.
DefferredExecutionerImpl Standard implementation of DefferredExecutioner interface.
DelegatingInstanceFactory InstanceFactory that delegates the task of instantiating a component to some third party factory.
FactoryMethodInstanceDestructor Instance destructor using an third party component to do destruction of components.
FieldConfigurer Sets component's field to a value.
GenericFactoryImpl A concrete implementation of GenericFactory interface.
MethodConfigurer Calls component's method with a set of arguments.
ValueInstanceFactory Instantiates a component using a value as basis.

Templates

NameDescription
assertFieldCompatible
assertObjectConstructorCompatible
assertObjectMethodCompatible
FactoryMethodInstanceFactory Instantiates a component using a method from other component (factory method pattern).
ParameterHolder ParameterHolder Stores a set of Args for futher usage in it's subclasses.

Manifest constants

NameTypeDescription
isFieldCompatible
isMethodCompatible
isObjectConstructorCompatible
isObjectMethodCompatible
isStruct
isValueOfType
isValueOfType

Aliases

NameTypeDescription
FactoryMethodBasedFactory FactoryMethodBasedFactory.FirstTemplate!W Instantiates a component using a method from other component (factory method pattern).
getCompatibleOverload Filter!(partialSuffixed!(isArgumentListCompatible,Args),getOverloads!(T,method))[0]
isNonStaticMethodCompatible
isNonStaticMethodCompatibleAndReturnTypeOf templateAnd!(isMethodCompatible,chain!(templateNot!isStaticFunction,getCompatibleOverload),partialSuffixed!(chain!(partialPrefixed!(get,0),getCompatibleOverload),X))
isStaticMethodCompatible
hasDefaultCtor