java.lang.Object
org.refcodes.factory.PrototypeFactory<T>
- All Implemented Interfaces:
Serializable
,Factory<T>
,TypeFactory<T>
,org.refcodes.mixin.TypeAccessor<T>
The
PrototypeFactory
creates instances of a specific type from a
prototype instance. Your type must implement either the Serializable
or the Cloneable
interface. Use Cloneable
for a shallow copy
by default, and Serializable
for a deep copy by default.- See Also:
-
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
ConstructorDescriptionPrototypeFactory
(T aPrototype) Constructs the factory with the according type. -
Method Summary
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
create
-
Constructor Details
-
PrototypeFactory
Constructs the factory with the according type. Your type must implement either theSerializable
or theCloneable
interface. UseCloneable
for a shallow copy by default, andSerializable
for a deep copy by default.- Parameters:
aPrototype
- The prototype to be used as prototype by this factory.
-
-
Method Details
-
create
This method creates / retrieves an instance of the given type. -
getType
Description copied from interface:TypeFactory
This method retrieves the type which the implementing factory produces. Attention: As of shortcomings of java'stype system, by default theObject.getClass()
of theFactory.create()
result is returned (as we cannot get a generic type's class if not explicitly passed to an instance e.g. through it's constructor). To avoid unnecessary calls to potentially expensiveFactory.create()
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.
-