com.thoughtworks.xstream.converters.reflection
Class HarmonyReflectionProvider

java.lang.Object
  extended by com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider
      extended by com.thoughtworks.xstream.converters.reflection.HarmonyReflectionProvider
All Implemented Interfaces:
ReflectionProvider

public class HarmonyReflectionProvider
extends PureJavaReflectionProvider

Instantiates a new object on the Harmony JVM by bypassing the constructor (meaning code in the constructor will never be executed and parameters do not have to be known). This is the same method used by the internals of standard Java serialization, but relies on internal Harmony code. Note, this is work in progress. Harmony 5.0M4 crashes instantiating a class derived from com.thoughtworks.acceptance.objects.StandardObject, of type JTable or Font. Additionally it fails with a NPE processing the annotations and has a wrong offset dealing with time zone. Same problems apply to 5.0M5.

Author:
Jörg Schaible, Joe Walnes

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.thoughtworks.xstream.converters.reflection.ReflectionProvider
ReflectionProvider.Visitor
 
Field Summary
 
Fields inherited from class com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider
fieldDictionary
 
Constructor Summary
HarmonyReflectionProvider()
           
HarmonyReflectionProvider(FieldDictionary dic)
           
 
Method Summary
 java.lang.Object newInstance(java.lang.Class type)
          Creates a new instance of the specified type.
protected  void validateFieldAccess(java.lang.reflect.Field field)
           
 void writeField(java.lang.Object object, java.lang.String fieldName, java.lang.Object value, java.lang.Class definedIn)
           
 
Methods inherited from class com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider
fieldDefinedInClass, fieldModifiersSupported, getField, getFieldType, readResolve, setFieldDictionary, visitSerializableFields
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HarmonyReflectionProvider

public HarmonyReflectionProvider()

HarmonyReflectionProvider

public HarmonyReflectionProvider(FieldDictionary dic)
Method Detail

newInstance

public java.lang.Object newInstance(java.lang.Class type)
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 interface ReflectionProvider
Overrides:
newInstance in class PureJavaReflectionProvider
Parameters:
type - the type to instantiate
Returns:
a new instance of this type

writeField

public void writeField(java.lang.Object object,
                       java.lang.String fieldName,
                       java.lang.Object value,
                       java.lang.Class definedIn)
Specified by:
writeField in interface ReflectionProvider
Overrides:
writeField in class PureJavaReflectionProvider

validateFieldAccess

protected void validateFieldAccess(java.lang.reflect.Field field)
Overrides:
validateFieldAccess in class PureJavaReflectionProvider


Joe Walnes, http://xstream.codehaus.org/