Package org.jboss.marshalling.reflect
Class SerializableClass
- java.lang.Object
-
- 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.- Author:
- Richard Opalka
-
-
Field Summary
Fields Modifier and Type Field Description static SerializableField[]NOFIELDSAn empty array of fields.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ObjectcallNoArgConstructor()Invoke the no-arg constructor on this class.ObjectcallNonInitConstructor(Class<?> target)Invoke the non-init constructor on this class.ObjectcallObjectInputConstructor(ObjectInput objectInput)Invoke the public constructor accepting an ObjectInput.voidcallReadObject(Object object, ObjectInputStream inputStream)Invoke thereadObject()method for an object.voidcallReadObjectNoData(Object object)Invoke thereadObjectNoData()method for an object.ObjectcallReadResolve(Object object)Invoke thereadResolve()method for an object.voidcallWriteObject(Object object, ObjectOutputStream outputStream)Invoke thewriteObject()method for an object.ObjectcallWriteReplace(Object object)Invoke thewriteReplace()method for an object.longgetEffectiveSerialVersionUID()Get the effective serial version UID of this class.SerializableField[]getFields()Get the serializable fields of this class.SerializableFieldgetSerializableField(String name, Class<?> fieldType, boolean unshared)Create a synthetic field for this object class.Class<?>getSubjectClass()Get theClassof this class.booleanhasNoInitConstructor(Class<?> target)Determine whether this class has a non-init constructor.booleanhasObjectInputConstructor()Determine whether this class has a public constructor accepting an ObjectInput.booleanhasPublicNoArgConstructor()Determine whether this class has a public no-arg constructor.booleanhasReadObject()Determine whether this class has areadObject()method.booleanhasReadObjectNoData()Determine whether this class has areadObjectNoData()method.booleanhasReadResolve()Determine whether this class has areadResolve()method.booleanhasWriteObject()Determine whether this class has awriteObject()method.booleanhasWriteReplace()Determine whether this class has awriteReplace()method.StringtoString()
-
-
-
Field Detail
-
NOFIELDS
public static final SerializableField[] NOFIELDS
An empty array of fields.
-
-
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 fieldfieldType- the field typeunshared-trueif 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 awriteObject()method.- Returns:
trueif there is awriteObject()method
-
callWriteObject
public void callWriteObject(Object object, ObjectOutputStream outputStream) throws IOException
Invoke thewriteObject()method for an object.- Parameters:
object- the object to invoke onoutputStream- the object output stream to pass in- Throws:
IOException- if an I/O error occurs
-
hasReadObject
public boolean hasReadObject()
Determine whether this class has areadObject()method.- Returns:
trueif there is areadObject()method
-
callReadObject
public void callReadObject(Object object, ObjectInputStream inputStream) throws IOException, ClassNotFoundException
Invoke thereadObject()method for an object.- Parameters:
object- the object to invoke oninputStream- the object input stream to pass in- Throws:
IOException- if an I/O error occursClassNotFoundException- if a class was not able to be loaded
-
hasReadObjectNoData
public boolean hasReadObjectNoData()
Determine whether this class has areadObjectNoData()method.- Returns:
trueif there is areadObjectNoData()method
-
callReadObjectNoData
public void callReadObjectNoData(Object object) throws ObjectStreamException
Invoke thereadObjectNoData()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 awriteReplace()method.- Returns:
trueif there is awriteReplace()method
-
callWriteReplace
public Object callWriteReplace(Object object) throws ObjectStreamException
Invoke thewriteReplace()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 areadResolve()method.- Returns:
trueif there is areadResolve()method
-
callReadResolve
public Object callReadResolve(Object object) throws ObjectStreamException
Invoke thereadResolve()method for an object.- Parameters:
object- the object to invoke on- Returns:
- the original object
- Throws:
ObjectStreamException- if an I/O error occurs
-
hasPublicNoArgConstructor
public boolean hasPublicNoArgConstructor()
Determine whether this class has a public no-arg constructor.- Returns:
trueif there is such a constructor
-
callNoArgConstructor
public Object callNoArgConstructor() throws IOException
Invoke the 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:
trueif 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
-
hasNoInitConstructor
public boolean hasNoInitConstructor(Class<?> target)
Determine whether this class has a non-init constructor.- Returns:
- whether this class has a non-init constructor
-
callNonInitConstructor
public Object callNonInitConstructor(Class<?> target)
Invoke the non-init constructor on this class.- Returns:
- the new instance
-
getEffectiveSerialVersionUID
public long getEffectiveSerialVersionUID()
Get the effective serial version UID of this class.- Returns:
- the serial version UID
-
getSubjectClass
public Class<?> getSubjectClass()
Get theClassof this class.- Returns:
- the subject class
-
-