Marshalling API version 1.0.0.Beta2

org.jboss.marshalling.reflect
Class SerializableClass

java.lang.Object
  extended by org.jboss.marshalling.reflect.SerializableClass

public final class SerializableClass
extends Object

Reflection information about a serializable class. Intended for use by implementations of the Marshalling API.


Method Summary
 void callReadObject(Object object, ObjectInputStream inputStream)
          Invoke the readObject() method for an object.
 void callReadObjectNoData(Object object)
          Invoke the readObjectNoData() method for an object.
 Object callReadResolve(Object object)
          Invoke the readResolve() method for an object.
 void callWriteObject(Object object, ObjectOutputStream outputStream)
          Invoke the writeObject() method for an object.
 Object callWriteReplace(Object object)
          Invoke the writeReplace() method for an object.
 long getEffectiveSerialVersionUID()
          Get the effective serial version UID of this class.
 SerializableField[] getFields()
          Get the serializable fields of this class.
 SerializableField getSerializableField(String name, Class<?> fieldType, boolean unshared)
          Create a synthetic field for this object class.
 Class<?> getSubjectClass()
          Get the Class of this class.
 boolean hasReadObject()
          Determine whether this class has a readObject() method.
 boolean hasReadObjectNoData()
          Determine whether this class has a readObjectNoData() method.
 boolean hasReadResolve()
          Determine whether this class has a readResolve() method.
 boolean hasWriteObject()
          Determine whether this class has a writeObject() method.
 boolean hasWriteReplace()
          Determine whether this class has a writeReplace() method.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getFields

public SerializableField[] getFields()
Get the serializable fields of this class. The returned array is a direct reference, so care should be taken not to modify it.

Returns:
the fields

getSerializableField

public SerializableField getSerializableField(String name,
                                              Class<?> fieldType,
                                              boolean unshared)
                                       throws ClassNotFoundException
Create a synthetic field for this object class.

Parameters:
name - the name of the field
fieldType - the field type
unshared - true if the field should be unshared
Returns:
the field
Throws:
ClassNotFoundException - if a class was not found while looking up the subject class

hasWriteObject

public boolean hasWriteObject()
Determine whether this class has a writeObject() method.

Returns:
true if there is a writeObject() method

callWriteObject

public void callWriteObject(Object object,
                            ObjectOutputStream outputStream)
                     throws IOException
Invoke the writeObject() method for an object.

Parameters:
object - the object to invoke on
outputStream - the object output stream to pass in
Throws:
IOException - if an I/O error occurs

hasReadObject

public boolean hasReadObject()
Determine whether this class has a readObject() method.

Returns:
true if there is a readObject() method

callReadObject

public void callReadObject(Object object,
                           ObjectInputStream inputStream)
                    throws IOException,
                           ClassNotFoundException
Invoke the readObject() method for an object.

Parameters:
object - the object to invoke on
inputStream - the object input stream to pass in
Throws:
IOException - if an I/O error occurs
ClassNotFoundException - if a class was not able to be loaded

hasReadObjectNoData

public boolean hasReadObjectNoData()
Determine whether this class has a readObjectNoData() method.

Returns:
true if there is a readObjectNoData() method

callReadObjectNoData

public void callReadObjectNoData(Object object)
                          throws ObjectStreamException
Invoke the readObjectNoData() method for an object.

Parameters:
object - the object to invoke on
Throws:
ObjectStreamException - if an I/O error occurs

hasWriteReplace

public boolean hasWriteReplace()
Determine whether this class has a writeReplace() method.

Returns:
true if there is a writeReplace() method

callWriteReplace

public Object callWriteReplace(Object object)
                        throws ObjectStreamException
Invoke the writeReplace() method for an object.

Parameters:
object - the object to invoke on
Returns:
the nominated replacement object
Throws:
ObjectStreamException - if an I/O error occurs

hasReadResolve

public boolean hasReadResolve()
Determine whether this class has a readResolve() method.

Returns:
true if there is a readResolve() method

callReadResolve

public Object callReadResolve(Object object)
                       throws ObjectStreamException
Invoke the readResolve() method for an object.

Parameters:
object - the object to invoke on
Returns:
the original object
Throws:
ObjectStreamException - if an I/O error occurs

getEffectiveSerialVersionUID

public long getEffectiveSerialVersionUID()
Get the effective serial version UID of this class.

Returns:
the serial version UID

getSubjectClass

public Class<?> getSubjectClass()
                         throws ClassNotFoundException
Get the Class of this class.

Returns:
the subject class
Throws:
ClassNotFoundException - if the class was unloaded

Marshalling API version 1.0.0.Beta2

Copyright © 2008 JBoss, a division of Red Hat, Inc.