oracle.ifs.beans
Class PublicObject


java.lang.Object

  |

  +--oracle.ifs.beans.LibraryObject

        |

        +--oracle.ifs.beans.TieLibraryObject

              |

              +--oracle.ifs.beans.PublicObject

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

public class PublicObject
extends TieLibraryObject
implements PublicObjectInterface

The PublicObject class is the abstract superclass of all "public object" classes, some of which are Documents, Folders, and ApplicationObjects. The common traits of public objects are:

See Also:
Family, Relationship, Category, PublicObjectDefinition

Field Summary
static java.lang.String ACL_ATTRIBUTE
          The AccessControlList that secures this object.
static java.lang.String ADMINISTRATIONGROUP_ATTRIBUTE
          The AdministrationGroup to which this object belongs.
static java.lang.String CLASS_NAME
          This class name for this class.
static java.lang.String CREATEDATE_ATTRIBUTE
          The date and time (in GMT) when this object was created.
static java.lang.String CREATOR_ATTRIBUTE
          The DirectoryUser that created this object.
static java.lang.String DELETOR_ATTRIBUTE
          The DirectoryUser that deleted (not 'Freed') this object.
static java.lang.String DESCRIPTION_ATTRIBUTE
          A textual description of this object.
static java.lang.String EXPIRATIONDATE_ATTRIBUTE
          The date when this object 'expires'.
static java.lang.String FAMILY_ATTRIBUTE
          The Family to which this object belongs if this object is versioned.
static java.lang.String FLAGS_ATTRIBUTE
          System-set flags of this object.
static java.lang.String LASTMODIFIER_ATTRIBUTE
          The DirectoryUser that last modified this object.
static java.lang.String LASTMODIFYDATE_ATTRIBUTE
          The date and time (in GMT) when this object was last modified.
static java.lang.String LOCKEDFORSESSION_ATTRIBUTE
          The lock set on this object for the duration of the current session.
static java.lang.String LOCKSTATE_ATTRIBUTE
          The type of lock on this object.
static int LOCKSTATE_HARDLOCK
          Represents hardlock state.
static int LOCKSTATE_SESSIONLOCK
          Represents sessionlock state.
static int LOCKSTATE_SOFTLOCK
          Represents softlock state.
static int LOCKSTATE_UNLOCK
          Represents unlock state.
static int LOCKSTATE_USERLOCK
          Represents userlock state.
static java.lang.String NAME_ATTRIBUTE
          The name of this object.
static java.lang.String OWNER_ATTRIBUTE
          The DirectoryUser that owns this object.
static java.lang.String POLICYBUNDLE_ATTRIBUTE
          The policies that apply specifically to this object.
static java.lang.String PROPERTYBUNDLE_ATTRIBUTE
          The PropertyBundle associated with this object.
static java.lang.String RESOLVEDPUBLICOBJECT_ATTRIBUTE
          The PublicObject to which this object resolves.
static java.lang.String SECURINGPUBLICOBJECT_ATTRIBUTE
          A PublicObject from which this object should defer security decisions (e.g, all versions in a Family may have the Family as their securing public object).
 
Method Summary
 void addCategory(CategoryDefinition catdef)
          Adds a Category associated with this PublicObject.
 Relationship addRelationship(RelationshipDefinition reldef)
          Creates a relationship object linking this object (the "left" object) to the PublicObject (the "right" object) contained in the specified Relationship Definition.
 boolean checkEffectiveAccess(AccessLevel level)
          Check to see if current user has the specified access level on this object.
 boolean checkEffectiveAccess(DirectoryObject obj, AccessLevel level)
          Check to see if specified user has the specified access level on this object.
 PublicObject copy(LibraryObjectDefinition def)
          Produces a copy of this PublicObject.
 AccessControlList getAcl()
          Returns this object's AccessControlList.
 java.lang.String[] getAllFolderPaths()
          Gets all Folder paths to the target object, starting from the Root Folder.
 java.lang.String[] getAllFolderPaths(Folder reference)
          get all Folder paths to the target object.
 java.lang.String getAnyFolderPath()
          Gets any Folder path to the target object, starting from the Root Folder.
 java.lang.String getAnyFolderPath(Folder reference)
          Gets any Folder path to the target object.
 Category[] getCategories()
          Returns the associated Category objects.
 Category[] getCategories(SortSpecification sort)
          Returns the associated Category objects.
 java.util.Date getCreateDate()
          Returns the date this object was created.
 DirectoryUser getCreator()
          returns the user that created this object.
 AccessLevel getDefaultAccessLevel()
          Returns the access level defined for "World" access; i.e.
 java.lang.String getDescription()
          Returns the description of this object
 AccessLevel getEffectiveAccessLevel()
          Get the access level on this object for the current user.
 AccessLevel getEffectiveAccessLevel(DirectoryObject obj)
          Get the access level on this object for the specified user.
 java.util.Date getExpirationDate()
          Returns the expiration date set for this object
 Family getFamily()
          Returns the Family with which this object is associated.
 int getFlags()
          Gets the flags bitmask.
 SortSpecification getFolderReferencesSortSpecification()
          Returns the current sort specification used by the getFolderReferences method.
 DirectoryUser getLastModifier()
          Returns the user that last modified this object.
 java.util.Date getLastModifyDate()
          Returns the date this object was last modified
 PublicObject[] getLeftwardRelationshipObjects(ClassObject relClass)
          Returns all "left side" public objects that are related to this object by the specied Relationship Class.
 PublicObject[] getLeftwardRelationshipObjects(java.lang.String relClassName)
          Returns all "left side" public objects that are related to this object by the specied Relationship Class.
 Relationship[] getLeftwardRelationships(ClassObject relClass)
          Returns all "left side" relationship instances that are used to relate to this object to other PublicObjects.
 Relationship[] getLeftwardRelationships(java.lang.String relClassName)
          Returns all "left side" relationship instances that are used to relate to this object to other PublicObjects.
 int getLockedState()
          Deprecated. use getLockState()
 int getLockState()
          Returns the lock state of this object
 java.lang.String getLockStateLabel()
          Gets the localized String label for the LockState set for this instance.
 DirectoryUser getOwner()
          Returns the user that owns the object.
 PolicyPropertyBundle getPolicyBundle()
          Returns this object's PolicyPropertyBundle.
 PropertyBundle getPropertyBundle()
          Returns this object's PropertyBundle.
 PublicObject getResolvedPublicObject()
          Returns the PublicObject to which this object resolves.
 PublicObject[] getRightwardRelationshipObjects(ClassObject relClass)
          Returns all "right side" public objects that are related to this object by the specified Relationship Class.
 PublicObject[] getRightwardRelationshipObjects(java.lang.String relClassName)
          Returns all "right side" public objects that are related to this object by the specified Relationship Class.
 Relationship[] getRightwardRelationships(ClassObject relClass)
          Returns all "right side" relationship instances that are used to relate to this object to other PublicObjects.
 Relationship[] getRightwardRelationships(java.lang.String relClassName)
          Returns all "right side" relationship instances that are used to relate to this object to other PublicObjects.
 PublicObject getSecuringPublicObject()
          Returns the Public Object that controls this object's security.
 AccessControlEntry grantAccess(AccessControlEntryDefinition def)
          Add or extend an AccessControlEntryDefinition for this object.
 void handleEvent(IfsEvent event)
          Handles the specified event.
protected  boolean hasNameAttribute()
          Override to return true for any PublicObject, indicating that the instance has a NAME attribute.
 boolean isLocked()
          Returns true when lock state is not unlock.
 boolean isLockedForSession()
          Returns true if there is a session lock held on this object.
 boolean isLockedForSessionByCurrentSession()
          Returns true if there is a session lock held on this object, and it is held by the invoking session.
 boolean isVersionable()
          Returns true if this class of object is versionable.
 boolean isVersioned()
          returns true if this object is versioned (FAMILY != null)
 void lock(int lockValue)
          Obtain a lock on the object.
 void putPolicy(Policy policy)
          Adds a Policy to this object's PolicyPropertyBundle.
 void putProperty(AttributeValue av)
          Adds a Property to this object's PropertyBundle.
 void putProperty(java.lang.String name, AttributeValue av)
          Adds a Property to this object's PropertyBundle.
 void removeAllPolicies()
          Removes all Policies from this object's PolicyPropertyBundle, leaving an empty PolicyPropertyBundle.
 void removeAllProperties()
          Removes all Properties from this object's PropertyBundle, leaving an empty PropertyBundle.
 void removePolicy(Policy policy)
          Removes a Policy from this object's PolicyPropertyBundle.
 void removePolicy(java.lang.String opname)
          Removes a Policy from this object's PolicyPropertyBundle.
 void removeProperty(java.lang.String name)
          Removes a Property from this object's PropertyBundle.
 void removeRelationship(Relationship rel)
          Frees the specified relationship object that relates two PublicObjects.
 AccessControlEntry revokeAccess(AccessControlEntryDefinition def)
          Remove or restrict an AccessControlEntryDefinition for this object.
 void revokeAllAccess()
          Remove all AccessControlEntryDefinitions for this object.
 void setAcl(AccessControlList acl)
          Sets the AccessControlList for this object.
 void setDescription(java.lang.String description)
          Updates the description of this object.
 void setExpirationDate(java.util.Date date)
          Updates the expiration date set for this object.
 void setFlags(int flags)
          Sets the flags bitmask.
 void setFolderReferencesSortSpecification(SortSpecification spec)
          Sets the sort specification used by the getFolderReferences method.
 void setOwner(DirectoryUser owner)
          Updates the owner of this object.
 void setPolicyBundle(PolicyPropertyBundle bundle)
          set the PolicyPropertyBundle for this object, for the managing of per-instance Policies.
 void setPropertyBundle(PropertyBundle bundle)
          Sets this object's PropertyBundle.
 void setSecuringPublicObject(PublicObject pubobj)
          Sets the Public Object that controls our security.
static java.lang.String toLockStateLabel(int lockState)
          Converts the specified LockState constant to a localized label.
static java.lang.String toLockStateLabel(int lockState, LibrarySession session)
          Converts the specified LockState constant to a localized label, using the Localizer from the specified LibrarySession.
static java.lang.String toLockStateLabel(int lockState, Localizer localizer)
          Converts the specified LockState constant to a localized label, using the specified Localizer.
 void unlock()
          Releases the persistent lock on the object.
 
Methods inherited from class oracle.ifs.beans.LibraryObject
equals, free, free, getAttribute, getAttributeByUpperCaseName, getAttributes, getAttributesByUpperCaseNames, getClassId, getClassObject, getDefinition, getId, getLabel, getName, getSession, invokeServerMethod, isInstanceOf, isTraced, lookupInstanceLabel, postEvent, postEvent, renderAsReader, renderAsStream, setAttribute, setAttribute, setAttributes, setAttributes, setName, toString, trace, update
 
Methods inherited from interface oracle.ifs.common.LibraryObjectInterface
getId
 
Methods inherited from interface oracle.ifs.common.Traceable
getTraceLogger, isTraced, trace
 

Field Detail


CLASS_NAME


public static final java.lang.String CLASS_NAME
This class name for this class. Useful for methods that take a class name argument.

NAME_ATTRIBUTE


public static final java.lang.String NAME_ATTRIBUTE
The name of this object.

DESCRIPTION_ATTRIBUTE


public static final java.lang.String DESCRIPTION_ATTRIBUTE
A textual description of this object.

OWNER_ATTRIBUTE


public static final java.lang.String OWNER_ATTRIBUTE
The DirectoryUser that owns this object.

ACL_ATTRIBUTE


public static final java.lang.String ACL_ATTRIBUTE
The AccessControlList that secures this object.

FAMILY_ATTRIBUTE


public static final java.lang.String FAMILY_ATTRIBUTE
The Family to which this object belongs if this object is versioned.

RESOLVEDPUBLICOBJECT_ATTRIBUTE


public static final java.lang.String RESOLVEDPUBLICOBJECT_ATTRIBUTE
The PublicObject to which this object resolves. Families, VersionSeries, and VersionDescriptions resolve to a specific PublicObject which represents the 'desired version' (e.g. the latest version).

CREATEDATE_ATTRIBUTE


public static final java.lang.String CREATEDATE_ATTRIBUTE
The date and time (in GMT) when this object was created.

CREATOR_ATTRIBUTE


public static final java.lang.String CREATOR_ATTRIBUTE
The DirectoryUser that created this object.

LASTMODIFYDATE_ATTRIBUTE


public static final java.lang.String LASTMODIFYDATE_ATTRIBUTE
The date and time (in GMT) when this object was last modified.

LASTMODIFIER_ATTRIBUTE


public static final java.lang.String LASTMODIFIER_ATTRIBUTE
The DirectoryUser that last modified this object.

DELETOR_ATTRIBUTE


public static final java.lang.String DELETOR_ATTRIBUTE
The DirectoryUser that deleted (not 'Freed') this object. Deletor will be set to null if this object is later undeleted.

POLICYBUNDLE_ATTRIBUTE


public static final java.lang.String POLICYBUNDLE_ATTRIBUTE
The policies that apply specifically to this object.

PROPERTYBUNDLE_ATTRIBUTE


public static final java.lang.String PROPERTYBUNDLE_ATTRIBUTE
The PropertyBundle associated with this object.

ADMINISTRATIONGROUP_ATTRIBUTE


public static final java.lang.String ADMINISTRATIONGROUP_ATTRIBUTE
The AdministrationGroup to which this object belongs. The AdministrationGroup may be set to null.

SECURINGPUBLICOBJECT_ATTRIBUTE


public static final java.lang.String SECURINGPUBLICOBJECT_ATTRIBUTE
A PublicObject from which this object should defer security decisions (e.g, all versions in a Family may have the Family as their securing public object).

EXPIRATIONDATE_ATTRIBUTE


public static final java.lang.String EXPIRATIONDATE_ATTRIBUTE
The date when this object 'expires'. ExpirationDate is an advisory attribute. The repository does not act on this attribute.

LOCKSTATE_ATTRIBUTE


public static final java.lang.String LOCKSTATE_ATTRIBUTE
The type of lock on this object. The different states control the circumstances under which this object can be modified and/or deleted.

FLAGS_ATTRIBUTE


public static final java.lang.String FLAGS_ATTRIBUTE
System-set flags of this object.

LOCKEDFORSESSION_ATTRIBUTE


public static final java.lang.String LOCKEDFORSESSION_ATTRIBUTE
The lock set on this object for the duration of the current session.

LOCKSTATE_UNLOCK


public static final int LOCKSTATE_UNLOCK
Represents unlock state.

LOCKSTATE_HARDLOCK


public static final int LOCKSTATE_HARDLOCK
Represents hardlock state.

LOCKSTATE_SOFTLOCK


public static final int LOCKSTATE_SOFTLOCK
Represents softlock state.

LOCKSTATE_USERLOCK


public static final int LOCKSTATE_USERLOCK
Represents userlock state.

LOCKSTATE_SESSIONLOCK


public static final int LOCKSTATE_SESSIONLOCK
Represents sessionlock state.
Method Detail

hasNameAttribute


protected boolean hasNameAttribute()
                            throws IfsException
Override to return true for any PublicObject, indicating that the instance has a NAME attribute.
Overrides:
hasNameAttribute in class LibraryObject
Returns:
true.
Throws:
IfsException - if operation fails.

getCreateDate


public java.util.Date getCreateDate()
                             throws IfsException
Returns the date this object was created.
Returns:
Date of creation
Throws:
IfsException - if operation fails.

getCreator


public DirectoryUser getCreator()
                         throws IfsException
returns the user that created this object.
Returns:
the creator
Throws:
IfsException - if operation fails.

getLastModifier


public DirectoryUser getLastModifier()
                              throws IfsException
Returns the user that last modified this object.
Returns:
the last modifier
Throws:
IfsException - if operation fails.

getDescription


public java.lang.String getDescription()
                                throws IfsException
Returns the description of this object
Returns:
The object description
Throws:
IfsException - if operation fails.

setDescription


public void setDescription(java.lang.String description)
                    throws IfsException
Updates the description of this object.
Parameters:
description - New description
Throws:
IfsException - if operation fails.

getLastModifyDate


public java.util.Date getLastModifyDate()
                                 throws IfsException
Returns the date this object was last modified
Returns:
Date of modification
Throws:
IfsException - if operation fails.

getOwner


public DirectoryUser getOwner()
                       throws IfsException
Returns the user that owns the object. The owner automatically has full access to this object.
Returns:
User that owns the object.
Throws:
IfsException - if operation fails.

setOwner


public void setOwner(DirectoryUser owner)
              throws IfsException
Updates the owner of this object.
Parameters:
owner - the new owner for the object.
Throws:
IfsException - if operation fails.

setAcl


public void setAcl(AccessControlList acl)
            throws IfsException
Sets the AccessControlList for this object.
Parameters:
acl - - the AccessControlList setting.
Throws:
IfsException - if operation fails.
See Also:
AccessControlList

getAcl


public AccessControlList getAcl()
                         throws IfsException
Returns this object's AccessControlList. Returns null if no AccessControlList was specified.
Returns:
AccessControlList for the object.
Throws:
IfsException - if operation fails.

getSecuringPublicObject


public PublicObject getSecuringPublicObject()
                                     throws IfsException
Returns the Public Object that controls this object's security. Returns null if no Securing Object was specified.
Returns:
PublicObject that controls this object's security, or null if none
Throws:
IfsException - if operation fails.

setSecuringPublicObject


public void setSecuringPublicObject(PublicObject pubobj)
                             throws IfsException
Sets the Public Object that controls our security.
Parameters:
publicobject - the PublicObject that controls the security
Throws:
IfsException - if operation fails.

addCategory


public void addCategory(CategoryDefinition catdef)
                 throws IfsException
Adds a Category associated with this PublicObject.
Parameters:
catdef - the CategoryDefinition that describes the new Category that will be associated with this PublicObject.
Throws:
IfsException - if operation fails.

getCategories


public Category[] getCategories()
                         throws IfsException
Returns the associated Category objects. Returns null if no Category objects are associated.
Returns:
array of Category objects associated witht he traget object.
Throws:
IfsException - if operation fails.

getCategories


public Category[] getCategories(SortSpecification sort)
                         throws IfsException
Returns the associated Category objects. Returns null if no Category objects are associated.
Parameters:
sort - the specification of how the returned Category objects will be sorted.
Returns:
array of Category objects associated with the traget object.
Throws:
IfsException - if operation fails.

getExpirationDate


public java.util.Date getExpirationDate()
                                 throws IfsException
Returns the expiration date set for this object
Returns:
The expiration date, or null if one is not set
Throws:
IfsException - if operation fails.

setExpirationDate


public void setExpirationDate(java.util.Date date)
                       throws IfsException
Updates the expiration date set for this object. A user must have both Delete and SetAttribute permissions on the object to perform this operation.
Parameters:
date - New expiration date
Throws:
IfsException - if operation fails.

getFlags


public int getFlags()
             throws IfsException
Gets the flags bitmask. This is used for miscellaneous status bits used by some protocols.
Returns:
the flags value. Returns 0 if no value is specified.
Throws:
IfsException - if the operation fails

setFlags


public void setFlags(int flags)
              throws IfsException
Sets the flags bitmask. This is used for miscellaneous status bits used by some protocols.

Equivalent to: AttributeValue av = AttributeValue.newAttributeValue(flags); setAttribute(FLAGS_ATTRIBUTE, av);

Parameters:
flags - the flags value.
Throws:
IfsException - if the operation fails

getLockedState


public int getLockedState()
                   throws IfsException
Deprecated. use getLockState()

Returns the lock state of this object
Returns:
The lock state
Throws:
IfsException - if operation fails.

getLockState


public int getLockState()
                 throws IfsException
Returns the lock state of this object
Returns:
The lock state
Throws:
IfsException - if operation fails.

getLockStateLabel


public java.lang.String getLockStateLabel()
                                   throws IfsException
Gets the localized String label for the LockState set for this instance.
Returns:
the label corresponding to the LockState
Throws:
IfsException - if operation fails.

toLockStateLabel


public static java.lang.String toLockStateLabel(int lockState)
                                         throws IfsException
Converts the specified LockState constant to a localized label. The default Localizer is used.
Parameters:
lockState - the LockState constant.
Returns:
the label corresponding to the specified LockState constant.
Throws:
IfsException - if operation fails.

toLockStateLabel


public static java.lang.String toLockStateLabel(int lockState,
                                                LibrarySession session)
                                         throws IfsException
Converts the specified LockState constant to a localized label, using the Localizer from the specified LibrarySession.
Parameters:
lockState - the LockState constant
session - the LibrarySession, whose current Localizer will be used for the conversion
Returns:
the label corresponding to the specified LockState constant
Throws:
IfsException - if operation fails.

toLockStateLabel


public static java.lang.String toLockStateLabel(int lockState,
                                                Localizer localizer)
                                         throws IfsException
Converts the specified LockState constant to a localized label, using the specified Localizer. If a null is specified for the Localizer, a temporary Localizer (constructed based on the default Locale) is used for the conversion.
Parameters:
lockState - the LockState constant.
localizer - the Localizer that performs the conversion
Returns:
the label corresponding to the specified LockState constant.
Throws:
IfsException - if operation fails.

isLocked


public boolean isLocked()
                 throws IfsException
Returns true when lock state is not unlock.
Returns:
The lock state - true if the object is locked. This returns true when lock state is not unlock.
Throws:
IfsException - if operation fails.

isLockedForSession


public boolean isLockedForSession()
                           throws IfsException
Returns true if there is a session lock held on this object.
Returns:
true if there is a session lock held on this object.
Throws:
IfsException - if operation fails.

isLockedForSessionByCurrentSession


public boolean isLockedForSessionByCurrentSession()
                                           throws IfsException
Returns true if there is a session lock held on this object, and it is held by the invoking session.
Returns:
true if there is a session lock held on this object, and it is held by the invoking session.
Throws:
IfsException - if operation fails.

lock


public void lock(int lockValue)
          throws IfsException
Obtain a lock on the object. Type of the lock is based on the parameter specified. If you pass PublicObject.LOCKSTATE_UNLOCK, it unlocks any current lock if you have sufficient permissions.
Throws:
IfsException - if operation fails.

unlock


public void unlock()
            throws IfsException
Releases the persistent lock on the object. A user must have both Lock and SetAttribute permissions on the object to perform this operation.
Throws:
IfsException - if operation fails.

setPropertyBundle


public void setPropertyBundle(PropertyBundle bundle)
                       throws IfsException
Sets this object's PropertyBundle.
Parameters:
bundle - the Properties setting.
Throws:
IfsException - if operation fails.

getPropertyBundle


public PropertyBundle getPropertyBundle()
                                 throws IfsException
Returns this object's PropertyBundle. Returns null if no PropertyBundle was specified.
Returns:
PropertyBundle for the object.
Throws:
IfsException - if operation fails.

putProperty


public void putProperty(AttributeValue av)
                 throws IfsException
Adds a Property to this object's PropertyBundle. Creates a new PropertBundle if one does not already exist.
Parameters:
av - the name/value of the property to add
Throws:
IfsException - if operation fails.

putProperty


public void putProperty(java.lang.String name,
                        AttributeValue av)
                 throws IfsException
Adds a Property to this object's PropertyBundle. Creates a new PropertBundle if one does not already exist.
Parameters:
name - the name of the new property
value - the value of the new property
Throws:
IfsException - if operation fails.

removeProperty


public void removeProperty(java.lang.String name)
                    throws IfsException
Removes a Property from this object's PropertyBundle.
Parameters:
name - the name of the property to remove
Throws:
IfsException - if operation fails.

removeAllProperties


public void removeAllProperties()
                         throws IfsException
Removes all Properties from this object's PropertyBundle, leaving an empty PropertyBundle.
Throws:
IfsException - if operation fails.

putPolicy


public void putPolicy(Policy policy)
               throws IfsException
Adds a Policy to this object's PolicyPropertyBundle. Creates a new PolicyPropertyBundle if one does not already exist.
Parameters:
policy - the Policy to add
Throws:
IfsException - if operation fails.

removePolicy


public void removePolicy(java.lang.String opname)
                  throws IfsException
Removes a Policy from this object's PolicyPropertyBundle.
Parameters:
av - the operation name of the policy to remove
Throws:
IfsException - if operation fails.

removePolicy


public void removePolicy(Policy policy)
                  throws IfsException
Removes a Policy from this object's PolicyPropertyBundle.
Parameters:
av - the operation name of the policy to remove
Throws:
IfsException - if operation fails.

removeAllPolicies


public void removeAllPolicies()
                       throws IfsException
Removes all Policies from this object's PolicyPropertyBundle, leaving an empty PolicyPropertyBundle.
Throws:
IfsException - if operation fails.

setPolicyBundle


public void setPolicyBundle(PolicyPropertyBundle bundle)
                     throws IfsException
set the PolicyPropertyBundle for this object, for the managing of per-instance Policies.
Parameters:
bundle - the PolicyPropertyBundle setting.
Throws:
IfsException - if operation fails.

getPolicyBundle


public PolicyPropertyBundle getPolicyBundle()
                                     throws IfsException
Returns this object's PolicyPropertyBundle. Return null if no Policies are specified.
Returns:
Policy PolicyPropertyBundle for the object.
Throws:
IfsException - if operation fails.

getAnyFolderPath


public java.lang.String getAnyFolderPath()
                                  throws IfsException
Gets any Folder path to the target object, starting from the Root Folder. If no reachable path exists, return null.
Returns:
a Folder path to the target object.
Throws:
IfsException - if operation fails.
See Also:
getFolderReferences()

getAnyFolderPath


public java.lang.String getAnyFolderPath(Folder reference)
                                  throws IfsException
Gets any Folder path to the target object. If no reachable path exists, return null.
Returns:
a Folder path to the target object.
Throws:
IfsException - if operation fails.
See Also:
getFolderReferences()

getAllFolderPaths


public java.lang.String[] getAllFolderPaths()
                                     throws IfsException
Gets all Folder paths to the target object, starting from the Root Folder. If no reachable path exists, return null.
Returns:
all Folder paths to the target object.
Throws:
IfsException - if operation fails.
See Also:
getFolderReferences()

getAllFolderPaths


public java.lang.String[] getAllFolderPaths(Folder reference)
                                     throws IfsException
get all Folder paths to the target object. If no reachable paths exists, return null.
Returns:
all Folder paths to the target object.
Throws:
IfsException - if operation fails.
See Also:
getFolderReferences()

getFolderReferencesSortSpecification


public SortSpecification getFolderReferencesSortSpecification()
                                                       throws IfsException
Returns the current sort specification used by the getFolderReferences method.
Returns:
the folder references sort specification.
Throws:
IfsException - if operation fails.
See Also:
getFolderReferences()

setFolderReferencesSortSpecification


public void setFolderReferencesSortSpecification(SortSpecification spec)
                                          throws IfsException
Sets the sort specification used by the getFolderReferences method.
Parameters:
spec - the folder references sort specification.
Throws:
IfsException - if operation fails.
See Also:
getFolderReferences()

copy


public PublicObject copy(LibraryObjectDefinition def)
                  throws IfsException
Produces a copy of this PublicObject. Applies the optionally specified definition to the new object.
Parameters:
def - Definition describing changes to the new object, or null for exact copy.
Returns:
a copy of the target object
Throws:
IfsException - if operation fails.

addRelationship


public Relationship addRelationship(RelationshipDefinition reldef)
                             throws IfsException
Creates a relationship object linking this object (the "left" object) to the PublicObject (the "right" object) contained in the specified Relationship Definition.
Parameters:
relationshipDefinition. - Describes the new Relationship object, including the PublicObject to which this object will be related.
Returns:
the newly created Relationship object
Throws:
IfsException - if operation fails.

removeRelationship


public void removeRelationship(Relationship rel)
                        throws IfsException
Frees the specified relationship object that relates two PublicObjects.
Parameters:
Relationship - the relationship object to be removed.
Throws:
IfsException - if operation fails.

getRightwardRelationshipObjects


public PublicObject[] getRightwardRelationshipObjects(java.lang.String relClassName)
                                               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.
Returns:
an array of related PublicObjects
Throws:
IfsException - if operation fails.

getRightwardRelationshipObjects


public PublicObject[] getRightwardRelationshipObjects(ClassObject relClass)
                                               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 PublicObject[] getLeftwardRelationshipObjects(java.lang.String relClassName)
                                              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 PublicObject[] getLeftwardRelationshipObjects(ClassObject relClass)
                                              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 Relationship[] getRightwardRelationships(java.lang.String relClassName)
                                         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 Relationship[] getRightwardRelationships(ClassObject relClass)
                                         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 Relationship[] getLeftwardRelationships(java.lang.String relClassName)
                                        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 Relationship[] getLeftwardRelationships(ClassObject relClass)
                                        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.

isVersioned


public boolean isVersioned()
                    throws IfsException
returns true if this object is versioned (FAMILY != null)
Returns:
true if this object is versioned (FAMILY != null)
Throws:
IfsException - if operation fails.
See Also:
Family

getFamily


public Family getFamily()
                 throws IfsException
Returns the Family with which this object is associated. A PublicObject has a Family when (and only when) it is versioned. Most PublicObjects can be associated with a Family, call isVersionable to be sure.
Returns:
Family with which this Object is associated.
Throws:
IfsException - if operation fails.

getResolvedPublicObject


public PublicObject getResolvedPublicObject()
                                     throws IfsException
Returns the PublicObject to which this object resolves. For the non version classes (for example, Document and Folder) this simply returns this. For the version classes, (Family, VersionSeries, and VersionDescription), this will return a non version-class object as determined by the configuration of the instance of the version class.

For example, getResolvedPublicObject() on a VersionDescription will return the PublicObject which it is tracking [same as VersionDescription.getPublicObject()].

For a VersionSeries, this will normally return the latest versioned PublicObject in that series (but this can be overridden). Refer to each version class' javadoc for details.

Returns:
PublicObject that this object resolves to
Throws:
IfsException - if operation fails.
See Also:
Family.setDefaultVersionDescription(oracle.ifs.beans.VersionDescription), Family.setPrimaryVersionSeries(oracle.ifs.beans.VersionSeries), VersionSeries.setDefaultVersionDescription(oracle.ifs.beans.VersionDescription)

isVersionable


public boolean isVersionable()
                      throws IfsException
Returns true if this class of object is versionable. For PublicObject, this defaults to false. Subclasses override this method.
Throws:
IfsException - if operation fails.

handleEvent


public void handleEvent(IfsEvent event)
                 throws IfsException
Handles the specified event.
Overrides:
handleEvent in class LibraryObject
Parameters:
event - the event
Throws:
IfsException - if the operation fails

getDefaultAccessLevel


public AccessLevel getDefaultAccessLevel()
                                  throws IfsException
Returns the access level defined for "World" access; i.e. the minimum access granted implicitly to all users.
Returns:
the AccessLevel set for "World"
Throws:
IfsException - if operation fails.

getEffectiveAccessLevel


public AccessLevel getEffectiveAccessLevel()
                                    throws IfsException
Get the access level on this object for the current user.
Returns:
the AccessLevel set for the current user
Throws:
IfsException - if operation fails.

getEffectiveAccessLevel


public AccessLevel getEffectiveAccessLevel(DirectoryObject obj)
                                    throws IfsException
Get the access level on this object for the specified user.
Parameters:
user - specified user on which to check Access Control
Returns:
the AccessLevel set for the specified user
Throws:
IfsException - if operation fails.

checkEffectiveAccess


public boolean checkEffectiveAccess(AccessLevel level)
                             throws IfsException
Check to see if current user has the specified access level on this object.
Parameters:
level - specified level.
Returns:
true if current user has at least the specified access.
Throws:
IfsException - if operation fails.

checkEffectiveAccess


public boolean checkEffectiveAccess(DirectoryObject obj,
                                    AccessLevel level)
                             throws IfsException
Check to see if specified user has the specified access level on this object.
Parameters:
user - specified user on which to check Access Control
level - specified level.
Returns:
true if specified user has at least the specified access.
Throws:
IfsException - if operation fails.

grantAccess


public AccessControlEntry grantAccess(AccessControlEntryDefinition def)
                               throws IfsException
Add or extend an AccessControlEntryDefinition for this object. This will extend the access for the referenced user by the permissions set in the AccessControlEntryDefinition object. If the user already has all of the permissions specified in the AccessControlEntryDefinition's AccessLevel object, this operation does nothing (no exception thrown). NOTE if this object is currently sharing an ACL with another object, then this operation may cause the ACL to be no longer shared. In that case, the ACE created by this operation is not returned (null is returned). This may be addressed in a future release.
Parameters:
def - AccessControlEntryDefinition definition
Returns:
the AccessControlEntry created by the operation
Throws:
IfsException - if operation fails.

revokeAccess


public AccessControlEntry revokeAccess(AccessControlEntryDefinition def)
                                throws IfsException
Remove or restrict an AccessControlEntryDefinition for this object. This will restrict the access for the referenced user by the permissions set in the AccessControlEntryDefinition object. If the user already does not have any of the permissions specified in the AccessControlEntryDefinition's AccessLevel object, this oepration does nothing (no exception thrown). NOTE if this object is currently sharing an ACL with another object, then this operation may cause the ACL to be no longer shared. In that case, the ACE created by this operation is not returned (null is returned). This may be addressed in a future release.
Parameters:
def - AccessControlEntryDefinition definition
Returns:
the AccessControlEntry created by the operation
Throws:
IfsException - if operation fails.

revokeAllAccess


public void revokeAllAccess()
                     throws IfsException
Remove all AccessControlEntryDefinitions for this object. Any grants that have been specifically issued for this object to specific users or user entities are removed.
Throws:
IfsException - if operation fails.