JBoss Marshalling 1.3.0.CR9

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.


Field Summary
static SerializableField[] NOFIELDS
           
 
Method Summary
 Object callNoArgConstructor()
          Invoke the public no-arg constructor on this class.
 Object callObjectInputConstructor(ObjectInput objectInput)
          Invoke the public constructor accepting an ObjectInput.
 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 hasNoArgConstructor()
          Determine whether this class has a public no-arg constructor.
 boolean hasObjectInputConstructor()
          Determine whether this class has a public constructor accepting an ObjectInput.
 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
 

Field Detail

NOFIELDS

public static final SerializableField[] NOFIELDS
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

hasNoArgConstructor

public boolean hasNoArgConstructor()
Determine whether this class has a public no-arg constructor.

Returns:
true if there is such a constructor

callNoArgConstructor

public Object callNoArgConstructor()
                            throws IOException
Invoke the public no-arg constructor on this class.

Returns:
the new instance
Throws:
IOException - if an I/O error occurs

hasObjectInputConstructor

public boolean hasObjectInputConstructor()
Determine whether this class has a public constructor accepting an ObjectInput.

Returns:
true if there is such a constructor

callObjectInputConstructor

public Object callObjectInputConstructor(ObjectInput objectInput)
                                  throws IOException
Invoke the public constructor accepting an ObjectInput.

Parameters:
objectInput - the ObjectInput to pass to the constructor
Returns:
the new instance
Throws:
IOException - 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

JBoss Marshalling 1.3.0.CR9

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