final class InstanceCreatorImpl<T> extends java.lang.Object implements InstanceCreator<T>
Modifier and Type | Field and Description |
---|---|
private java.util.Map<PropertyModel<?>,java.lang.Object> |
cachedValues |
private CreatorExecutable<T> |
creatorExecutable |
private T |
newInstance |
private java.lang.Object[] |
params |
private java.util.Map<java.lang.String,java.lang.Integer> |
properties |
Constructor and Description |
---|
InstanceCreatorImpl(CreatorExecutable<T> creatorExecutable) |
Modifier and Type | Method and Description |
---|---|
private void |
constructInstanceAndProcessCachedValues() |
T |
getInstance()
Returns the new instance of the class.
|
<S> void |
set(S value,
PropertyModel<S> propertyModel)
Sets a value for the given PropertyModel
|
private <S> void |
setPropertyValue(PropertyModel<S> propertyModel,
java.lang.Object value) |
private final CreatorExecutable<T> creatorExecutable
private final java.util.Map<PropertyModel<?>,java.lang.Object> cachedValues
private final java.util.Map<java.lang.String,java.lang.Integer> properties
private final java.lang.Object[] params
private T newInstance
InstanceCreatorImpl(CreatorExecutable<T> creatorExecutable)
public <S> void set(S value, PropertyModel<S> propertyModel)
InstanceCreator
set
in interface InstanceCreator<T>
S
- the PropertyModel's typevalue
- the new value for the propertypropertyModel
- the PropertyModel representing the property to set the value for.public T getInstance()
InstanceCreator
Note: This will be called after all the values have been set.
getInstance
in interface InstanceCreator<T>
private void constructInstanceAndProcessCachedValues()
private <S> void setPropertyValue(PropertyModel<S> propertyModel, java.lang.Object value)