wt.introspection
Class ClassInfo

java.lang.Object
  extended bywt.introspection.ClassInfo
All Implemented Interfaces:
Externalizable, Serializable
Direct Known Subclasses:
LinkInfo

public class ClassInfo
extends Object
implements Externalizable

ClassInfo is the class for providing class meta-data There will be an instance of this class for each modeled business class that is installed.

Supported API: true

Extendable: false

See Also:
WTIntrospector, LinkInfo, Serialized Form

Field Summary
private  String absoluteDir
           
private  ClassInfo[] allDescendentInfos
           
private  com.objectspace.jgl.OrderedMap attributeTable
           
private  String classname
           
private static String CLASSNAME
           
private  String concreteClassname
           
private  DatastoreElementType datastoreElementType
           
private  DatabaseInfo dbInfo
           
static boolean DEBUG
           
private  ClassInfo[] directDescendentInfos
           
(package private) static String[] DISPLAY_NAME
           
private static Class EVOLVABLE
           
private  HashMap extendedValues
           
static long externalizationVersionUID
          Version identifier for managing compatibility and evolution of externalizable classes.
private  String[] interfaces
           
private  boolean localizable
           
private static DebugWriter LOG
           
private  AttributeDescriptor[] myAttributes
           
private  Class myBusinessClass
           
private  Class myConcreteClass
           
private  ClassInfo myParentClass
           
private  ClassInfo[] myParentInterfaces
           
private static int OPEN_ICON
           
private  String openIcon
           
private  RoleDescriptor[] otherSideRoles
           
private  String parentClassname
           
private static boolean PD_RECURSE_INTERFACE
           
private  boolean persistable
           
private  PropertyDescriptor[] properties
           
private  HashMap propertyCache
           
private  HashMap readPropertyCache
           
private  boolean removeEventParticipant
           
private static String RESOURCE
           
private static boolean RUNTIME_MODE
           
(package private) static long serialVersionUID
           
(package private) static String[] SHORT_DESCRIPTION
           
private static String SIMPLE_CLASSNAME
           
private static int STANDARD_ICON
           
private  String standardIcon
           
 
Constructor Summary
ClassInfo()
          Constructor.
ClassInfo(String[] theInterfaces, String parent_name, String class_name, String concrete_classname, DatabaseInfo database_info, boolean persistentFlag, AttributeDescriptor[] attrs, String standard_icon, String open_icon, boolean isLocalizable, DatastoreElementType datastore_elem_type, boolean isRemoveEventParticipant, HashMap extended_values)
          Constructor.
 
Method Summary
private  void accumulateDefaultExtensions(PropertyDescriptor pd)
           
private  void accumulateDescendentInfosDirect(ArrayList accumulator, String class_name, boolean recurse)
          Accumulate all direct descendent classes.
private  void accumulateDescendents(String class_name)
          Accumulate all descendent ClassInfos.
private  void accumulateOtherRoles()
           
private  void accumulateProperties()
           
private  void accumulatePropertyExtensions(PropertyDescriptor[] property_descriptors)
           
private  void addInfoRoles(ArrayList roles, ClassInfo anotherInfo)
           
private  PropertyDescriptor[] addPropertyDescriptors(PropertyDescriptor[] accumulator, HashMap others)
           
private  void addRole(ArrayList roles, RoleDescriptor newRole)
           
private  void addRole(ArrayList roles, RoleDescriptor newRole, int add_index)
           
 boolean equals(Object obj)
          Compares two objects for equality.
 ColumnDescriptor[] getAttributeColumnDescriptors(String name)
          Return all the ColumnDescriptor's (if any) associated with the named attribute.
 Object[] getAttributeValueSet(String name)
          Gets the set of valid values for the named attribute.
 Class getBusinessClass()
          Gets the business class represented by this info instance.
 String getClassname()
          Gets the class name of the business class represented by this info instance.
 Class getConcreteClass()
          Gets the instantiable class represented by this info instance.
static EnumeratedType getConstrainedEnum(Class theClass, String attribute_name, String internal_value)
          Gets the EnumeratedType instance for an attribute of a class, given an internal value for the EnumeratedType instance.
 DatabaseInfo getDatabaseInfo()
          Gets the DatabaseInfo for this class.
 DatastoreElementType getDatastoreElementType()
          Gets the DatastoreElementType of the class.
 ClassInfo[] getDescendentInfos()
          Gets an array of ClassInfos of all the descendent classes.
 ClassInfo[] getDirectDescendentInfos()
          Gets the direct descendent class infos.
 String getDisplayName()
          Gets the display name for the class.
 String getDisplayName(Locale locale)
          Gets the display name for the class, for the specified locale.
 long getExternalizationVersionUID()
          Gets the generated externalization UID, if it exists.
private static int getIndex(String name, PropertyDescriptor[] properties)
           
(package private)  String[] getInterfaces()
           
 String getOpenIcon()
          Gets the fully qualified class name of the resource bundle for the open icon.
 RoleDescriptor getOtherSideRole(String name)
          Gets a named RoleDescriptor, which is opposite of this class.
 RoleDescriptor getOtherSideRole(String name, LinkInfo info)
          Gets a named RoleDescriptor, for a particular association, which is opposite of this class.
 RoleDescriptor[] getOtherSideRoles()
          Gets an array of RoleDescriptors, which are opposite instances of this class, in all of the associations, within which this class can participate.
 ClassInfo getParentClassInfo()
          Gets the parent class info of the business class represented by this info instance.
 String getParentClassname()
          Gets the name of the parent class of the business class represented by this info instance.
 ClassInfo[] getParentInterfaceInfos()
          Gets the parent interface infos for the business class represented by this info instance.
 PropertyDescriptor getPropertyDescriptor(String name)
          Gets a property descriptor for the named attribute of the class.
private static PropertyDescriptor getPropertyDescriptor(String name, PropertyDescriptor[] properties)
           
 PropertyDescriptor[] getPropertyDescriptors()
          Gets the array of property descriptors for the class.
static String getPropertyDisplayName(PropertyDescriptor property, Locale locale)
          Gets the display name for the named property of the class, for the specified locale.
static String getPropertyShortDescription(PropertyDescriptor property, Locale locale)
          Gets the display name for the property of the class, for the specified locale.
 PropertyDescriptor getReadPropertyDescriptor(String name)
          Gets a read-only property descriptor for the named attribute of the class.
private static Class getRootContainer(String name, Class container)
           
 Class getSerializableType()
          Gets the type of serialization used by the class, if it is enabled.
 long getSerialVersionUID()
          Gets the serialVersionUID for the class.
 String getStandardIcon()
          Gets the fully qualified class name of the resource bundle for the standard icon.
 Object getValue(String attribute_name)
          Retrieve a named attribute with this feature.
 boolean hasDisplayName()
          Deprecated.  
protected  boolean haveParentClass()
          Supported API: false
 boolean isConcrete()
          Gets the concrete status of this class.
 boolean isLocalizable()
          Deprecated.  
 boolean isPersistable()
          Gets the persistable status of this class.
 boolean isRemoveEventParticipant()
          Indicates if the persistence layer is required to dispatch Remove events for this class.
private  boolean isSuperclassOf(Class aClass)
          Deprecated. Replaced by java.lang.Class.isAssignableFrom(Class)
 boolean isSuperclassOf(ClassInfo classInfo)
          Answer whether class parents the supplied classInfo.
(package private) static Class loadClass(String a_classname)
           
private  void mergePropertyDescriptors(HashMap PDs, ClassInfo anotherInfo)
           
 void readExternal(ObjectInput input)
          Reads the non-transient fields of this class from an external source.
private  void readMyRoles(ArrayList roles)
           
private  boolean removeDuplicateRole(ArrayList roles, int index, RoleDescriptor newRole)
           
private  String resourceLookup(String[] key, Locale locale)
          example: key = "DisplayName" classname = "wt.fc.PersistInfo"

Supported API: false
(package private) static String resourceLookup(String[] key, String attribute, Locale locale)
          example: key = "DisplayName" attribute = "wt.fc.PersistInfo.createStamp"
private static String resourceLookup(String resourceName, String[] key, String elementName, Locale locale)
          example: resourceName = "fcResource" key = "DisplayName" attribute = "PersistInfo.createStamp" locale = WTContext.getContext().getLocale()

Supported API: false
(package private)  void setAbsoluteDir(String absolute_dir)
           
private  void setIconDefault(int icon)
           
private  String setIconName(ClassInfo info, int icon)
           
private static void setPropertyLocalizables(PropertyDescriptor property)
           
 LocalizableMessage toDisplayNameMessage()
          Gets an object, which can be used to get a localized message for this class, having the request deferred to time or location where the locale may not be the same as the current locale.
 String toString()
          Returns a string representation of the object.
 void writeExternal(ObjectOutput output)
          Writes the non-transient fields of this class to an external source.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

CLASSNAME

private static final String CLASSNAME

SIMPLE_CLASSNAME

private static final String SIMPLE_CLASSNAME

DEBUG

public static final boolean DEBUG

LOG

private static final DebugWriter LOG

externalizationVersionUID

public static final long externalizationVersionUID
Version identifier for managing compatibility and evolution of externalizable classes.

Supported API: false

See Also:
Constant Field Values

serialVersionUID

static final long serialVersionUID
See Also:
Constant Field Values

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

absoluteDir

private String absoluteDir

DISPLAY_NAME

static final String[] DISPLAY_NAME

SHORT_DESCRIPTION

static final String[] SHORT_DESCRIPTION

STANDARD_ICON

private static final int STANDARD_ICON
See Also:
Constant Field Values

OPEN_ICON

private static final int OPEN_ICON
See Also:
Constant Field Values

myParentInterfaces

private transient volatile ClassInfo[] myParentInterfaces

myParentClass

private transient ClassInfo myParentClass

myBusinessClass

private transient Class myBusinessClass

myConcreteClass

private transient Class myConcreteClass

concreteClassname

private String concreteClassname

interfaces

private String[] interfaces

parentClassname

private String parentClassname

classname

private String classname

dbInfo

private DatabaseInfo dbInfo

persistable

private boolean persistable

removeEventParticipant

private boolean removeEventParticipant

openIcon

private String openIcon

standardIcon

private String standardIcon

localizable

private boolean localizable

datastoreElementType

private DatastoreElementType datastoreElementType

extendedValues

private HashMap extendedValues

properties

private transient volatile PropertyDescriptor[] properties

propertyCache

private transient HashMap propertyCache

readPropertyCache

private transient HashMap readPropertyCache

attributeTable

private transient com.objectspace.jgl.OrderedMap attributeTable

myAttributes

private AttributeDescriptor[] myAttributes

otherSideRoles

private transient volatile RoleDescriptor[] otherSideRoles

allDescendentInfos

private transient volatile ClassInfo[] allDescendentInfos

directDescendentInfos

private transient volatile ClassInfo[] directDescendentInfos

RUNTIME_MODE

private static final boolean RUNTIME_MODE

PD_RECURSE_INTERFACE

private static final boolean PD_RECURSE_INTERFACE

EVOLVABLE

private static final Class EVOLVABLE
Constructor Detail

ClassInfo

public ClassInfo()
Constructor.

Supported API: false


ClassInfo

public ClassInfo(String[] theInterfaces,
                 String parent_name,
                 String class_name,
                 String concrete_classname,
                 DatabaseInfo database_info,
                 boolean persistentFlag,
                 AttributeDescriptor[] attrs,
                 String standard_icon,
                 String open_icon,
                 boolean isLocalizable,
                 DatastoreElementType datastore_elem_type,
                 boolean isRemoveEventParticipant,
                 HashMap extended_values)
Constructor.

Supported API: false

Method Detail

accumulateDefaultExtensions

private void accumulateDefaultExtensions(PropertyDescriptor pd)
                                  throws WTIntrospectionException
Throws:
WTIntrospectionException

accumulateDescendentInfosDirect

private void accumulateDescendentInfosDirect(ArrayList accumulator,
                                             String class_name,
                                             boolean recurse)
                                      throws WTIntrospectionException
Accumulate all direct descendent classes.

Supported API: false

Parameters:
class_name - - The fully qualified name of the class for which decendents will be gathered.
Returns:
The ArrayList of direct descendents for the class specified in the parameter.
Throws:
WTIntrospectionException
See Also:
wt.introspection.ClassInfo#accumulateAll(String)

accumulateDescendents

private void accumulateDescendents(String class_name)
                            throws WTIntrospectionException
Accumulate all descendent ClassInfos.

Supported API: false

Parameters:
class_name - - The fully qualified name of the class for which decendents will be gathered.
Throws:
WTIntrospectionException - if fails in any way

accumulateOtherRoles

private void accumulateOtherRoles()
                           throws WTIntrospectionException
Throws:
WTIntrospectionException

accumulateProperties

private void accumulateProperties()
                           throws WTIntrospectionException
Throws:
WTIntrospectionException

accumulatePropertyExtensions

private void accumulatePropertyExtensions(PropertyDescriptor[] property_descriptors)
                                   throws WTIntrospectionException
Throws:
WTIntrospectionException

addInfoRoles

private void addInfoRoles(ArrayList roles,
                          ClassInfo anotherInfo)
                   throws WTIntrospectionException
Throws:
WTIntrospectionException

addPropertyDescriptors

private PropertyDescriptor[] addPropertyDescriptors(PropertyDescriptor[] accumulator,
                                                    HashMap others)
                                             throws WTIntrospectionException
Throws:
WTIntrospectionException

addRole

private void addRole(ArrayList roles,
                     RoleDescriptor newRole)
              throws WTIntrospectionException
Throws:
WTIntrospectionException

addRole

private void addRole(ArrayList roles,
                     RoleDescriptor newRole,
                     int add_index)
              throws WTIntrospectionException
Throws:
WTIntrospectionException

removeDuplicateRole

private boolean removeDuplicateRole(ArrayList roles,
                                    int index,
                                    RoleDescriptor newRole)
                             throws WTIntrospectionException
Throws:
WTIntrospectionException

equals

public boolean equals(Object obj)
Compares two objects for equality. Returns a boolean that indicates whether this object is equivalent to the specified object. This method is used when an object is stored in a hashtable.

Supported API: true

Parameters:
obj - the Object to compare with
Returns:
true if these Objects are equal; false otherwise.

getAttributeValueSet

public Object[] getAttributeValueSet(String name)
                              throws WTIntrospectionException
Gets the set of valid values for the named attribute.

Supported API: true

Returns:
the set of valid values for the attribute
Throws:
WTIntrospectionException

getBusinessClass

public Class getBusinessClass()
                       throws WTIntrospectionException
Gets the business class represented by this info instance.

Supported API: true

Returns:
The business class described by this info instance.
Throws:
WTIntrospectionException

getClassname

public String getClassname()
Gets the class name of the business class represented by this info instance.

Supported API: true

Returns:
The fully qualified name of the business class described by this info instance.

getConcreteClass

public Class getConcreteClass()
                       throws WTIntrospectionException
Gets the instantiable class represented by this info instance.

Supported API: true

Returns:
The instantiable class described by this info instance.
Throws:
WTIntrospectionException

getConstrainedEnum

public static EnumeratedType getConstrainedEnum(Class theClass,
                                                String attribute_name,
                                                String internal_value)
Gets the EnumeratedType instance for an attribute of a class, given an internal value for the EnumeratedType instance.

Supported API: false

Returns:
The EnumeratedType instance for the inputs if the property's type is constrained overridden. If not constrained, returns null.

getDatabaseInfo

public DatabaseInfo getDatabaseInfo()
Gets the DatabaseInfo for this class.

Supported API: false

Returns:
The DatabaseInfo for this class.

getDescendentInfos

public ClassInfo[] getDescendentInfos()
                               throws WTIntrospectionException
Gets an array of ClassInfos of all the descendent classes.

Supported API: true

Returns:
Array of ClassInfos of all the descendent classes
Throws:
WTIntrospectionException

getDirectDescendentInfos

public ClassInfo[] getDirectDescendentInfos()
                                     throws WTIntrospectionException
Gets the direct descendent class infos.

Supported API: true

Returns:
Array of Class objects of the direct descendent class infos
Throws:
WTException - to be determined
WTIntrospectionException

getDisplayName

public String getDisplayName()
Gets the display name for the class.

Supported API: true

Returns:
The display name string.
See Also:
getDisplayName(Locale)

getDisplayName

public String getDisplayName(Locale locale)
Gets the display name for the class, for the specified locale.

Supported API: true

Returns:
The display name string.

getExternalizationVersionUID

public long getExternalizationVersionUID()
Gets the generated externalization UID, if it exists.

Supported API: false

Returns:
The display name string.

getIndex

private static int getIndex(String name,
                            PropertyDescriptor[] properties)
                     throws WTIntrospectionException
Throws:
WTIntrospectionException

getInterfaces

String[] getInterfaces()

getOpenIcon

public String getOpenIcon()
                   throws WTIntrospectionException
Gets the fully qualified class name of the resource bundle for the open icon.

Supported API: true

Returns:
String the fully qualified class name of the resource bundle for the icon
Throws:
WTIntrospectionException

getOtherSideRole

public RoleDescriptor getOtherSideRole(String name)
                                throws WTIntrospectionException
Gets a named RoleDescriptor, which is opposite of this class.

Supported API: true

Returns:
array of RoleDesciptor which can be navigated
Throws:
WTIntrospection - Exception
WTIntrospectionException
See Also:
#getOtherSideRoles(String,LinkInfo)

getOtherSideRole

public RoleDescriptor getOtherSideRole(String name,
                                       LinkInfo info)
                                throws WTIntrospectionException
Gets a named RoleDescriptor, for a particular association, which is opposite of this class.

Supported API: true

Returns:
array of RoleDesciptor which can be navigated
Throws:
WTIntrospection - Exception
WTIntrospectionException

getOtherSideRoles

public RoleDescriptor[] getOtherSideRoles()
                                   throws WTIntrospectionException
Gets an array of RoleDescriptors, which are opposite instances of this class, in all of the associations, within which this class can participate.

Supported API: true

Returns:
array of RoleDesciptors which can be navigated
Throws:
WTIntrospection - Exception
WTIntrospectionException

getParentClassInfo

public ClassInfo getParentClassInfo()
                             throws WTIntrospectionException
Gets the parent class info of the business class represented by this info instance.

Supported API: true

Returns:
The parent class info of the business class described by this info instance.
Throws:
WTIntrospectionException

getParentClassname

public String getParentClassname()
Gets the name of the parent class of the business class represented by this info instance.

Supported API: true

Returns:
The name of the parent class of the business class described by this info instance.

getParentInterfaceInfos

public ClassInfo[] getParentInterfaceInfos()
                                    throws WTIntrospectionException
Gets the parent interface infos for the business class represented by this info instance. (Will only include interfaces that were modeled.)

Supported API: true

Returns:
The parent interface infos of the business class described by this info instance.
Throws:
WTIntrospectionException

getPropertyDescriptor

public PropertyDescriptor getPropertyDescriptor(String name)
                                         throws WTIntrospectionException
Gets a property descriptor for the named attribute of the class.

Supported API: true

Returns:
PropertyDescriptor for the named attribute
Throws:
WTIntrospectionException - if fails to load class or fails to locate named property

getPropertyDescriptor

private static PropertyDescriptor getPropertyDescriptor(String name,
                                                        PropertyDescriptor[] properties)
                                                 throws WTIntrospectionException
Throws:
WTIntrospectionException

getPropertyDescriptors

public PropertyDescriptor[] getPropertyDescriptors()
                                            throws WTIntrospectionException
Gets the array of property descriptors for the class.

Supported API: true

Returns:
PropertyDescriptor[] for the class.
Throws:
WTIntrospectionException - if fails to load class or bean info for class

getPropertyDisplayName

public static String getPropertyDisplayName(PropertyDescriptor property,
                                            Locale locale)
Gets the display name for the named property of the class, for the specified locale.

Supported API: true

Returns:
The property's display name string.

getPropertyShortDescription

public static String getPropertyShortDescription(PropertyDescriptor property,
                                                 Locale locale)
Gets the display name for the property of the class, for the specified locale.

Supported API: true

Returns:
The property's display name string.

getReadPropertyDescriptor

public PropertyDescriptor getReadPropertyDescriptor(String name)
                                             throws WTIntrospectionException
Gets a read-only property descriptor for the named attribute of the class. This method exists as an alternative to getPropertyDescriptor, to avoid the SecurityException that is thrown when reflecting on methods that are not public. That is, when a property has a protected write method (setter).

Supported API: true

Returns:
PropertyDescriptor for the named attribute, which is read-only
Throws:
WTIntrospectionException - if fails to load class or fails to locate named property

getRootContainer

private static Class getRootContainer(String name,
                                      Class container)
                               throws WTIntrospectionException
Throws:
WTIntrospectionException

getSerializableType

public Class getSerializableType()
Gets the type of serialization used by the class, if it is enabled.

Supported API: false

Returns:
The interface that defines the type of serialization.

getSerialVersionUID

public long getSerialVersionUID()
Gets the serialVersionUID for the class.

Supported API: false

Returns:
the UID long.

getStandardIcon

public String getStandardIcon()
                       throws WTIntrospectionException
Gets the fully qualified class name of the resource bundle for the standard icon.

Supported API: true

Returns:
String the fully qualified class name of the resource bundle for the icon
Throws:
WTIntrospectionException

hasDisplayName

public boolean hasDisplayName()
Deprecated.  

Supported API: false


haveParentClass

protected boolean haveParentClass()
Supported API: false


isConcrete

public boolean isConcrete()
Gets the concrete status of this class. NOTE: This does not return concrete status in the strict Java class sense.

Supported API: true

Returns:
true, if this class is concrete AND the class is not a ForeignKeyLink with an abstract role class.

isLocalizable

public boolean isLocalizable()
Deprecated.  

Supported API: false


isPersistable

public boolean isPersistable()
Gets the persistable status of this class.

Supported API: true

Returns:
true, if this class is persistable

getDatastoreElementType

public DatastoreElementType getDatastoreElementType()
Gets the DatastoreElementType of the class.

Supported API: true

Returns:
DatastoreElementType the datastore element type of the class

isSuperclassOf

private boolean isSuperclassOf(Class aClass)
                        throws WTIntrospectionException
Deprecated. Replaced by java.lang.Class.isAssignableFrom(Class)

Answer whether class parents the supplied class.

Supported API: true

Returns:
true, if this class is a super class of aClass
Throws:
WTIntrospectionException
See Also:
Class, getBusinessClass(), isSuperclassOf(ClassInfo)

isSuperclassOf

public boolean isSuperclassOf(ClassInfo classInfo)
                       throws WTIntrospectionException
Answer whether class parents the supplied classInfo. Result is based on the info descendency information to avoid needing class files.

Supported API: true

Returns:
true, if this class is a super class of classInfo
Throws:
WTIntrospectionException
See Also:
Class, getBusinessClass()

getAttributeColumnDescriptors

public ColumnDescriptor[] getAttributeColumnDescriptors(String name)
                                                 throws WTIntrospectionException
Return all the ColumnDescriptor's (if any) associated with the named attribute.

Supported API: true

Returns:
ColumnDescriptor[]
Throws:
WTIntrospectionException
See Also:
ColumnDescriptor

loadClass

static Class loadClass(String a_classname)
                throws WTIntrospectionException
Throws:
WTIntrospectionException

mergePropertyDescriptors

private void mergePropertyDescriptors(HashMap PDs,
                                      ClassInfo anotherInfo)
                               throws WTIntrospectionException
Throws:
WTIntrospectionException

readMyRoles

private void readMyRoles(ArrayList roles)
                  throws WTIntrospectionException
Throws:
WTIntrospectionException

resourceLookup

static String resourceLookup(String[] key,
                             String attribute,
                             Locale locale)
example: key = "DisplayName" attribute = "wt.fc.PersistInfo.createStamp"


resourceLookup

private String resourceLookup(String[] key,
                              Locale locale)
example: key = "DisplayName" classname = "wt.fc.PersistInfo"

Supported API: false


resourceLookup

private static String resourceLookup(String resourceName,
                                     String[] key,
                                     String elementName,
                                     Locale locale)
example: resourceName = "fcResource" key = "DisplayName" attribute = "PersistInfo.createStamp" locale = WTContext.getContext().getLocale()

Supported API: false


setAbsoluteDir

void setAbsoluteDir(String absolute_dir)

setIconDefault

private void setIconDefault(int icon)
                     throws WTIntrospectionException
Throws:
WTIntrospectionException

setIconName

private String setIconName(ClassInfo info,
                           int icon)
                    throws WTIntrospectionException
Throws:
WTIntrospectionException

setPropertyLocalizables

private static void setPropertyLocalizables(PropertyDescriptor property)

toDisplayNameMessage

public LocalizableMessage toDisplayNameMessage()
Gets an object, which can be used to get a localized message for this class, having the request deferred to time or location where the locale may not be the same as the current locale.

Supported API: true

Returns:
A LocalizableMessage instance, for this class.

toString

public String toString()
Returns a string representation of the object.

Supported API: true

Returns:
a string representation of the object.

getValue

public Object getValue(String attribute_name)
Retrieve a named attribute with this feature.

Supported API: true

Parameters:
attribute_name - - The locale-independent name of the attribute
Returns:
object Return an arbitrary value assigned as an extended property of the class. May be null if the attribute is unknown.

isRemoveEventParticipant

public boolean isRemoveEventParticipant()
Indicates if the persistence layer is required to dispatch Remove events for this class. Remove events include "REMOVE" and "CLEANUP_LINK".

Supported API: false

Returns:
a boolean indicating if Remove events should be dispatched.

readExternal

public void readExternal(ObjectInput input)
                  throws IOException,
                         ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Specified by:
readExternal in interface Externalizable
Parameters:
input - is an input stream
Throws:
IOException
ClassNotFoundException

writeExternal

public void writeExternal(ObjectOutput output)
                   throws IOException
Writes the non-transient fields of this class to an external source.

Supported API: false

Specified by:
writeExternal in interface Externalizable
Parameters:
output - is an output stream
Throws:
IOException