public class ProxyBuilder<T> extends java.util.AbstractMap<java.lang.String,java.lang.Object> implements Builder<T>
| Modifier and Type | Class and Description |
|---|---|
private static class |
ProxyBuilder.AnnotationValue |
private static class |
ProxyBuilder.ArrayListWrapper<T> |
private static class |
ProxyBuilder.Getter |
private static class |
ProxyBuilder.Property |
private static class |
ProxyBuilder.Setter |
| Modifier and Type | Field and Description |
|---|---|
private java.util.Comparator<java.lang.reflect.Constructor> |
constructorComparator |
private java.util.Set<java.lang.reflect.Constructor> |
constructors |
private java.util.Map<java.lang.reflect.Constructor,java.util.Map<java.lang.String,ProxyBuilder.AnnotationValue>> |
constructorsMap |
private java.util.Map<java.lang.String,java.lang.Object> |
containers |
private java.lang.reflect.Constructor |
defaultConstructor |
private static java.util.Map<java.lang.Class<?>,java.lang.Object> |
defaultsMap |
private static java.lang.String |
GETTER_PREFIX |
private boolean |
hasDefaultConstructor |
private java.util.Map<java.lang.String,ProxyBuilder.Property> |
propertiesMap |
private java.util.Set<java.lang.String> |
propertyNames |
private static java.lang.String |
SETTER_PREFIX |
private java.lang.Class<?> |
type |
private java.util.Map<java.lang.String,java.lang.Object> |
userValues |
| Constructor and Description |
|---|
ProxyBuilder(java.lang.Class<?> tp) |
| Modifier and Type | Method and Description |
|---|---|
T |
build()
Builds and returns the object.
|
private java.util.Set<java.lang.reflect.Constructor> |
chooseBestConstructors(java.util.Set<java.lang.String> settersArgs) |
boolean |
containsKey(java.lang.Object key) |
boolean |
containsValue(java.lang.Object value) |
private static java.lang.Object[] |
convertListToArray(java.lang.Object userValue,
java.lang.Class<?> localType) |
private java.lang.Object |
createInstance(java.lang.reflect.Constructor c,
java.lang.Object[] args) |
private java.lang.Object |
createObjectFromConstructor(java.lang.reflect.Constructor constructor,
java.util.Set<java.lang.String> propertiesToSet) |
private java.lang.Object |
createObjectFromDefaultConstructor() |
private java.lang.Object |
createObjectWithExactArguments(java.lang.reflect.Constructor c,
java.util.Set<java.lang.String> argumentNames) |
java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>> |
entrySet() |
java.lang.Object |
get(java.lang.Object key) |
private java.util.Set<java.lang.String> |
getArgumentNames(java.lang.reflect.Constructor c) |
private static java.util.HashMap<java.lang.String,java.util.LinkedList<java.lang.reflect.Method>> |
getClassMethodCache(java.lang.Class<?> type) |
private static java.lang.Object |
getDefaultValue(java.lang.Class clazz) |
private java.lang.Object |
getReadOnlyProperty(java.lang.String propName) |
private java.lang.Object |
getTemporaryContainer(java.lang.String propName)
This is used to support read-only collection property.
|
private java.lang.Object |
getUserValue(java.lang.String key,
java.lang.Class<?> type) |
boolean |
isEmpty() |
java.lang.Object |
put(java.lang.String key,
java.lang.Object value) |
private java.util.Map<java.lang.String,ProxyBuilder.Property> |
scanForSetters() |
int |
size() |
clear, clone, equals, hashCode, keySet, putAll, remove, toString, valuesprivate java.lang.Class<?> type
private final java.util.Map<java.lang.reflect.Constructor,java.util.Map<java.lang.String,ProxyBuilder.AnnotationValue>> constructorsMap
private final java.util.Map<java.lang.String,ProxyBuilder.Property> propertiesMap
private final java.util.Set<java.lang.reflect.Constructor> constructors
private java.util.Set<java.lang.String> propertyNames
private boolean hasDefaultConstructor
private java.lang.reflect.Constructor defaultConstructor
private static final java.lang.String SETTER_PREFIX
private static final java.lang.String GETTER_PREFIX
private final java.util.Comparator<java.lang.reflect.Constructor> constructorComparator
private final java.util.Map<java.lang.String,java.lang.Object> userValues
private final java.util.Map<java.lang.String,java.lang.Object> containers
private static final java.util.Map<java.lang.Class<?>,java.lang.Object> defaultsMap
public java.lang.Object put(java.lang.String key,
java.lang.Object value)
put in interface java.util.Map<java.lang.String,java.lang.Object>put in class java.util.AbstractMap<java.lang.String,java.lang.Object>private java.lang.Object getTemporaryContainer(java.lang.String propName)
private java.lang.Object getReadOnlyProperty(java.lang.String propName)
public int size()
size in interface java.util.Map<java.lang.String,java.lang.Object>size in class java.util.AbstractMap<java.lang.String,java.lang.Object>public java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>> entrySet()
entrySet in interface java.util.Map<java.lang.String,java.lang.Object>entrySet in class java.util.AbstractMap<java.lang.String,java.lang.Object>public boolean isEmpty()
isEmpty in interface java.util.Map<java.lang.String,java.lang.Object>isEmpty in class java.util.AbstractMap<java.lang.String,java.lang.Object>public boolean containsKey(java.lang.Object key)
containsKey in interface java.util.Map<java.lang.String,java.lang.Object>containsKey in class java.util.AbstractMap<java.lang.String,java.lang.Object>public boolean containsValue(java.lang.Object value)
containsValue in interface java.util.Map<java.lang.String,java.lang.Object>containsValue in class java.util.AbstractMap<java.lang.String,java.lang.Object>public java.lang.Object get(java.lang.Object key)
get in interface java.util.Map<java.lang.String,java.lang.Object>get in class java.util.AbstractMap<java.lang.String,java.lang.Object>private java.util.Set<java.lang.reflect.Constructor> chooseBestConstructors(java.util.Set<java.lang.String> settersArgs)
private java.util.Set<java.lang.String> getArgumentNames(java.lang.reflect.Constructor c)
private java.lang.Object createObjectFromDefaultConstructor()
throws java.lang.RuntimeException
java.lang.RuntimeExceptionprivate java.lang.Object createObjectFromConstructor(java.lang.reflect.Constructor constructor,
java.util.Set<java.lang.String> propertiesToSet)
private java.lang.Object getUserValue(java.lang.String key,
java.lang.Class<?> type)
private java.lang.Object createObjectWithExactArguments(java.lang.reflect.Constructor c,
java.util.Set<java.lang.String> argumentNames)
private java.lang.Object createInstance(java.lang.reflect.Constructor c,
java.lang.Object[] args)
throws java.lang.Exception
java.lang.Exceptionprivate java.util.Map<java.lang.String,ProxyBuilder.Property> scanForSetters()
private static java.util.HashMap<java.lang.String,java.util.LinkedList<java.lang.reflect.Method>> getClassMethodCache(java.lang.Class<?> type)
private static java.lang.Object[] convertListToArray(java.lang.Object userValue,
java.lang.Class<?> localType)
private static java.lang.Object getDefaultValue(java.lang.Class clazz)