Class PureJavaReflectionProvider
java.lang.Object
com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider
- All Implemented Interfaces:
ReflectionProvider
- Direct Known Subclasses:
SunLimitedUnsafeReflectionProvider
Pure Java ObjectFactory that instantiates objects using standard Java reflection, however the types of objects that
can be constructed are limited.
Can newInstance: classes with public visibility, outer classes, static inner classes, classes with default constructors and any class that implements java.io.Serializable.
Cannot newInstance: classes without public visibility, non-static inner classes, classes without default constructors. Note that any code in the constructor of a class will be executed when the ObjectFactory instantiates the object.
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface com.thoughtworks.xstream.converters.reflection.ReflectionProvider
ReflectionProvider.Visitor
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
fieldDefinedInClass
(String fieldName, Class type) Deprecated.protected boolean
fieldModifiersSupported
(Field field) Returns a field defined in some class.getFieldOrNull
(Class definedIn, String fieldName) Returns a field defined in some class.getFieldType
(Object object, String fieldName, Class definedIn) protected void
init()
private Object
newInstance
(Class type) Creates a new instance of the specified type.private Object
void
setFieldDictionary
(FieldDictionary dictionary) protected void
validateFieldAccess
(Field field) void
visitSerializableFields
(Object object, ReflectionProvider.Visitor visitor) void
writeField
(Object object, String fieldName, Object value, Class definedIn)
-
Field Details
-
objectStreamClassCache
-
serializedDataCache
-
fieldDictionary
-
-
Constructor Details
-
PureJavaReflectionProvider
public PureJavaReflectionProvider() -
PureJavaReflectionProvider
-
-
Method Details
-
newInstance
Description copied from interface:ReflectionProvider
Creates a new instance of the specified type. It is in the responsibility of the implementation how such an instance is created.- Specified by:
newInstance
in interfaceReflectionProvider
- Parameters:
type
- the type to instantiate- Returns:
- a new instance of this type
-
instantiateUsingSerialization
-
visitSerializableFields
- Specified by:
visitSerializableFields
in interfaceReflectionProvider
-
writeField
- Specified by:
writeField
in interfaceReflectionProvider
-
getFieldType
- Specified by:
getFieldType
in interfaceReflectionProvider
-
fieldDefinedInClass
Deprecated.As of 1.4.5, usegetFieldOrNull(Class, String)
instead- Specified by:
fieldDefinedInClass
in interfaceReflectionProvider
-
fieldModifiersSupported
-
validateFieldAccess
-
getField
Description copied from interface:ReflectionProvider
Returns a field defined in some class.- Specified by:
getField
in interfaceReflectionProvider
- Parameters:
definedIn
- class where the field was definedfieldName
- field name- Returns:
- the field itself
-
getFieldOrNull
Description copied from interface:ReflectionProvider
Returns a field defined in some class.- Specified by:
getFieldOrNull
in interfaceReflectionProvider
- Parameters:
definedIn
- class where the field was definedfieldName
- field name- Returns:
- the field itself or null
-
setFieldDictionary
-
readResolve
-
init
protected void init()
-
getFieldOrNull(Class, String)
instead