java.lang.Object
org.refcodes.factory.ClassTypeFactory<T>
- Type Parameters:
T
- The type of the instances being served by the factory.
- All Implemented Interfaces:
TypeFactory<T>
,org.refcodes.mixin.TypeAccessor<T>
The
ClassTypeFactory
produces instances of the given Class
by
invoking the empty constructor. Make sure your provided Class
has an
empty constructor.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.refcodes.mixin.TypeAccessor
org.refcodes.mixin.TypeAccessor.TypeBuilder<T extends Object,
B extends org.refcodes.mixin.TypeAccessor.TypeBuilder<T, B>>, org.refcodes.mixin.TypeAccessor.TypeMutator<T extends Object>, org.refcodes.mixin.TypeAccessor.TypeProperty<T extends Object> -
Constructor Summary
ConstructorDescriptionClassTypeFactory
(Class<T> aClass) Constructs aClassTypeFactory
for the givenClass
. -
Method Summary
Modifier and TypeMethodDescriptionThis method creates / retrieves an instance of the given type with the given identifier (name) constructed as defined in one to many configuration files.getType()
This method retrieves the type which the implementing factory produces.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.refcodes.factory.TypeFactory
createInstance
-
Constructor Details
-
ClassTypeFactory
Constructs aClassTypeFactory
for the givenClass
.- Parameters:
aClass
- TheClass
for which to produce instances.
-
-
Method Details
-
createInstance
This method creates / retrieves an instance of the given type with the given identifier (name) constructed as defined in one to many configuration files. How the instance is configured, created or retrieved is up to the nature (implementation) of the according factory.- Specified by:
createInstance
in interfaceTypeFactory<T>
- Returns:
- The instance being fabricated by this factory.
-
getType
This method retrieves the type which the implementing factory produces. In favor to clean instance creation, shortcomings of java's type system are compensated by callingTypeFactory.createInstance()
'sObject.getClass()
(as we cannot get a generic type's class if not explicitly passed to an instance e.g. through it's constructor). Attention: To avoid unnecessary calls to potentially expensiveTypeFactory.createInstance()
methods, please overwrite this method.- Specified by:
getType
in interfaceorg.refcodes.mixin.TypeAccessor<T>
- Specified by:
getType
in interfaceTypeFactory<T>
- Returns:
- The type of the instances this factory produces.
-