oracle.ifs.server
Class S_PublicObject


java.lang.Object

  |

  +--oracle.ifs.server.S_LibraryObject

        |

        +--oracle.ifs.server.S_TieLibraryObject

              |

              +--oracle.ifs.server.S_PublicObject

All Implemented Interfaces:
IfsEventHandler, LibraryObjectInterface, PublicObjectInterface, Traceable
Direct Known Subclasses:
S_TiePublicObject

public class S_PublicObject
extends S_TieLibraryObject
implements PublicObjectInterface

The S_PublicObject class is the server side implementation of the iFS PUBLICOBJECT class.


Method Summary
 void addRelationship(S_PublicObject rightPo, S_LibraryObjectDefinition def)
          Add a relationship to another public object
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)
          Update any system attributes appropriate for creating this object
protected  void extendedPreUpdate(OperationState opState, S_LibraryObjectDefinition def)
          Update any system attributes appropriate for creating this object
 S_Category[] getCategories()
          Get all categries associated with this instance.
 S_PublicObject[] getLeftwardRelationshipObjects(S_ClassObject relClass, SortSpecification sort)
          returns all "left side" public objects that are related to this object by the specied Relationship Class.
 S_PublicObject[] getLeftwardRelationshipObjects(java.lang.String relClassName, SortSpecification sort)
          returns all "left side" public objects that are related to this object by the specied Relationship Class.
 S_Relationship[] getLeftwardRelationships(S_ClassObject relClass, SortSpecification sort)
          returns all "left side" relationship instances that are used to relate to this object to other PublicObjects.
 S_Relationship[] getLeftwardRelationships(java.lang.String relClassName, SortSpecification sort)
          returns all "left side" relationship instances that are used to relate to this object to other PublicObjects.
 S_Folder[] getReferencingFolders(SortSpecification sort)
          returns an array of S_Folders that reference this object
 S_PublicObject[] getRightwardRelationshipObjects(S_ClassObject relClass, SortSpecification sort)
          returns all "right side" public objects that are related to this object by the specified Relationship Class.
 S_PublicObject[] getRightwardRelationshipObjects(java.lang.String relClassName, SortSpecification sort)
          returns all "right side" public objects that are related to this object by the specified Relationship Class.
 S_Relationship[] getRightwardRelationships(S_ClassObject relClass, SortSpecification sort)
          returns all "right side" relationship instances that are used to relate to this object to other PublicObjects.
 S_Relationship[] getRightwardRelationships(java.lang.String relClassName, SortSpecification sort)
          returns all "right side" relationship instances that are used to relate to this object to other PublicObjects.
 S_VersionDescription[] getVersionDescriptions()
          Get all VERSIONDESCRIPTIONs associated with this instance.
 boolean hasNameAttribute()
          Override of hasNameAttribute(), to always return true for PublicObjects
 boolean isLocked()
          isLocked() - get the lock state
 boolean isVersionable()
          returns true if this object can be in a Family
 void removeRelationship(S_Relationship rel)
          removes the relationship; may cascade to left and right objects.
 
Methods inherited from class oracle.ifs.server.S_LibraryObject
equals, 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


hasNameAttribute


public boolean hasNameAttribute()
                         throws IfsException
Override of hasNameAttribute(), to always return true for PublicObjects
Overrides:
hasNameAttribute in class S_LibraryObject
Returns:
true (as PublicObjects have a NAME attribute).
Throws:
IfsException - if operation fails.

deriveDefinition


protected void deriveDefinition(S_LibraryObjectDefinition def)
                         throws IfsException
Add to the S_LibraryObjectDefinition for this class. This this 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.

extendedPreInsert


protected void extendedPreInsert(OperationState opState,
                                 S_LibraryObjectDefinition def)
                          throws IfsException
Update any system attributes appropriate for creating this object
Overrides:
extendedPreInsert in class S_LibraryObject
Parameters:
opState - current operation state
def - current object definition to be updated with system attributes
Throws:
IfsException - if operation fails.

extendedPreUpdate


protected void extendedPreUpdate(OperationState opState,
                                 S_LibraryObjectDefinition def)
                          throws IfsException
Update any system attributes appropriate for creating this object
Overrides:
extendedPreUpdate in class S_LibraryObject
Parameters:
the - operation state
def - current object definition to be updated with system attributes
Throws:
IfsException - if operation fails.

extendedPreFree


protected void extendedPreFree(OperationState opState,
                               S_LibraryObjectDefinition def)
                        throws IfsException
operations to be performed before freeing an object. This is overridden by classes that need to perform operations after successfully deleting the rows for the freed instance.
Overrides:
extendedPreFree in class S_LibraryObject
Parameters:
opState - current operation state
def - current object definition to be updated with system attributes
Throws:
IfsException - if operation fails.

isLocked


public boolean isLocked()
                 throws IfsException
isLocked() - get the lock state
Returns:
true if the object is locked, false otherwise
Throws:
IfsException - if operation fails.

isVersionable


public boolean isVersionable()
                      throws IfsException
returns true if this object can be in a Family
Returns:
true if this object can be in a Family

getReferencingFolders


public S_Folder[] getReferencingFolders(SortSpecification sort)
                                 throws IfsException
returns an array of S_Folders that reference this object
Parameters:
sort - the SortSpecification specifying how to sort the referencing folders
Returns:
an array of S_Folders that reference this object
Throws:
IfsException - if operation fails

addRelationship


public void addRelationship(S_PublicObject rightPo,
                            S_LibraryObjectDefinition def)
                     throws IfsException
Add a relationship to another public object
Parameters:
rightPo - the right-hand object
def - the relationship definition of the new relationship
Throws:
IfsException - if any other aspect of the operation fails.

removeRelationship


public void removeRelationship(S_Relationship rel)
                        throws IfsException
removes the relationship; may cascade to left and right objects.
Parameters:
rel - the Relationship instance to be removed

getCategories


public S_Category[] getCategories()
                           throws IfsException
Get all categries associated with this instance.
Returns:
the array of category objects.
Throws:
IfsException - if the operation fails

getVersionDescriptions


public S_VersionDescription[] getVersionDescriptions()
                                              throws IfsException
Get all VERSIONDESCRIPTIONs associated with this instance.
Returns:
the array of VERSIONDESCRIPTION objects
Throws:
IfsException - if the operation fails

getRightwardRelationshipObjects


public S_PublicObject[] getRightwardRelationshipObjects(java.lang.String relClassName,
                                                        SortSpecification sort)
                                                 throws IfsException
returns all "right side" public objects that are related to this object by the specified Relationship Class. The Relationship class is specified by name.
Parameters:
RelationshipClassName - the name of the class of relationship on which to filter. Default is RELATIONSHIP
Returns:
an array of related PublicObjects
Throws:
IfsException - if operation fails.

getRightwardRelationshipObjects


public S_PublicObject[] getRightwardRelationshipObjects(S_ClassObject relClass,
                                                        SortSpecification sort)
                                                 throws IfsException
returns all "right side" public objects that are related to this object by the specified Relationship Class. The Relationship class is specified by ClassObject
Parameters:
RelationshipClass - the class of relationship on which to filter.
Returns:
an array of related PublicObjects
Throws:
IfsException - if operation fails.

getLeftwardRelationshipObjects


public S_PublicObject[] getLeftwardRelationshipObjects(java.lang.String relClassName,
                                                       SortSpecification sort)
                                                throws IfsException
returns all "left side" public objects that are related to this object by the specied Relationship Class. The filtering relationship class is specified by name.
Parameters:
RelationshipClassName - the name of the class of relationship on which to filter.
Returns:
an array of related PublicObjects
Throws:
IfsException - if operation fails.

getLeftwardRelationshipObjects


public S_PublicObject[] getLeftwardRelationshipObjects(S_ClassObject relClass,
                                                       SortSpecification sort)
                                                throws IfsException
returns all "left side" public objects that are related to this object by the specied Relationship Class. The filtering relationship class is specified by ClassObject
Parameters:
RelationshipClass - the class of relationship on which to filter.
Returns:
an array of related PublicObjects
Throws:
IfsException - if operation fails.

getRightwardRelationships


public S_Relationship[] getRightwardRelationships(java.lang.String relClassName,
                                                  SortSpecification sort)
                                           throws IfsException
returns all "right side" relationship instances that are used to relate to this object to other PublicObjects. The Filtering Relationship class is specified by name.
Parameters:
RelationshipClassName - the name of the class of relationship on which to filter.
Returns:
an array of Relationship objects
Throws:
IfsException - if operation fails.

getRightwardRelationships


public S_Relationship[] getRightwardRelationships(S_ClassObject relClass,
                                                  SortSpecification sort)
                                           throws IfsException
returns all "right side" relationship instances that are used to relate to this object to other PublicObjects. The Filtering Relationship class is specified by ClassObject.
Parameters:
RelationshipClass - the class of relationship on which to filter.
Returns:
an array of Relationship objects
Throws:
IfsException - if operation fails.

getLeftwardRelationships


public S_Relationship[] getLeftwardRelationships(java.lang.String relClassName,
                                                 SortSpecification sort)
                                          throws IfsException
returns all "left side" relationship instances that are used to relate to this object to other PublicObjects. The Filtering Relationship class is specified by name.
Parameters:
RelationshipClassName - the name of the class of relationship on which to filter.
Returns:
an array of Relationship objects
Throws:
IfsException - if operation fails.

getLeftwardRelationships


public S_Relationship[] getLeftwardRelationships(S_ClassObject relClass,
                                                 SortSpecification sort)
                                          throws IfsException
returns all "left side" relationship instances that are used to relate to this object to other PublicObjects. The Filtering Relationship class is specified by ClassObject.
Parameters:
RelationshipClass - the class of relationship on which to filter.
Returns:
an array of Relationship objects
Throws:
IfsException - if operation fails.