oracle.ifs.server
Class S_ClassObject


java.lang.Object

  |

  +--oracle.ifs.server.S_LibraryObject

        |

        +--oracle.ifs.server.S_TieLibraryObject

              |

              +--oracle.ifs.server.S_SchemaObject

                    |

                    +--oracle.ifs.server.S_TieSchemaObject

                          |

                          +--oracle.ifs.server.S_ClassObject

All Implemented Interfaces:
IfsEventHandler, LibraryObjectInterface, SchemaObjectInterface, Traceable

public final class S_ClassObject
extends S_TieSchemaObject

An S_ClassObject is the server-side representation of the CLASSOBJECT class.


Method Summary
protected  void deriveDefinition(S_LibraryObjectDefinition def)
          Add to the S_LibraryObjectDefinition for this class.
protected  void extendedPreFree(OperationState opState, S_LibraryObjectDefinition def)
          operations to be performed before freeing an object.
protected  void extendedPreInsert(OperationState opState, S_LibraryObjectDefinition def)
          Performs pre-insert actions.
 S_ClassObject[] getDirectSubclasses()
          Gets the direct subclasses for this class as an array of S_ClassObjects.
 S_Attribute[] getEffectiveClassAttributes()
          Gets the effective attributes for the class.
 S_Attribute getEffectiveClassAttributes(java.lang.String attributeName)
          Gets the specified effective attribute of the class.
 S_Attribute[] getExtendedClassAttributes()
          Gets the extended attributes for the class.
 S_Attribute[] getExtendedClassAttributes(S_ClassObject superclass)
          Gets an array of the attributes defined by this class.
 S_Attribute getExtendedClassAttributes(java.lang.String attributeName)
          Gets the specified extended attribute of the class.
 AttributeValue getInheritedPropertyValue(java.lang.String name)
          gets the named property, if any, by searching in the target ClassObject's PropertyBundle, or in one of its superclasses PropertyBundle.
 S_ClassObject[] getSubclasses()
          Gets the subclasses for this class as an array of S_ClassObjects.
 boolean isDirectSubclassOf(S_ClassObject classObject)
          Determines whether this class is a direct subclass of the specfied class (that is, whether the specified class is the immediate superclass of this class).
 boolean isSubclassOf(S_ClassObject classObject)
          Determines whether this class is a subclass of the specfied class (that is, whether the specified class is this class, the immediate superclass of this class, the super-superclass of this class, etc.).
 
Methods inherited from class oracle.ifs.server.S_SchemaObject
hasNameAttribute
 
Methods inherited from class oracle.ifs.server.S_LibraryObject
equals, extendedPreUpdate, free, getAttribute, getAttributeByUpperCaseName, getClassId, getClassObject, getId, getSession, handleEvent, isTraced, postEvent, postEvent, renderAsReader, renderAsStream, setAttribute, setAttribute, toString, trace, update
 
Methods inherited from interface oracle.ifs.common.LibraryObjectInterface
getId
 
Methods inherited from interface oracle.ifs.common.Traceable
getTraceLogger, isTraced, trace
 

Method Detail


getInheritedPropertyValue


public AttributeValue getInheritedPropertyValue(java.lang.String name)
                                         throws IfsException
gets the named property, if any, by searching in the target ClassObject's PropertyBundle, or in one of its superclasses PropertyBundle. Return null if no property exists for this name.
Parameters:
name - Property name
Returns:
the AttributeValue for the requested property, or null if no specific Proeprty exists on this class or superclasses.
Throws:
IfsException - if the operation fails

extendedPreInsert


protected void extendedPreInsert(OperationState opState,
                                 S_LibraryObjectDefinition def)
                          throws IfsException
Performs pre-insert actions.
Overrides:
extendedPreInsert in class S_SchemaObject
Parameters:
opState - current operation state
def - the definition for the insert operation
Throws:
IfsException - if the operation fails

extendedPreFree


protected void extendedPreFree(OperationState opState,
                               S_LibraryObjectDefinition def)
                        throws IfsException
operations to be performed before freeing an object. This override will validate this operation, and throw an exception if: 1. there are any subclasses of this class 2. there are any instances of this class. 3. This class is specified in a ClassDoamin.
Overrides:
extendedPreFree in class S_LibraryObject
Throws:
IfsException - if operation fails.

deriveDefinition


protected void deriveDefinition(S_LibraryObjectDefinition def)
                         throws IfsException
Add to the S_LibraryObjectDefinition for this class. This is called by getDefinition() on S_LibraryObject. This must call super.deriveDefinition() before applying any class-specific changes to the S_LibraryObjectDefinition object.
Overrides:
deriveDefinition in class S_LibraryObject
Parameters:
def - the S_LibraryObjectDefinition that contains the definition of the target object.
Throws:
IfsException - if operation fails.

getEffectiveClassAttributes


public S_Attribute[] getEffectiveClassAttributes()
                                          throws IfsException
Gets the effective attributes for the class.

The effective attributes of the class are both the attributes introduced by the class itself as well as the attributes the class inherits from its superclasses.

Returns:
the array of attributes
Throws:
IfsException - if the operation fails

getEffectiveClassAttributes


public S_Attribute getEffectiveClassAttributes(java.lang.String attributeName)
                                        throws IfsException
Gets the specified effective attribute of the class.

The effective attributes of the class are both the attributes introduced by the class itself as well as the attributes the class inherits from its superclasses.

Parameters:
attributeName - the attribute name
Returns:
the attribute, or null if there is no attribute with the specified name
Throws:
IfsException - if the operation fails

getExtendedClassAttributes


public S_Attribute[] getExtendedClassAttributes()
                                         throws IfsException
Gets the extended attributes for the class.

The extended attributes of the class are only the attributes introduced by the class itself, and do not include any attributes the class inherits from its superclasses.

Returns:
the array of attributes. If the class has no extended attributes, an zero-length array is returned.
Throws:
IfsException - if the operation fails

getExtendedClassAttributes


public S_Attribute[] getExtendedClassAttributes(S_ClassObject superclass)
                                         throws IfsException
Gets an array of the attributes defined by this class. Does not include attributes inherited from the superclass.
Parameters:
superclass - a superclass of this class
Returns:
the array of attributes. If the class has exactly the same attributes as superclass, a zero-length array is returned.
Throws:
IfsException - (IFS-19001) if superclass is null
IfsException - (IFS-19005) if superclass is not a superclass of this class
IfsException - if the operation otherwise fails

getExtendedClassAttributes


public S_Attribute getExtendedClassAttributes(java.lang.String attributeName)
                                       throws IfsException
Gets the specified extended attribute of the class.

The extended attributes of the class are only the attributes introduced by the class itself, and do not include any attributes the class inherits from its superclasses.

Parameters:
attributeName - the attribute name
Returns:
the attribute, or null if there is no attribute with the specified name
Throws:
IfsException - if the operation fails

getDirectSubclasses


public S_ClassObject[] getDirectSubclasses()
                                    throws IfsException
Gets the direct subclasses for this class as an array of S_ClassObjects.

The direct subclasses are the classes that directly extend this class.

Returns:
the array of class objects
Throws:
IfsException - if the operation fails

getSubclasses


public S_ClassObject[] getSubclasses()
                              throws IfsException
Gets the subclasses for this class as an array of S_ClassObjects.

The subclasses are the classes that directly extend this class and their subclasses, sub-subclasses, etc.

Returns:
the array of class objects
Throws:
IfsException - if the operation fails

isDirectSubclassOf


public boolean isDirectSubclassOf(S_ClassObject classObject)
                           throws IfsException
Determines whether this class is a direct subclass of the specfied class (that is, whether the specified class is the immediate superclass of this class).
Parameters:
classObject - the class of interest
Returns:
whether this class is a direct subclass of classObject
Throws:
IfsException - (IFS-19001) if classObject is null

isSubclassOf


public boolean isSubclassOf(S_ClassObject classObject)
                     throws IfsException
Determines whether this class is a subclass of the specfied class (that is, whether the specified class is this class, the immediate superclass of this class, the super-superclass of this class, etc.).
Parameters:
classObject - the class of interest
Returns:
whether this class is a subclass of classObject
Throws:
IfsException - (IFS-19001) if classObject is null