Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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:

- Public Objects are the only objects that appear in Folders.
- Public Objects are access controlled. Methods are implemented on this class to grant, revoke, set, and inquire on permissions.
- Public Objects have system-set create and modification date attributes.
- Public Objects have creator, owner, description, and ACL attributes that can be set from the API.
- Many subclasses of PublicObject can be versioned. The `isVersionable()` method will tell you if that class can be versioned.
- a PublicObject can be related to any other PublicObject via an instance of the Relationship class. There are methods to retrieve the left and right side relationship instances as well as the PublicObjects at the other end of those relationships.
- a PublicObject can belong to a category.
- A PublicObject can have its security attributes tied to another object. For example, PublicObject A can be "secured by" PublicObject B. When an access is changed on PublicObject B, PublicObject A's access is also modified.

See Also:
  `Family`, `Relationship`, `Category`, `PublicObjectDefinition`
(Published)

Field Summary
`static java.lang.String` | `ACL_ATTRIBUTE` The AccessControlList that secures this object.
`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 long` | `FLAG_CATEGORY_EXISTS` Flag that indicates one or more Categories exist (bit 16).
`static long` | `FLAG_CONFIGURATIONCATEGORY_EXISTS` Flag that indicates one or more ConfigurationCategories exist (bit 17).
`static long` | `FLAG_MARKED` Flag for IMAP "Marked" status (bit 2).
`static long` | `FLAG_NOINFERIOR` Flag for IMAP "No Inferior" status (bit 0).
`static long` | `FLAG_NOSELECT` Flag for IMAP "No Select" status (bit 1).
`static long` | `FLAG_NTFS_ARCHIVE` Flag for SMB/NTFS "archive" status (bit 6).
`static long` | `FLAG_NTFS_HIDDEN` Flag for SMB/NTFS "hidden" status (bit 4).
`static long` | `FLAG_NTFS_READONLY` Flag for SMB/NTFS "readonly" status (bit 7).
`static long` | `FLAG_NTFS_SYSTEM` Flag for SMB/NTFS "system" status (bit 5).
`static long` | `FLAG_UNMARKED` Flag for IMAP "Unmarked" status (bit 3).
`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` | `LOCKENTRIES_ATTRIBUTE` LockEntries for this object.
`static java.lang.String` | `LOCKOBJECT_ATTRIBUTE` The lock object for this PublicObject.
`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` Deprecated. CM SDK 10gR2: see release notes for changes to Policy framework
`static java.lang.String` | `POLICYLISTS_ATTRIBUTE` The set of PolicyLists explicitly applied to this object.
`static java.lang.String` | `PRIMARYPARENTFOLDER_ATTRIBUTE` The primary parent folder for this PublicObject.
`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).

Fields inherited from class oracle.ifs.beans.LibraryObject
`DOMAIN_UNIQUENAME_DEFAULT_DELIMITER, m_ClassId, m_Id, m_Session`

Constructor Summary
`protected` | `PublicObject(LibrarySession session, java.lang.Long id, java.lang.Long classId, S_LibraryObjectData data)` Constructs a PublicObject object - standard variant.

Method Summary
`protected AccessControlEntry` | `addAccess(AccessControlEntryDefinition def)` addAccess - USed by grantAccess() and revokeAccess() to add a AccessControlEntry for this object.
`Category` | `addCategory(CategoryDefinition catdef)` Adds a Category associated with this PublicObject.
`void` | `addFlags(long addedFlags)` Adds flags to the exist value of the FLAGS attribute, without causing the modification attributes to change.
`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.
`protected void` | `auditPublicObjectLocked(int lockType)` Audits a PublicObject being locked.
`protected void` | `auditPublicObjectUnlocked(int lockType)` Audits a PublicObject being unlocked.
`boolean` | `canAcquireManualLock()` Returns whether a LockEntry of type `LibraryConstants.LOCKTYPE_MANUAL` can be acquired for this object by the current user.
`boolean` | `canReleaseDavLock()` Returns whether a LockEntry of type `LibraryConstants.LOCKTYPE_DAV` can be released from this object by the current user.
`protected boolean` | `canReleaseLock(LockEntry existingLock)` Returns whether the given existing LockEntry can be released from this object by the current user.
`boolean` | `canReleaseManualLock()` Returns whether a LockEntry of type `LibraryConstants.LOCKTYPE_MANUAL` can be released from this object by the current user.
`PublicObjectCapabilities` | `capabilities()` Returns the PublicObjectCapabilities delegate which tracks the capabilities of this object.
`boolean` | `checkAuditViewCapability()` Checks if user can view audit information for this object.
`boolean` | `checkCapabilities(AccessLevel capabilities)` Checks if the given capabilities are enabled for this object.
`boolean` | `checkCapability(long capability)` Checks if the given capability is enabled for this object.
`boolean` | `checkEffectiveAccess(AccessLevel level)` Checks 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.
`boolean` | `checkLockAccess(AccessLevel level)` Checks to see if current user is locked from the specified access level on this object.
`protected void` | `checkVersioned()`
`void` | `clearFlags(long clearedFlags)` Clears flags from the exist value of the FLAGS attribute, without causing the modification attributes to change.
`protected static PublicObject` | `constructPublicObject(LibrarySession sess, S_LibraryObjectData data)`
`static PublicObject[]` | `constructPublicObjectArray(LibrarySession sess, java.lang.Long[] ids)` Constructs a PublicObject array from an array of object IDs.
`protected static java.util.Vector` | `constructPublicObjectVector(LibrarySession sess, java.util.Vector vector)`
`PublicObject` | `copy(LibraryObjectDefinition def)` Produces a copy of this PublicObject.
`protected boolean` | `coreAutoFolderingEnabled()` Extensibility point to see if core AutoFoldering is enabled.
`protected void` | `createCategories(CategoryDefinition[] catDefs)` Creates a set of Category objects associated with this PublicObject, without changing the modify date/modifier on the target object.
`protected PolicyPropertyBundle` | `createDedicatedPolicyPropertyBundle()` Deprecated. CM SDK 10gR2: see release notes for changes to Policy framework
`void` | `delete()` Mark an object for delete.
`void` | `deriveEffectiveAccessLevel(AccessLevel level)` Modify the AccessLevel specified to enable or disable effective permissions for this object.
`void` | `free(LibraryObjectDefinition def)` Permanently removes this object from the repository, with options.
`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)` Gets all Folder paths to the target object.
`java.lang.String[]` | `getAllFolderPaths(Folder reference, FolderPathOptions fpo)` Gets 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.
`java.lang.String` | `getAnyFolderPath(Folder reference, FolderPathOptions fpo)` Gets any Folder path to the target object.
`AccessLevel` | `getCapabilities()` Returns the enabled capabilities for this object.
`Category[]` | `getCategories()` Returns an array of categories for this PublicObject.
`Category[]` | `getCategories(ClassObject classobj)` Returns the associated Category objects that are instances of the ClassObject (or one of its subclasses) specified.
`Category[]` | `getCategories(ClassObject classobj, SortSpecification sort)` Returns the associated Category objects that are instances of the specified class or a subclass of the specified class.
`Category` | `getCategories(int index)` Returns the Category at specified index in the array of all Categories.
`Category[]` | `getCategories(SortSpecification sort)` Returns the associated Category objects.
`Category` | `getCategory(ClassObject classobj)` Returns the associated Category object that is an instance of the ClassObject (or one of its subclasses) specified.
`long` | `getConsumedStorage()` Returns the storage (in bytes) consumed by the content of this object.
`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.
`DirectoryUser` | `getDeletor()` Returns the user that deleted this object, or null if the object is not marked for deletion.
`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.
`PublicObject` | `getFirstVersion()` Returns the PublicObject referenced by the first VersionDescription in the PrimaryVersionSeries.
`long` | `getFlags()` Gets the flags bitmask.
`Folder[]` | `getFolderReferences()` Returns an array of folders that reference this PublicObject.
`Folder` | `getFolderReferences(int index)` Returns the Folder at specified index in the array of ReferencingFolders.
`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` | `getLastVersion()` Returns the PublicObject referenced by the last VersionDescription in the PrimaryVersionSeries.
`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.
`long` | `getLeftwardRelationshipsCount(ClassObject relClass)` Returns the count of all "left side" relationship instances that are used to relate to this object to other PublicObjects.
`long` | `getLeftwardRelationshipsCount(java.lang.String relClassName)` Returns the count of all "left side" relationship instances that are used to relate to this object to other PublicObjects.
`Link[]` | `getLinks()` Gets all Link objects that refer to this PublicObject.
`LockEntry[]` | `getLockEntries()` Returns all LockEntry objects associated with this instance.
`LockEntry[]` | `getLockEntries(boolean includeFamily)` Returns the LockEntry instances that have been applied to this object, optionally including the LockEntry instances that have been applied to this object's Family, if this object has a Family.
`LockObject` | `getLockObject()` Returns the lock object of this object.
`AccessLevel` | `getLockRestrictions()` Gets the set of lock restrictions for the current user.
`protected AttributeValue[]` | `getLockTypeAuditProperties(int lockType)` Gets the audit event properties to add that describe a Lock type.
`PublicObject` | `getNextVersion()` Returns the PublicObject referenced by the next VersionDescription in the PrimaryVersionSeries.
`DirectoryUser` | `getOwner()` Returns the user that owns the object.
`PolicyPropertyBundle` | `getPolicyBundle()` Deprecated. CM SDK 10gR2: see release notes for changes to Policy framework
`PolicyList[]` | `getPolicyLists()` Gets the PolicyLists for this object.
`PublicObject` | `getPreviousVersion()` Returns the PublicObject referenced by the previous VersionDescription in the PrimaryVersionSeries.
`java.lang.String` | `getPrimaryFolderPath()` Gets the primary path to the object, using the PRIMARYPARENTFOLDER attribute of the target object and the referencing folders above it in the folder hierarchy.
`Folder` | `getPrimaryParentFolder()` Gets the primary parent folder for the object.
`Folder` | `getPrimaryParentFolder(boolean useFamily)` Gets the primary parent folder for the object.
`java.lang.String` | `getReservationComment()` Returns the reservation comment specified when this object's primaryVersionSeries was reserved.
`java.util.Date` | `getReservationDate()` Returns the Date on which this object's primaryVersionSeries was reserved.
`DirectoryUser` | `getReservor()` Returns the user that has reserved the primaryVersionSeries for this object.
`PublicObject` | `getResolvedPublicObject()` Returns the PublicObject to which this object resolves.
`LockEntry[]` | `getRestrictingLockEntries(AccessLevel level)` Gets the set of lock entries that result in restricting the specified access for the current user.
`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.
`protected VersionDescription` | `getSingletonVersionDescription()`
`long` | `getVersionNumber()` returns the sequential number of this revision within the primary version series.
`PublicObject[]` | `getVersions()` Returns an array of PublicObjects which are all referenced by the VersionDescriptions in the primary version series.
`VersionSeries` | `getVersionSeries()` Returns the Primary VersionSeries with which this object is associated.
`PublicObject` | `getWorkingCopy()` Returns the working copy of this object's Family.
`AccessControlEntry` | `grantAccess(AccessControlEntryDefinition def)` Add or extend an AccessControlEntryDefinition for this object.
`protected PublicObject` | `handleCopy(LibraryObjectDefinition def)` Handle the low-level repository copy
`protected PublicObject` | `handleCreate(LibraryObjectDefinition lodef)` Handles the low-level creation of the PublicObject
`protected void` | `handleUnlockAll()` Provides a template for subclasses to specify additional logic for the unlockAll() operation.
`boolean` | `hasCategories()` Returns indication as to whether the object has any associated Categories.
`boolean` | `hasConfigurationCategories()` Returns indication as to whether the object has any associated ConfigurationCategories.
`boolean` | `hasNameAttribute()` Overrides to return true for any PublicObject, indicating that the instance has a NAME attribute.
`boolean` | `isDeleted()` isDeleted() - returns true if the object is marked for deletion, false otherwise
`boolean` | `isLatestVersion()` Returns true if this public object is referenced by the lastest VersionDescription in this object's primaryVersionSeries.
`boolean` | `isLocked()` Returns true when the lockobject attribute on this PublicObject is not null
`boolean` | `isLockingSupported()` Return indication as to whether this type supports locking.
`boolean` | `isOwner(DirectoryObject obj)` Returns true if the specified object is the owner of this object.
`boolean` | `isReserved()` Returns true if primaryVersionSeries is currently reserved (by anyone).
`boolean` | `isReservedByCurrentUser()` Returns true if primaryVersionSeries is currently reserved by the current user.
`boolean` | `isVersionable()` Returns true if this class of object is versionable.
`boolean` | `isVersioned()` Returns true if this object is versioned (FAMILY != null).
`boolean` | `isWorkingCopy()` Returns true if this object is a working copy, which is the PENDINGPUBLICOBJECT of a Family's primary VersionSeries.
`protected java.util.Vector` | `listLeftwardRelationships(ClassObject relClass, SortSpecification sortSpec)`
`protected java.util.Vector` | `listRightwardRelationships(ClassObject relClass, SortSpecification sortSpec)`
`LockEntry` | `lock(LockEntryDefinition ledef)` Locks this object by adding a LockEntry associated with it.
`void` | `lock(LockObject lockobj)` Sets the value of the lockObject attribute of the object.
`void` | `lock(LockObjectDefinition ldef)` Constructs a new lockobject from the definition and sets it as the value of the lockObject attribute on the PublicObject.
`void` | `lock(SystemLockEntry sle)` Lock the target object by adding an existing SystemLockEntry associated with it.
`VersionDescription` | `newVersion(VersionDescriptionDefinition vddef)` Creates a new VersionDescription at the end of the primary version series.
`protected void` | `postCopy(LibraryObjectDefinition def, PublicObject clone)` Extensibility point to perform actions after the copy of a object.
`protected void` | `postCreate(LibraryObjectDefinition lodef)` Extensibility point to perform actions after the creation of a PublicObject.
`protected void` | `postUpdate(LibraryObjectDefinition lodef)` Extensibility point to perform actions after the update of a PublicObject.
`protected void` | `preCopy(LibraryObjectDefinition def)` Extensibility point to perform actions prior to the copy of a object.
`protected void` | `preCreate(LibraryObjectDefinition lodef)` Extensibility point to perform actions prior to the creation of a PublicObject.
`protected void` | `preFree(LibraryObjectDefinition def)` Extensibility point to perform actions prior to the permanent deletion ("free") of a object.
`protected void` | `preUpdate(LibraryObjectDefinition lodef)` Extensibility point to perform actions prior to the update of a PublicObject.
`void` | `putPolicy(Policy policy)` Deprecated. CM SDK 10gR2: see release notes for changes to Policy framework
`void` | `reassociateLinks(PublicObject newTarget)` Reassociates the Links that are associated with the target object to the specified new target object.
`void` | `removeAllPolicies()` Deprecated. CM SDK 10gR2: see release notes for changes to Policy framework
`void` | `removePolicy(Policy policy)` Deprecated. CM SDK 10gR2: see release notes for changes to Policy framework
`void` | `removePolicy(java.lang.String opname)` Deprecated. CM SDK 10gR2: see release notes for changes to Policy framework
`void` | `removeRelationship(Relationship rel)` Frees the specified relationship object that relates two PublicObjects.
`void` | `reserveNext(java.lang.String contentPath, java.lang.String comment)` Reserves (locks) the primary version series so a new version can be added.
`void` | `resetFolderReferences()` Clears the locally cached list of Referencing Folders.
`protected SortSpecification` | `resolveFolderReferenceSortSpecification(LibrarySession session)` Forces the SortSpecification (if specified) to be resolved and verified.
`AccessControlEntry` | `revokeAccess(AccessControlEntryDefinition def)` Remove or restrict an AccessControlEntryDefinition for this object.
`void` | `revokeAllAccess()` Removes 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(long flags)` Sets the flags bitmask.
`void` | `setFolderReferencesSortSpecification(SortSpecification sort)` Sets the sort specification used by the getFolderReferences method.
`void` | `setLockEntries(LockEntry[] les)` Sets all LockEntry objects associated with this instance.
`protected void` | `setLockEntrySecurity(LockEntryDefinition def)` Set security for a new LockEntry.
`void` | `setOwner(DirectoryUser owner)` Updates the owner of this object.
`void` | `setOwnerByName(java.lang.String ownerName)` Updates the Owner of this object.
`void` | `setPolicyBundle(PolicyPropertyBundle bundle)` Deprecated. CM SDK 10gR2: see release notes for changes to Policy framework
`void` | `setPolicyLists(PolicyList[] policyLists)` Sets the PolicyLists for this object.
`void` | `setSecuringPublicObject(PublicObject pubobj)` Sets the Public Object that controls our security.
`static PublicObject[]` | `toPublicObjectArray(LibrarySession sess, java.lang.Long[] ids, PublicObject[] objs)` Constructs a PublicObject array from an array of object IDs.
`void` | `undelete()` cancel "mark delete" status for an object.
`void` | `unlock()` Releases the lock on the object.
`void` | `unlock(LockEntry le)` Release the specified lock on the target object.
`void` | `unlockAll()` Removes all of this object's LockEntry instances.
`void` | `unReserve()` Cancels the reservation on the primary version series.
`void` | `updateFlags(long updatedFlags)` Update flags without causing the modification attributes to change.
`void` | `updateLock(LockObjectDefinition lodef)` Updates the lockobject of this PublicObject with the information in the LockObjectdefinition.
`protected static PublicObject` | `vectorPublicObjectElement(java.util.Vector vector, int index)` Returns a PublicObject from a specified Vector of PublicObject and an index.
`protected static PublicObject[]` | `vectorToPublicObjectArray(java.util.Vector vector)` Converts a Vector of PublicObject to an array of PublicObject.
`protected void` | `verifyDeleteCapability()` Verify the ability to delete.
`protected void` | `verifyLockCapability(int lockType)` Verify the ability to obtain a lock.
`protected void` | `verifyUnlockCapability(LockEntry le)` Verify the ability to release a lock.
`protected VersionSeries` | `verifyVersionSeries()`

Methods inherited from class oracle.ifs.beans.LibraryObject
`applyProperties, auditCreated, auditUpdated, checkRequiredAttributeSet, clearCopyContext, clearFreeContext, clearUpdateContext, constructIdArray, constructIdArray, constructLibraryObject, constructLibraryObjectVector, createDedicatedPropertyBundle, deriveDomainUniqueName, dispose, equals, free, get, getAttribute, getAttributeByUpperCaseName, getAttributes, getAttributesByUpperCaseNames, getAuditDomainContext, getAuditEventFolderContext, getClassId, getClassname, getClassName, getClassObject, getCommonName, getCopyContext, getCreateContext, getData, getDefinition, getEffectivePolicyListElements, getEventualAttributeByUpperCaseName, getFreeContext, getId, getLabel, getName, getObjectReferenceAttribute, getOperationActionSpecificationContext, getPropertyBundle, getPropertyValue, getPublicObjectAttribute, getResourceString, getResourceString, getSchemaObjectAttribute, getSession, getSessionInterface, getSharedStateFactory, getStringIdentifier, getSystemObjectAttribute, getTraceLogger, getUpdateContext, handleAdminModeChange, handleEvent, handleFree, handleUpdate, hashCode, invokeOperation, invokeOperation, invokeServerMethod, isConnected, isCoreEventPostingEnabled, isInstanceOf, isTraced, isValidEventType, lockRows, lookupInstanceLabel, postEvent, postEvent, postFree, prePostAuditEvent, putProperty, putProperty, removeAllProperties, removeProperty, renderAsRandomAccessContent, renderAsReader, renderAsStream, setAttribute, setAttribute, setAttributes, setAttributes, setCopyContext, setFreeContext, setId, setName, setPropertyBundle, setPropertyValue, setUpdateContext, toString, trace, trustHandleCreate, trustHandleCreateAsAdmin, trustHandleFree, trustHandleFreeAsAdmin, trustHandleUpdate, trustHandleUpdateAsAdmin, update, updateAndExposeDefinition, validatePropertyValues, vectorLibraryObjectElement, vectorToLibraryObjectArray, verifyAdministrationMode, verifyConnected, verifySystemUserAccess, verifyTargetObject`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface oracle.ifs.common.LibraryObjectInterface
`getAttributeByUpperCaseName, getClassId, getId, getSessionInterface`

Methods inherited from interface oracle.ifs.common.Traceable
`getTraceLogger, isTraced, trace`

Field Detail

### CLASS_NAME

    public static final java.lang.String CLASS_NAME

  Description copied from class: `PublicObject`
  This class name for this class. Useful for methods that take a class name argument.

  See Also:
    Constant Field Values
  (Published)

### NAME_ATTRIBUTE

    public static final java.lang.String NAME_ATTRIBUTE

  Description copied from class: `PublicObject`
  The name of this object.

  See Also:
    Constant Field Values
  (Published)

### DESCRIPTION_ATTRIBUTE

    public static final java.lang.String DESCRIPTION_ATTRIBUTE

  Description copied from class: `PublicObject`
  A textual description of this object.

  See Also:
    Constant Field Values
  (Published)

### OWNER_ATTRIBUTE

    public static final java.lang.String OWNER_ATTRIBUTE

  Description copied from class: `PublicObject`
  The DirectoryUser that owns this object.

  See Also:
    Constant Field Values
  (Published)

### ACL_ATTRIBUTE

    public static final java.lang.String ACL_ATTRIBUTE

  Description copied from class: `PublicObject`
  The AccessControlList that secures this object.

  See Also:
    Constant Field Values
  (Published)

### FAMILY_ATTRIBUTE

    public static final java.lang.String FAMILY_ATTRIBUTE

  Description copied from class: `PublicObject`
  The Family to which this object belongs if this object is versioned.

  See Also:
    Constant Field Values
  (Published)

### RESOLVEDPUBLICOBJECT_ATTRIBUTE

    public static final java.lang.String RESOLVEDPUBLICOBJECT_ATTRIBUTE

  Description copied from class: `PublicObject`
  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).

  See Also:
    Constant Field Values
  (Published)

### CREATEDATE_ATTRIBUTE

    public static final java.lang.String CREATEDATE_ATTRIBUTE

  Description copied from class: `PublicObject`
  The date and time (in GMT) when this object was created.

  See Also:
    Constant Field Values
  (Published)

### CREATOR_ATTRIBUTE

    public static final java.lang.String CREATOR_ATTRIBUTE

  Description copied from class: `PublicObject`
  The DirectoryUser that created this object.

  See Also:
    Constant Field Values
  (Published)

### LASTMODIFYDATE_ATTRIBUTE

    public static final java.lang.String LASTMODIFYDATE_ATTRIBUTE

  Description copied from class: `PublicObject`
  The date and time (in GMT) when this object was last modified.

  See Also:
    Constant Field Values
  (Published)

### LASTMODIFIER_ATTRIBUTE

    public static final java.lang.String LASTMODIFIER_ATTRIBUTE

  Description copied from class: `PublicObject`
  The DirectoryUser that last modified this object.

  See Also:
    Constant Field Values
  (Published)

### DELETOR_ATTRIBUTE

    public static final java.lang.String DELETOR_ATTRIBUTE

  Description copied from class: `PublicObject`
  The DirectoryUser that deleted (not 'Freed') this object. Deletor will be set to null if this object is later undeleted.

  See Also:
    Constant Field Values
  (Published)

### POLICYLISTS_ATTRIBUTE

    public static final java.lang.String POLICYLISTS_ATTRIBUTE

  Description copied from class: `PublicObject`
  The set of PolicyLists explicitly applied to this object.

  See Also:
    Constant Field Values
  (Published)

### POLICYBUNDLE_ATTRIBUTE

    public static final java.lang.String POLICYBUNDLE_ATTRIBUTE

  Deprecated. CM SDK 10gR2: see release notes for changes to Policy framework
  Description copied from class: `PublicObject`
  The policies that apply specifically to this object.

  See Also:
    Constant Field Values
  (Published)

### PROPERTYBUNDLE_ATTRIBUTE

    public static final java.lang.String PROPERTYBUNDLE_ATTRIBUTE

  Description copied from class: `PublicObject`
  The PropertyBundle associated with this object.

  See Also:
    Constant Field Values
  (Published)

### SECURINGPUBLICOBJECT_ATTRIBUTE

    public static final java.lang.String SECURINGPUBLICOBJECT_ATTRIBUTE

  Description copied from class: `PublicObject`
  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).

  See Also:
    Constant Field Values
  (Published)

### EXPIRATIONDATE_ATTRIBUTE

    public static final java.lang.String EXPIRATIONDATE_ATTRIBUTE

  Description copied from class: `PublicObject`
  The date when this object 'expires'. ExpirationDate is an advisory attribute. The repository does not act on this attribute.

  See Also:
    Constant Field Values
  (Published)

### LOCKOBJECT_ATTRIBUTE

    public static final java.lang.String LOCKOBJECT_ATTRIBUTE

  Description copied from class: `PublicObject`
  The lock object for this PublicObject. This object encapsulates locking information for the PublicObject

  See Also:
    `LockObject`, Constant Field Values
  (Published)

### PRIMARYPARENTFOLDER_ATTRIBUTE

    public static final java.lang.String PRIMARYPARENTFOLDER_ATTRIBUTE

  Description copied from class: `PublicObject`
  The primary parent folder for this PublicObject.

  See Also:
    Constant Field Values
  (Published)

### FLAGS_ATTRIBUTE

    public static final java.lang.String FLAGS_ATTRIBUTE

  Description copied from class: `PublicObject`
  System-set flags of this object.

  See Also:
    Constant Field Values
  (Published)

### LOCKENTRIES_ATTRIBUTE

    public static final java.lang.String LOCKENTRIES_ATTRIBUTE

  Description copied from class: `PublicObject`
  LockEntries for this object.

  See Also:
    Constant Field Values
  (Published)

### FLAG_NOINFERIOR

    public static final long FLAG_NOINFERIOR

  Description copied from class: `PublicObject`
  Flag for IMAP "No Inferior" status (bit 0).

  See Also:
    Constant Field Values
  (Unpublished)

### FLAG_NOSELECT

    public static final long FLAG_NOSELECT

  Description copied from class: `PublicObject`
  Flag for IMAP "No Select" status (bit 1).

  See Also:
    Constant Field Values
  (Unpublished)

### FLAG_MARKED

    public static final long FLAG_MARKED

  Description copied from class: `PublicObject`
  Flag for IMAP "Marked" status (bit 2).

  See Also:
    Constant Field Values
  (Unpublished)

### FLAG_UNMARKED

    public static final long FLAG_UNMARKED

  Description copied from class: `PublicObject`
  Flag for IMAP "Unmarked" status (bit 3).

  See Also:
    Constant Field Values
  (Unpublished)

### FLAG_NTFS_HIDDEN

    public static final long FLAG_NTFS_HIDDEN

  Description copied from class: `PublicObject`
  Flag for SMB/NTFS "hidden" status (bit 4).

  See Also:
    Constant Field Values
  (Unpublished)

### FLAG_NTFS_SYSTEM

    public static final long FLAG_NTFS_SYSTEM

  Description copied from class: `PublicObject`
  Flag for SMB/NTFS "system" status (bit 5).

  See Also:
    Constant Field Values
  (Unpublished)

### FLAG_NTFS_ARCHIVE

    public static final long FLAG_NTFS_ARCHIVE

  Description copied from class: `PublicObject`
  Flag for SMB/NTFS "archive" status (bit 6).

  See Also:
    Constant Field Values
  (Unpublished)

### FLAG_NTFS_READONLY

    public static final long FLAG_NTFS_READONLY

  Description copied from class: `PublicObject`
  Flag for SMB/NTFS "readonly" status (bit 7).

  See Also:
    Constant Field Values
  (Unpublished)

### FLAG_CATEGORY_EXISTS

    public static final long FLAG_CATEGORY_EXISTS

  Description copied from class: `PublicObject`
  Flag that indicates one or more Categories exist (bit 16).

  See Also:
    Constant Field Values
  (Unpublished)

### FLAG_CONFIGURATIONCATEGORY_EXISTS

    public static final long FLAG_CONFIGURATIONCATEGORY_EXISTS

  Description copied from class: `PublicObject`
  Flag that indicates one or more ConfigurationCategories exist (bit 17).

  See Also:
    Constant Field Values
  (Unpublished)

Constructor Detail

### PublicObject

    protected PublicObject(LibrarySession session,
                           java.lang.Long id,
                           java.lang.Long classId,
                           S_LibraryObjectData data)
                    throws IfsException

  Constructs a PublicObject object - standard variant.

  Parameters:
    `session` - current LibSession
    `id` - the id
    `classId` - the class id
    `data` - the object's data
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

Method Detail

### hasNameAttribute

    public boolean hasNameAttribute()
                             throws IfsException

  Description copied from class: `PublicObject`
  Overrides to return true for any PublicObject, indicating that the instance has a NAME attribute.

  Overrides:
    `hasNameAttribute` in class `LibraryObject`
  Returns:
    true
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getCreateDate

    public java.util.Date getCreateDate()
                                 throws IfsException

  Description copied from class: `PublicObject`
  Returns the date this object was created.

  Returns:
    Date of creation
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getCreator

    public DirectoryUser getCreator()
                             throws IfsException

  Description copied from class: `PublicObject`
  Returns the user that created this object.

  Returns:
    the creator
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getDeletor

    public DirectoryUser getDeletor()
                             throws IfsException

  Description copied from class: `PublicObject`
  Returns the user that deleted this object, or null if the object is not marked for deletion.

  Returns:
    the deletor
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### getLastModifier

    public DirectoryUser getLastModifier()
                                  throws IfsException

  Description copied from class: `PublicObject`
  Returns the user that last modified this object.

  Returns:
    the last modifier
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getDescription

    public java.lang.String getDescription()
                                    throws IfsException

  Description copied from class: `PublicObject`
  Returns the description of this object.

  Returns:
    The object description
  Throws:
    `IfsException` - if the operation fails
  (Published)

### setDescription

    public void setDescription(java.lang.String description)
                        throws IfsException

  Description copied from class: `PublicObject`
  Updates the description of this object.

  Parameters:
    `description` - New description
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getLastModifyDate

    public java.util.Date getLastModifyDate()
                                     throws IfsException

  Description copied from class: `PublicObject`
  Returns the date this object was last modified

  Returns:
    Date of modification
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getOwner

    public DirectoryUser getOwner()
                           throws IfsException

  Description copied from class: `PublicObject`
  Returns the user that owns the object. The owner automatically has full access to this object.

  Returns:
    the DirectoryUser that owns this object, or null if this object is not owned.
  Throws:
    `IfsException` - if the operation fails
  (Published)

### isOwner

    public boolean isOwner(DirectoryObject obj)
                    throws IfsException

  Description copied from class: `PublicObject`
  Returns true if the specified object is the owner of this object. This handles the case where the current session cannot discover the owner, and makes the determination based on the ID of the owner.

  Returns:
    true if the specified DirectoryObject is the owner of this object; returns false otherwise
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### setOwner

    public void setOwner(DirectoryUser owner)
                  throws IfsException

  Description copied from class: `PublicObject`
  Updates the owner of this object.

  Parameters:
    `owner` - the new owner for the object.
  Throws:
    `IfsException` - if the operation fails
  (Published)

### setOwnerByName

    public void setOwnerByName(java.lang.String ownerName)
                        throws IfsException

  Description copied from class: `PublicObject`
  Updates the Owner of this object.

  The owner is specified by name.

  Parameters:
    `ownerName` - the owner name
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### setAcl

    public void setAcl(AccessControlList acl)
                throws IfsException

  Description copied from class: `PublicObject`
  Sets the AccessControlList for this object.

  Parameters:
    `acl` - the AccessControlList setting.
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getAcl

    public AccessControlList getAcl()
                             throws IfsException

  Description copied from class: `PublicObject`
  Returns this object's AccessControlList.

  Returns null if no AccessControlList was specified.

  Returns:
    AccessControlList for the object
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getSecuringPublicObject

    public PublicObject getSecuringPublicObject()
                                         throws IfsException

  Description copied from class: `PublicObject`
  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 the operation fails
  (Published)

### setSecuringPublicObject

    public void setSecuringPublicObject(PublicObject pubobj)
                                 throws IfsException

  Description copied from class: `PublicObject`
  Sets the Public Object that controls our security.

  Parameters:
    `pubobj` - the PublicObject that controls the security
  Throws:
    `IfsException` - if the operation fails
  (Published)

### addCategory

    public Category addCategory(CategoryDefinition catdef)
                         throws IfsException

  Description copied from class: `PublicObject`
  Adds a Category associated with this PublicObject.

  Parameters:
    `catdef` - CategoryDefinition that describes the new Category that will be associated with this PublicObject
  Returns:
    the newly created Category
  Throws:
    `IfsException` - if the operation fails
  (Published)

### createCategories

    protected void createCategories(CategoryDefinition[] catDefs)
                             throws IfsException

  Description copied from class: `PublicObject`
  Creates a set of Category objects associated with this PublicObject, without changing the modify date/modifier on the target object.

  Elements in the specified array may be null (they are skipped).

  Parameters:
    `catDefs` - the definitions of the categories to be created
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### getCategories

    public Category[] getCategories(SortSpecification sort)
                             throws IfsException

  Description copied from class: `PublicObject`
  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 target object
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getCategories

    public Category[] getCategories(ClassObject classobj)
                             throws IfsException

  Description copied from class: `PublicObject`
  Returns the associated Category objects that are instances of the ClassObject (or one of its subclasses) specified. Returns null if no Category objects are associated.

  Parameters:
    `classobj` - the class of Category
  Returns:
    array of Category objects associated with the target object
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getCategory

    public Category getCategory(ClassObject classobj)
                         throws IfsException

  Description copied from class: `PublicObject`
  Returns the associated Category object that is an instance of the ClassObject (or one of its subclasses) specified.

  The caller must be certain that no more than one category of the specified class exists, or be satisfied that the first category encountered be returned. Returns null if no Category object of the specified class exist.

  Parameters:
    `classobj` - the class of Category
  Returns:
    the Category associated with the target object, or null if none
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getCategories

    public Category[] getCategories(ClassObject classobj,
                                    SortSpecification sort)
                             throws IfsException

  Description copied from class: `PublicObject`
  Returns the associated Category objects that are instances of the specified class or a subclass of the specified class. If a null ClassObject is specified, all Categories will be returned. Returns null if no Category objects are associated.

  Parameters:
    `classobj` - the class of Category
    `sort` - the specification of how the returned Category objects will be sorted
  Returns:
    array of Category objects associated with the target object
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getExpirationDate

    public java.util.Date getExpirationDate()
                                     throws IfsException

  Description copied from class: `PublicObject`
  Returns the expiration date set for this object

  Returns:
    The expiration date, or null if one is not set
  Throws:
    `IfsException` - if the operation fails
  (Published)

### setExpirationDate

    public void setExpirationDate(java.util.Date date)
                           throws IfsException

  Description copied from class: `PublicObject`
  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 the operation fails
  (Published)

### getFlags

    public long getFlags()
                  throws IfsException

  Description copied from class: `PublicObject`
  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
  (Published)

### setFlags

    public void setFlags(long flags)
                  throws IfsException

  Description copied from class: `PublicObject`
  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
  (Published)

### updateFlags

    public void updateFlags(long updatedFlags)
                     throws IfsException

  Description copied from class: `PublicObject`
  Update flags without causing the modification attributes to change.

  Parameters:
    `updatedFlags` - the updated value of the flags attribute
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### addFlags

    public void addFlags(long addedFlags)
                  throws IfsException

  Description copied from class: `PublicObject`
  Adds flags to the exist value of the FLAGS attribute, without causing the modification attributes to change.

  This assumes that a transaction context has been established.

  Parameters:
    `addedFlags` - the added flags
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### clearFlags

    public void clearFlags(long clearedFlags)
                    throws IfsException

  Description copied from class: `PublicObject`
  Clears flags from the exist value of the FLAGS attribute, without causing the modification attributes to change.

  This assumes that a transaction context has been established.

  Parameters:
    `clearedFlags` - the cleared flags
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### getLockEntries

    public LockEntry[] getLockEntries()
                               throws IfsException

  Description copied from class: `PublicObject`
  Returns all LockEntry objects associated with this instance.

  Returns:
    array of associated LockEntry objects
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### getLockEntries

    public LockEntry[] getLockEntries(boolean includeFamily)
                               throws IfsException

  Description copied from class: `PublicObject`
  Returns the LockEntry instances that have been applied to this object, optionally including the LockEntry instances that have been applied to this object's Family, if this object has a Family.

  Parameters:
    `includeFamily` - whether to include this Document's Family's LockEntry instances, if this object has a Family
  Returns:
    the LockEntry instances that have been applied.
  Throws:
    `IfsException` - if the operation fails
  (Published)

### setLockEntries

    public void setLockEntries(LockEntry[] les)
                        throws IfsException

  Description copied from class: `PublicObject`
  Sets all LockEntry objects associated with this instance.

  Parameters:
    `les` - array of associated LockEntry objects
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### getLockObject

    public LockObject getLockObject()
                             throws IfsException

  Description copied from class: `PublicObject`
  Returns the lock object of this object.

  Returns:
    The lock object or null if object is unlocked
  Throws:
    `IfsException` - if the operation fails
  (Published)

### isLocked

    public boolean isLocked()
                     throws IfsException

  Description copied from class: `PublicObject`
  Returns true when the lockobject attribute on this PublicObject is not null

  Returns:
    true if the object is locked
  Throws:
    `IfsException` - if the operation fails
  (Published)

### lock

    public void lock(LockObject lockobj)
              throws IfsException

  Description copied from class: `PublicObject`
  Sets the value of the lockObject attribute of the object.

  A user must have setAttribute permission on the object to perform this operation.
  Use this variant of lock for sharing locks. The rules for sharing locks are as follows

  - User Locks can only be shared if the LockHolder of the lockObject is same as current user.
  - Session Locks can only be shared if the LockedForSession id of the LockObject is same as the current session id.
  - Soft and Hard locks can be shared if the user has accesslevel_lock permission bit and the update permission bit in the ACL of the PublicObject that invoked this method
  see JavaDoc for LockObject for details on different lockstates
  Repository provides two instances of SystemLockObject out-of-the-box which map to a "Soft" and "Hard" lock respectively. They can be queried by name from the session's SystemLockObjectCollection. Use these objects to acquire a simple "Soft" or "Hard" lock.

  Parameters:
    `lockobj` - The lockobject to be used for locking the PublicObject
  Throws:
    `IfsException` - if the operation fails
  (Published)

### lock

    public void lock(LockObjectDefinition ldef)
              throws IfsException

  Description copied from class: `PublicObject`
  Constructs a new lockobject from the definition and sets it as the value of the lockObject attribute on the PublicObject.

  A user must have SetAttribute permissions on the object to perform this operation.
  See JavaDoc on LockObject for details on different lockstates.

  Parameters:
    `ldef` - The lockobject definition for the lock
  Throws:
    `IfsException` - if the operation fails
  (Published)

### updateLock

    public void updateLock(LockObjectDefinition lodef)
                    throws IfsException

  Description copied from class: `PublicObject`
  Updates the lockobject of this PublicObject with the information in the LockObjectdefinition.

  The rules are as follows:

  - User and Session Locks can only be modified by the lockholder of the UserLock and the Session that holds the session lock respectively
  - Modifying soft and hard locks require the accesslevel_lock permission bit and the update permission bit in the ACL of the PublicObject that invoked this method
  The only attribute that is updateable is the LockTimeOut

  Parameters:
    `lodef` - LockObjectDefinition with updated attributes
  Throws:
    `IfsException` - if the operation fails
  (Published)

### unlock

    public void unlock()
                throws IfsException

  Description copied from class: `PublicObject`
  Releases the lock on the object.

  A user must have SetAttribute permissions on the object to perform this operation. This will set the LockObject attribute on PublicObject to null.
  see JavaDoc for LockObject for details on unlocking PublicObjects in different LockStates.

  Throws:
    `IfsException` - if the operation fails
  (Published)

### canAcquireManualLock

    public boolean canAcquireManualLock()
                                 throws IfsException

  Description copied from class: `PublicObject`
  Returns whether a LockEntry of type `LibraryConstants.LOCKTYPE_MANUAL` can be acquired for this object by the current user.

  Returns true if all of the following conditions are true:

  - the current user has the LOCK capability for this object (ECM only)
  - there is no existing MANUAL lock on this object
  Subclasses can impose further restrictions.

  Returns:
    true if a MANUAL lock can be acquired on this object by the current user.
  Throws:
    `IfsException` - if the operation fails
  (Published)

### canReleaseManualLock

    public boolean canReleaseManualLock()
                                 throws IfsException

  Description copied from class: `PublicObject`
  Returns whether a LockEntry of type `LibraryConstants.LOCKTYPE_MANUAL` can be released from this object by the current user.

  Returns true if this object has a MANUAL lock and at least one of the following conditions are true:

  - this object is currently being freed
  - the current session is in `LibrarySession.EXECUTIONMODE_ADMINISTRATION`
  - the current user has the AdministerWorkspace capability (ECM only)
  - the current user is the owner of the MANUAL lock

  Returns:
    true if this object has a MANUAL lock that can be released by the current user.
  Throws:
    `IfsException` - if the operation fails
  (Published)

### canReleaseDavLock

    public boolean canReleaseDavLock()
                              throws IfsException

  Description copied from class: `PublicObject`
  Returns whether a LockEntry of type `LibraryConstants.LOCKTYPE_DAV` can be released from this object by the current user.

  Returns true if this object has a DAV lock and at least one of the following conditions are true:

  - this object is currently being freed
  - the current session is in `LibrarySession.EXECUTIONMODE_ADMINISTRATION`
  - the current user has the AdministerWorkspace capability (ECM only)
  - the current user is the owner of the DAV lock

  Returns:
    true if this object has a MANUAL lock that can be released by the current user.
  Throws:
    `IfsException` - if the operation fails
  (Published)

### canReleaseLock

    protected boolean canReleaseLock(LockEntry existingLock)
                              throws IfsException

  Description copied from class: `PublicObject`
  Returns whether the given existing LockEntry can be released from this object by the current user.

  Returns true if the given existing LockEntry is not null and at least one of the following conditions are true:

  - this object is currently being freed
  - the current session is in `LibrarySession.EXECUTIONMODE_ADMINISTRATION`
  - the current user has the AdministerWorkspace capability
  - the current user is the owner of the existing LockEntry

  Parameters:
    `existingLock` - the LockEntry to check if can be released.
  Returns:
    true if the given existing LockEntry can be released by the current user.
  Throws:
    `IfsException` - if the operation fails

### lock

    public LockEntry lock(LockEntryDefinition ledef)
                   throws IfsException

  Description copied from class: `PublicObject`
  Locks this object by adding a LockEntry associated with it.

  Parameters:
    `ledef` - the definition of the new LockEntry.
  Returns:
    the new LockEntry.
  Throws:
    `IfsException` - if the operation fails

### lock

    public void lock(SystemLockEntry sle)
              throws IfsException

  Description copied from class: `PublicObject`
  Lock the target object by adding an existing SystemLockEntry associated with it.

  Parameters:
    `sle` - the SystemLockEntry to apply.
  Throws:
    `IfsException` - if the operation fails

### unlock

    public void unlock(LockEntry le)
                throws IfsException

  Description copied from class: `PublicObject`
  Release the specified lock on the target object.

  Parameters:
    `le` - the LockEntry to remove from the target object.
  Throws:
    `IfsException` - if the operation fails

### unlockAll

    public void unlockAll()
                   throws IfsException

  Description copied from class: `PublicObject`
  Removes all of this object's LockEntry instances.

  NOTE: this should not be called directly. It is called as a side-effect of a delete operation.

  Throws:
    `IfsException` - if the operation fails

### verifyLockCapability

    protected void verifyLockCapability(int lockType)
                                 throws IfsException

  Description copied from class: `PublicObject`
  Verify the ability to obtain a lock.

  Parameters:
    `lockType` - the lock type for the new LockEntry.
  Throws:
    `IfsException` - if the operation fails

### verifyUnlockCapability

    protected void verifyUnlockCapability(LockEntry le)
                                   throws IfsException

  Description copied from class: `PublicObject`
  Verify the ability to release a lock.

  Parameters:
    `le` - the LockEntry being released
  Throws:
    `IfsException` - if the operation fails

### setLockEntrySecurity

    protected void setLockEntrySecurity(LockEntryDefinition def)
                                 throws IfsException

  Description copied from class: `PublicObject`
  Set security for a new LockEntry.

  Parameters:
    `def` - the definition of the new LockEntry.
  Throws:
    `IfsException` - if the operation fails

### handleUnlockAll

    protected void handleUnlockAll()
                            throws IfsException

  Description copied from class: `PublicObject`
  Provides a template for subclasses to specify additional logic for the unlockAll() operation.

  Throws:
    `IfsException` - if the operation fails

### isLockingSupported

    public boolean isLockingSupported()

  Description copied from class: `PublicObject`
  Return indication as to whether this type supports locking.

  Returns true, but can be overridden by subclasses that do not support locking (e.g. by Folder)

  Returns:
    indication as to whether this type supports locking

### getLockRestrictions

    public AccessLevel getLockRestrictions()
                                    throws IfsException

  Description copied from class: `PublicObject`
  Gets the set of lock restrictions for the current user.

  Returns:
    the set of lock restrictions for the user
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### getRestrictingLockEntries

    public LockEntry[] getRestrictingLockEntries(AccessLevel level)
                                          throws IfsException

  Description copied from class: `PublicObject`
  Gets the set of lock entries that result in restricting the specified access for the current user.

  Parameters:
    `level` - specified level
  Returns:
    the set of lock entries that restrict that level for the current user
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### checkLockAccess

    public boolean checkLockAccess(AccessLevel level)
                            throws IfsException

  Description copied from class: `PublicObject`
  Checks to see if current user is locked from the specified access level on this object.

  Parameters:
    `level` - specified level
  Returns:
    true if current user has at least the specified access, false if the user is locked from the specified access
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### capabilities

    public PublicObjectCapabilities capabilities()

  Description copied from class: `PublicObject`
  Returns the PublicObjectCapabilities delegate which tracks the capabilities of this object.

  Returns:
    the instance of PublicObjectCapabilities for this object.

### getCapabilities

    public AccessLevel getCapabilities()
                                throws IfsException

  Description copied from class: `PublicObject`
  Returns the enabled capabilities for this object.

  Returns:
    the enabled capabilities as an AccessLevel.
  Throws:
    `IfsException` - if the operation fails
  (Published)

### checkCapability

    public boolean checkCapability(long capability)
                            throws IfsException

  Description copied from class: `PublicObject`
  Checks if the given capability is enabled for this object.

  This method checks:

  1. access (permission)
  2. lock restriction
  3. object type
  4. configuration state

  Parameters:
    `capability` - the capability to check.
  Returns:
    true if the given capability is enabled.
  Throws:
    `IfsException` - 90002: if the specific capability check method could not be invoked
    other: if the operation otherwise fails
  (Published)

### checkCapabilities

    public boolean checkCapabilities(AccessLevel capabilities)
                              throws IfsException

  Description copied from class: `PublicObject`
  Checks if the given capabilities are enabled for this object.

  To determine the set of enabled capabilities, this method checks:

  1. access (permission)
  2. lock restriction
  3. object type
  4. configuration state

  Parameters:
    `capabilities` - the capabilities to check.
  Returns:
    the enabled capabilities as an AccessLevel.
  Throws:
    `IfsException` - 90002: if the specific capability check method could not be invoked
    other: if the operation otherwise fails

### checkAuditViewCapability

    public boolean checkAuditViewCapability()
                                     throws IfsException

  Description copied from class: `PublicObject`
  Checks if user can view audit information for this object.

  Override base class to check CAPABILITY_GETAUDITHISTORY.

  Returns:
    true if the current user can view audit info
  Throws:
    `IfsException` - if the operation fails

### verifyDeleteCapability

    protected void verifyDeleteCapability()
                                   throws IfsException

  Description copied from class: `PublicObject`
  Verify the ability to delete.

  Throws:
    `IfsException` - if the operation fails

### auditPublicObjectLocked

    protected void auditPublicObjectLocked(int lockType)
                                    throws IfsException

  Description copied from class: `PublicObject`
  Audits a PublicObject being locked.

  Parameters:
    `lockType` - the lock type
  Throws:
    `IfsException` - if the operation fails

### auditPublicObjectUnlocked

    protected void auditPublicObjectUnlocked(int lockType)
                                      throws IfsException

  Description copied from class: `PublicObject`
  Audits a PublicObject being unlocked.

  Parameters:
    `lockType` - the lock type
  Throws:
    `IfsException` - if the operation fails

### getLockTypeAuditProperties

    protected AttributeValue[] getLockTypeAuditProperties(int lockType)
                                                   throws IfsException

  Description copied from class: `PublicObject`
  Gets the audit event properties to add that describe a Lock type.

  Parameters:
    `lockType` - the lock type
  Returns:
    the properties to add for a lock/unlock event
  Throws:
    `IfsException` - if the operation fails

### deriveEffectiveAccessLevel

    public void deriveEffectiveAccessLevel(AccessLevel level)
                                    throws IfsException

  Description copied from class: `PublicObject`
  Modify the AccessLevel specified to enable or disable effective permissions for this object.

  This is overridden to add permissions based on the target object and other permissions defined on the specified level.

  Parameters:
    `level` - the current permissions for the requesting user on the target object.
  Throws:
    `IfsException` - if the operation fails

### setPolicyLists

    public void setPolicyLists(PolicyList[] policyLists)
                        throws IfsException

  Description copied from class: `PublicObject`
  Sets the PolicyLists for this object.

  Parameters:
    `policyLists` - the PolicyList objects to apply
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getPolicyLists

    public PolicyList[] getPolicyLists()
                                throws IfsException

  Description copied from class: `PublicObject`
  Gets the PolicyLists for this object.

  Returns:
    the PolicyList
  Throws:
    `IfsException` - if the operation fails
  (Published)

### putPolicy

    public void putPolicy(Policy policy)
                   throws IfsException

  Deprecated. CM SDK 10gR2: see release notes for changes to Policy framework

  Description copied from class: `PublicObject`
  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 the operation fails
  (Published)

### removePolicy

    public void removePolicy(java.lang.String opname)
                      throws IfsException

  Deprecated. CM SDK 10gR2: see release notes for changes to Policy framework

  Description copied from class: `PublicObject`
  Removes a Policy from this object's PolicyPropertyBundle.

  Parameters:
    `opname` - the operation name of the policy to remove
  Throws:
    `IfsException` - if the operation fails
  (Published)

### removePolicy

    public void removePolicy(Policy policy)
                      throws IfsException

  Deprecated. CM SDK 10gR2: see release notes for changes to Policy framework

  Description copied from class: `PublicObject`
  Removes a Policy from this object's PolicyPropertyBundle.

  Parameters:
    `policy` - the operation name of the policy to remove
  Throws:
    `IfsException` - if the operation fails
  (Published)

### removeAllPolicies

    public void removeAllPolicies()
                           throws IfsException

  Deprecated. CM SDK 10gR2: see release notes for changes to Policy framework

  Description copied from class: `PublicObject`
  Removes all Policies from this object's PolicyPropertyBundle, leaving an empty PolicyPropertyBundle.

  Throws:
    `IfsException` - if the operation fails
  (Published)

### setPolicyBundle

    public void setPolicyBundle(PolicyPropertyBundle bundle)
                         throws IfsException

  Deprecated. CM SDK 10gR2: see release notes for changes to Policy framework

  Description copied from class: `PublicObject`
  Sets the PolicyPropertyBundle for this object, for the managing of per-instance Policies.

  Parameters:
    `bundle` - the PolicyPropertyBundle setting.
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getPolicyBundle

    public PolicyPropertyBundle getPolicyBundle()
                                         throws IfsException

  Deprecated. CM SDK 10gR2: see release notes for changes to Policy framework

  Description copied from class: `PublicObject`
  Returns this object's PolicyPropertyBundle. Return null if no Policies are specified.

  Returns:
    PolicyPropertyBundle for the object.
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getPrimaryParentFolder

    public Folder getPrimaryParentFolder()
                                  throws IfsException

  Description copied from class: `PublicObject`
  Gets the primary parent folder for the object. The primary folder is the folder that has contained this object for the longest time.

  Returns:
    the primary parent folder
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getPrimaryParentFolder

    public Folder getPrimaryParentFolder(boolean useFamily)
                                  throws IfsException

  Description copied from class: `PublicObject`
  Gets the primary parent folder for the object.

  Same as the zero-argument variant, but uses the target object's Family's path if the target object is not foldered.

  Parameters:
    `useFamily` - whether Family's path should be used if target is unfoldered
  Returns:
    the primary parent folder
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getPrimaryFolderPath

    public java.lang.String getPrimaryFolderPath()
                                          throws IfsException

  Description copied from class: `PublicObject`
  Gets the primary path to the object, using the PRIMARYPARENTFOLDER attribute of the target object and the referencing folders above it in the folder hierarchy. This will return null if the target object does not have a path to it.

  Returns:
    the primary path to the target object
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### getAnyFolderPath

    public java.lang.String getAnyFolderPath()
                                      throws IfsException

  Description copied from class: `PublicObject`
  Gets any Folder path to the target object, starting from the Root Folder. If no reachable path exists, return null. This method will only return a path that the requesting user would be able to traverse. The user must have at least the Discover permission on all of the Folders in the path.

  Returns:
    a Folder path to the target object or null if no reachable path exists.
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getAnyFolderPath

    public java.lang.String getAnyFolderPath(Folder reference)
                                      throws IfsException

  Description copied from class: `PublicObject`
  Gets any Folder path to the target object. If no reachable path exists, return null.

  Returns:
    a Folder path to the target object or null if no reachable path exists.
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getAnyFolderPath

    public java.lang.String getAnyFolderPath(Folder reference,
                                             FolderPathOptions fpo)
                                      throws IfsException

  Description copied from class: `PublicObject`
  Gets any Folder path to the target object. If no reachable path exists, return null.

  Parameters:
    `reference` - The folder representing the top node of the desired paths
    `fpo` - Options describing the path determination operation; optional; if null is specified, default beahvior will be in force
  Returns:
    a Folder path to the target object or null if no reachable path exists
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getConsumedStorage

    public long getConsumedStorage()
                            throws IfsException

  Description copied from class: `PublicObject`
  Returns the storage (in bytes) consumed by the content of this object. This is overridden by subclasses to do aggregations if necessary. (For eg., Folder) PublicObjects that do not have any content associated with them directly or indirectly, return 0 for consumed storage.

  Returns:
    storage consumed by content directly associated with this object (e.g. DOCUMENT instances) or indirectly associated with this object (e.g. FAMILY and FOLDER instances)
  Throws:
    `IfsException` - if the operation fails

### getAllFolderPaths

    public java.lang.String[] getAllFolderPaths()
                                         throws IfsException

  Description copied from class: `PublicObject`
  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 the operation fails
  (Published)

### getAllFolderPaths

    public java.lang.String[] getAllFolderPaths(Folder reference)
                                         throws IfsException

  Description copied from class: `PublicObject`
  Gets 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 the operation fails
  (Published)

### getAllFolderPaths

    public java.lang.String[] getAllFolderPaths(Folder reference,
                                                FolderPathOptions fpo)
                                         throws IfsException

  Description copied from class: `PublicObject`
  Gets all Folder paths to the target object. If no reachable paths exists, return null.

  Parameters:
    `reference` - The folder representing the top node of the desired paths
    `fpo` - Options describing the path determination operation; optional; if null is specified, default beahvior will be in force
  Returns:
    all Folder paths to the target object
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getFolderReferencesSortSpecification

    public SortSpecification getFolderReferencesSortSpecification()
                                                           throws IfsException

  Description copied from class: `PublicObject`
  Returns the current sort specification used by the getFolderReferences method.

  Returns:
    the folder references sort specification
  Throws:
    `IfsException` - if the operation fails
  (Published)

### setFolderReferencesSortSpecification

    public void setFolderReferencesSortSpecification(SortSpecification sort)
                                              throws IfsException

  Description copied from class: `PublicObject`
  Sets the sort specification used by the getFolderReferences method.

  Parameters:
    `sort` - the folder references sort specification.
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getFolderReferences

    public Folder[] getFolderReferences()
                                 throws IfsException

  Description copied from class: `PublicObject`
  Returns an array of folders that reference this PublicObject.

  Returns:
    array of Folders that reference this object
  Throws:
    `IfsException` - if the operation fails.
  (Published)

### getFolderReferences

    public Folder getFolderReferences(int index)
                               throws IfsException

  Description copied from class: `PublicObject`
  Returns the Folder at specified index in the array of ReferencingFolders. Calling this method creates an internal cache of the results which is not automatically updated.

  Parameters:
    `index` - index into the array of referencing folders
  Returns:
    the requested Folder
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### resetFolderReferences

    public void resetFolderReferences()
                               throws IfsException

  Description copied from class: `PublicObject`
  Clears the locally cached list of Referencing Folders. This must be called to force a new array of getFolderReferences to be fetched from the server.

  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### getLinks

    public Link[] getLinks()
                    throws IfsException

  Description copied from class: `PublicObject`
  Gets all Link objects that refer to this PublicObject.

  Returns:
    set of Link objects that refer to this instance
  Throws:
    `IfsException` - if the operation fails
  (Published)

### reassociateLinks

    public void reassociateLinks(PublicObject newTarget)
                          throws IfsException

  Description copied from class: `PublicObject`
  Reassociates the Links that are associated with the target object to the specified new target object.

  Parameters:
    `newTarget` - new target object for the current set of links to this object
  Throws:
    `IfsException` - if operation fails.
  (Unpublished)

### getCategories

    public Category[] getCategories()
                             throws IfsException

  Description copied from class: `PublicObject`
  Returns an array of categories for this PublicObject.

  Returns:
    array of categories for this object.
  Throws:
    `IfsException` - if operation fails.
  (Published)

### getCategories

    public Category getCategories(int index)
                           throws IfsException

  Description copied from class: `PublicObject`
  Returns the Category at specified index in the array of all Categories.

  Parameters:
    `index` - index into the array of categories
  Returns:
    the requested Category
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### preCreate

    protected void preCreate(LibraryObjectDefinition lodef)
                      throws IfsException

  Description copied from class: `PublicObject`
  Extensibility point to perform actions prior to the creation of a PublicObject.

  Set an option that indicates that Categories are NOT to be created from within S_PublicObject.

  Overrides:
    `preCreate` in class `LibraryObject`
  Parameters:
    `lodef` - object definition that will be used to create the object
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### handleCreate

    protected PublicObject handleCreate(LibraryObjectDefinition lodef)
                                 throws IfsException

  Description copied from class: `PublicObject`
  Handles the low-level creation of the PublicObject

  Parameters:
    `lodef` - object definition that will be used to create the object
  Returns:
    the object created (typically the target object)
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### postCreate

    protected void postCreate(LibraryObjectDefinition lodef)
                       throws IfsException

  Description copied from class: `PublicObject`
  Extensibility point to perform actions after the creation of a PublicObject.

  This assumes that a transaction context has already been established.

  Overrides:
    `postCreate` in class `LibraryObject`
  Parameters:
    `lodef` - object definition that was used to create the object
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### preUpdate

    protected void preUpdate(LibraryObjectDefinition lodef)
                      throws IfsException

  Description copied from class: `PublicObject`
  Extensibility point to perform actions prior to the update of a PublicObject.

  Set an option that indicates that Categories are NOT to be created from within S_PublicObject.

  Overrides:
    `preUpdate` in class `LibraryObject`
  Parameters:
    `lodef` - object definition used to define how the target object will be updated
  Throws:
    `IfsException` - if operation fails.
  (Unpublished)

### postUpdate

    protected void postUpdate(LibraryObjectDefinition lodef)
                       throws IfsException

  Description copied from class: `PublicObject`
  Extensibility point to perform actions after the update of a PublicObject.

  Create any categories that are specified in the definition.

  Overrides:
    `postUpdate` in class `LibraryObject`
  Parameters:
    `lodef` - object definition used to define how the target object was updated
  Throws:
    `IfsException` - if operation fails.
  (Unpublished)

### preFree

    protected void preFree(LibraryObjectDefinition def)
                    throws IfsException

  Description copied from class: `PublicObject`
  Extensibility point to perform actions prior to the permanent deletion ("free") of a object.

  Override to free all existing categories, in such a way that the PO doesn't get updated for each category free.

  Overrides:
    `preFree` in class `LibraryObject`
  Parameters:
    `def` - object definition used to hold options related to the free operation
  Throws:
    `IfsException` - if operation fails.
  (Unpublished)

### free

    public void free(LibraryObjectDefinition def)
              throws IfsException

  Description copied from class: `PublicObject`
  Permanently removes this object from the repository, with options.

  If a null definition is specified, a default definition is used.

  Overrides:
    `free` in class `LibraryObject`
  Parameters:
    `def` - Context for the free operation.
  Throws:
    `IfsException` - if the operation fails
  (Published)

### coreAutoFolderingEnabled

    protected boolean coreAutoFolderingEnabled()
                                        throws IfsException

  Description copied from class: `PublicObject`
  Extensibility point to see if core AutoFoldering is enabled.

  Applications (e.g. ECM) may overrides this if they process this differently.

  Returns:
    true if core AutoFoldering is enabled
  Throws:
    `IfsException` - if the operation fails
  (Published)

### copy

    public PublicObject copy(LibraryObjectDefinition def)
                      throws IfsException

  Description copied from class: `PublicObject`
  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 the operation fails
  (Published)

### preCopy

    protected void preCopy(LibraryObjectDefinition def)
                    throws IfsException

  Description copied from class: `PublicObject`
  Extensibility point to perform actions prior to the copy of a object.

  This method is typically overridden by subclasses that perform other operations prior to the target object being copied. Subclasses are expected to invoke `super.preCopy`.

  Parameters:
    `def` - object definition used to define how the target object will be copied
  Throws:
    `IfsException` - if operation fails.
  (Unpublished)

### handleCopy

    protected PublicObject handleCopy(LibraryObjectDefinition def)
                               throws IfsException

  Description copied from class: `PublicObject`
  Handle the low-level repository copy

  Parameters:
    `def` - the LibraryObjectDefinition describing the desired copy
  Returns:
    the copied object
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### postCopy

    protected void postCopy(LibraryObjectDefinition def,
                            PublicObject clone)
                     throws IfsException

  Description copied from class: `PublicObject`
  Extensibility point to perform actions after the copy of a object.

  This method is typically overridden by subclasses that perform other operations after the target object is copied. Subclasses are expected to invoke `super.postCopy`.

  Parameters:
    `def` - object definition used to define how the target object was copied
    `clone` - the copied object
  Throws:
    `IfsException` - if operation fails.
  (Unpublished)

### addRelationship

    public Relationship addRelationship(RelationshipDefinition reldef)
                                 throws IfsException

  Description copied from class: `PublicObject`
  Creates a relationship object linking this object (the "left" object) to the PublicObject (the "right" object) contained in the specified Relationship Definition.

  Parameters:
    `reldef` - Describes the new Relationship object, including the PublicObject to which this object will be related
  Returns:
    the newly created Relationship object
  Throws:
    `IfsException` - if the operation fails
  (Published)

### removeRelationship

    public void removeRelationship(Relationship rel)
                            throws IfsException

  Description copied from class: `PublicObject`
  Frees the specified relationship object that relates two PublicObjects.

  Parameters:
    `rel` - the relationship object to be removed
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getRightwardRelationshipObjects

    public PublicObject[] getRightwardRelationshipObjects(java.lang.String relClassName)
                                                   throws IfsException

  Description copied from class: `PublicObject`
  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:
    `relClassName` - the class name of the Relationship (or descendant of Relationship) on which to filter
  Returns:
    an array of related PublicObjects
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getRightwardRelationshipObjects

    public PublicObject[] getRightwardRelationshipObjects(ClassObject relClass)
                                                   throws IfsException

  Description copied from class: `PublicObject`
  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:
    `relClass` - the Relationship class (or descendant of Relationship) on which to filter
  Returns:
    an array of related PublicObjects
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getLeftwardRelationshipObjects

    public PublicObject[] getLeftwardRelationshipObjects(java.lang.String relClassName)
                                                  throws IfsException

  Description copied from class: `PublicObject`
  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:
    `relClassName` - the class name of the Relationship (or descendant of Relationship) on which to filter.
  Returns:
    an array of related PublicObjects
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getLeftwardRelationshipObjects

    public PublicObject[] getLeftwardRelationshipObjects(ClassObject relClass)
                                                  throws IfsException

  Description copied from class: `PublicObject`
  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:
    `relClass` - the Relationship class (or descendant of Relationship) on which to filter.
  Returns:
    an array of related PublicObjects
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getRightwardRelationships

    public Relationship[] getRightwardRelationships(java.lang.String relClassName)
                                             throws IfsException

  Description copied from class: `PublicObject`
  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:
    `relClassName` - the class name of the Relationship (or descendant of Relationship) on which to filter.
  Returns:
    an array of Relationship objects
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getRightwardRelationships

    public Relationship[] getRightwardRelationships(ClassObject relClass)
                                             throws IfsException

  Description copied from class: `PublicObject`
  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:
    `relClass` - the Relationship class (or descendant of Relationship) on which to filter.
  Returns:
    an array of Relationship objects
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getLeftwardRelationships

    public Relationship[] getLeftwardRelationships(java.lang.String relClassName)
                                            throws IfsException

  Description copied from class: `PublicObject`
  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:
    `relClassName` - the class name of the Relationship (or descendant of Relationship) on which to filter.
  Returns:
    an array of Relationship objects
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getLeftwardRelationships

    public Relationship[] getLeftwardRelationships(ClassObject relClass)
                                            throws IfsException

  Description copied from class: `PublicObject`
  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:
    `relClass` - the Relationship class (or descendant of Relationship) on which to filter.
  Returns:
    an array of Relationship objects
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getLeftwardRelationshipsCount

    public long getLeftwardRelationshipsCount(java.lang.String relClassName)
                                       throws IfsException

  Description copied from class: `PublicObject`
  Returns the count of all "left side" relationship instances that are used to relate to this object to other PublicObjects. The Relationship class is specified by name.

  Parameters:
    `relClassName` - the name of the class of relationship on which to filter.
  Returns:
    count of existing Relationship objects
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### getLeftwardRelationshipsCount

    public long getLeftwardRelationshipsCount(ClassObject relClass)
                                       throws IfsException

  Description copied from class: `PublicObject`
  Returns the count of all "left side" relationship instances that are used to relate to this object to other PublicObjects. The Relationship class is specified by ClassObject.

  Parameters:
    `relClass` - the class of relationship on which to filter
  Returns:
    count of existing Relationship objects
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### reserveNext

    public void reserveNext(java.lang.String contentPath,
                            java.lang.String comment)
                     throws IfsException

  Description copied from class: `PublicObject`
  Reserves (locks) the primary version series so a new version can be added. A reserved version series cannot be deleted. newVersion() or unReserve() will unlock the version series.

  Parameters:
    `contentPath` - the path of the local work file. This is saved with the version series as a convenience, but is not used.
    `comment` - Reservation comment.
  Throws:
    `IfsException` - if the operation fails
  See Also:
    `VersionSeries`
  (Unpublished)

### unReserve

    public void unReserve()
                   throws IfsException

  Description copied from class: `PublicObject`
  Cancels the reservation on the primary version series.

  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### newVersion

    public VersionDescription newVersion(VersionDescriptionDefinition vddef)
                                  throws IfsException

  Description copied from class: `PublicObject`
  Creates a new VersionDescription at the end of the primary version series. This may result in a new PublicObject depending on the contents of VersionDescriptionDefinition.

  Parameters:
    `vddef` - The VersionDescriptionDefinition describing the desired new version.
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### isReserved

    public boolean isReserved()
                       throws IfsException

  Description copied from class: `PublicObject`
  Returns true if primaryVersionSeries is currently reserved (by anyone).

  Returns:
    true if primaryVersionSeries is currently reserved
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### isReservedByCurrentUser

    public boolean isReservedByCurrentUser()
                                    throws IfsException

  Description copied from class: `PublicObject`
  Returns true if primaryVersionSeries is currently reserved by the current user.

  Returns:
    true if primaryVersionSeries is currently reserved
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### getReservor

    public DirectoryUser getReservor()
                              throws IfsException

  Description copied from class: `PublicObject`
  Returns the user that has reserved the primaryVersionSeries for this object.

  Returns:
    the user that has reserved the primaryVersionSeries for this object
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### getReservationDate

    public java.util.Date getReservationDate()
                                      throws IfsException

  Description copied from class: `PublicObject`
  Returns the Date on which this object's primaryVersionSeries was reserved.

  Returns:
    the Date on which this object's primaryVersionSeries was reserved
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### getReservationComment

    public java.lang.String getReservationComment()
                                           throws IfsException

  Description copied from class: `PublicObject`
  Returns the reservation comment specified when this object's primaryVersionSeries was reserved.

  Returns:
    the reservation comment specified when this object's primaryVersionSeries was reserved
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### isVersioned

    public boolean isVersioned()
                        throws IfsException

  Description copied from class: `PublicObject`
  Returns true if this object is versioned (FAMILY != null).

  Returns:
    true if this object is versioned (FAMILY != null)
  Throws:
    `IfsException` - if the operation fails
  (Published)

### isLatestVersion

    public boolean isLatestVersion()
                            throws IfsException

  Description copied from class: `PublicObject`
  Returns true if this public object is referenced by the lastest VersionDescription in this object's primaryVersionSeries.

  This method is one of many versioning convenience methods on PublicObject. These methods are valid only when this public object is referenced by a single VersionDescription in the primaryVersionSeries (simple versioning). For more complex versioning models, you must use the methods on the version classes (Family, et. al).

  Returns:
    true if this public object is referenced by the lastest VersionDescription in this object's primaryVersionSeries
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### getVersions

    public PublicObject[] getVersions()
                               throws IfsException

  Description copied from class: `PublicObject`
  Returns an array of PublicObjects which are all referenced by the VersionDescriptions in the primary version series. May return the same PublicObject more than once if it is referenced by more than one VersionDescription.

  Returns:
    an array of PublicObjects which are all referenced by the VersionDescriptions in the primary version series.
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### getFirstVersion

    public PublicObject getFirstVersion()
                                 throws IfsException

  Description copied from class: `PublicObject`
  Returns the PublicObject referenced by the first VersionDescription in the PrimaryVersionSeries.

  This method is one of many versioning convenience methods on PublicObject. These methods are valid only when this public object is referenced by a single VersionDescription in the primaryVersionSeries (simple versioning). For more complex versioning models, you must use the methods on the version classes (Family, et. al).

  Returns:
    the PublicObject referenced by the first VersionDescription in the PrimaryVersionSeries
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### getLastVersion

    public PublicObject getLastVersion()
                                throws IfsException

  Description copied from class: `PublicObject`
  Returns the PublicObject referenced by the last VersionDescription in the PrimaryVersionSeries.

  This method is one of many versioning convenience methods on PublicObject. These methods are valid only when this public object is referenced by a single VersionDescription in the primaryVersionSeries (simple versioning). For more complex versioning models, you must use the methods on the version classes (Family, et. al).

  Returns:
    the PublicObject referenced by the last VersionDescription in the PrimaryVersionSeries
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### getNextVersion

    public PublicObject getNextVersion()
                                throws IfsException

  Description copied from class: `PublicObject`
  Returns the PublicObject referenced by the next VersionDescription in the PrimaryVersionSeries.

  This method is one of many versioning convenience methods on PublicObject. These methods are valid only when this public object is referenced by a single VersionDescription in the primaryVersionSeries (simple versioning). For more complex versioning models, you must use the methods on the version classes (Family, et. al).

  Returns:
    the PublicObject referenced by the last VersionDescription in the PrimaryVersionSeries
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### getPreviousVersion

    public PublicObject getPreviousVersion()
                                    throws IfsException

  Description copied from class: `PublicObject`
  Returns the PublicObject referenced by the previous VersionDescription in the PrimaryVersionSeries.

  This method is one of many versioning convenience methods on PublicObject. These methods are valid only when this public object is referenced by a single VersionDescription in the primaryVersionSeries (simple versioning). For more complex versioning models, you must use the methods on the version classes (Family, et. al).

  Returns:
    the PublicObject referenced by the last VersionDescription in the PrimaryVersionSeries
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### getFamily

    public Family getFamily()
                     throws IfsException

  Description copied from class: `PublicObject`
  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 or null if the PublicObject is not versioned
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getWorkingCopy

    public PublicObject getWorkingCopy()
                                throws IfsException

  Description copied from class: `PublicObject`
  Returns the working copy of this object's Family.

  Returns null if this object does not have a Family, or if the Family is reserved by another user. Otherwise it returns the current Working Copy (the VersionSeries' PendingPublicObject).

  Returns:
    the working copy of this object, or null.
  Throws:
    `IfsException` - if the operation fails
  (Published)

### isWorkingCopy

    public boolean isWorkingCopy()
                          throws IfsException

  Description copied from class: `PublicObject`
  Returns true if this object is a working copy, which is the PENDINGPUBLICOBJECT of a Family's primary VersionSeries.

  Returns:
    true if this object is a working copy.
  Throws:
    `IfsException` - if the operation fails

### getResolvedPublicObject

    public PublicObject getResolvedPublicObject()
                                         throws IfsException

  Description copied from class: `PublicObject`
  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 the operation fails
  (Published)

### getVersionSeries

    public VersionSeries getVersionSeries()
                                   throws IfsException

  Description copied from class: `PublicObject`
  Returns the Primary VersionSeries with which this object is associated. This is a shortcut to getting the family, and then getting the family's Primary VersionSeries.

  Returns:
    Primary VersionSeries with which this Object is associated
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### getSingletonVersionDescription

    protected VersionDescription getSingletonVersionDescription()
                                                         throws IfsException

  Throws:
    `IfsException`
  (Unpublished)

### verifyVersionSeries

    protected VersionSeries verifyVersionSeries()
                                         throws IfsException

  Throws:
    `IfsException`
  (Unpublished)

### checkVersioned

    protected void checkVersioned()
                           throws IfsException

  Throws:
    `IfsException`
  (Unpublished)

### isVersionable

    public boolean isVersionable()
                          throws IfsException

  Description copied from class: `PublicObject`
  Returns true if this class of object is versionable. For PublicObject, this defaults to false. Subclasses override this method.

  Throws:
    `IfsException` - if the operation fails
  (Published)

### listLeftwardRelationships

    protected java.util.Vector listLeftwardRelationships(ClassObject relClass,
                                                         SortSpecification sortSpec)
                                                  throws IfsException

  Throws:
    `IfsException`
  (Unpublished)

### listRightwardRelationships

    protected java.util.Vector listRightwardRelationships(ClassObject relClass,
                                                          SortSpecification sortSpec)
                                                   throws IfsException

  Throws:
    `IfsException`
  (Unpublished)

### hasCategories

    public boolean hasCategories()
                          throws IfsException

  Description copied from class: `PublicObject`
  Returns indication as to whether the object has any associated Categories.

  Returns:
    true if this object has associated Categories; false otherwise
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### hasConfigurationCategories

    public boolean hasConfigurationCategories()
                                       throws IfsException

  Description copied from class: `PublicObject`
  Returns indication as to whether the object has any associated ConfigurationCategories.

  Returns:
    true if this object has associated ConfigurationCategories; false otherwise
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### createDedicatedPolicyPropertyBundle

    protected PolicyPropertyBundle createDedicatedPolicyPropertyBundle()
                                                                throws IfsException

  Deprecated. CM SDK 10gR2: see release notes for changes to Policy framework

  Description copied from class: `PublicObject`
  Creates a PropertyBundle, with the SecuringPublicObject setting referencing this object.

  Returns:
    a new PropertyBundle
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### resolveFolderReferenceSortSpecification

    protected SortSpecification resolveFolderReferenceSortSpecification(LibrarySession session)
                                                                 throws IfsException

  Description copied from class: `PublicObject`
  Forces the SortSpecification (if specified) to be resolved and verified.

  Parameters:
    `session` - the current LibrarySession
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### constructPublicObjectVector

    protected static java.util.Vector constructPublicObjectVector(LibrarySession sess,
                                                                  java.util.Vector vector)
                                                           throws IfsException

  Throws:
    `IfsException`
  (Unpublished)

### constructPublicObject

    protected static PublicObject constructPublicObject(LibrarySession sess,
                                                        S_LibraryObjectData data)
                                                 throws IfsException

  Throws:
    `IfsException`
  (Unpublished)

### constructPublicObjectArray

    public static PublicObject[] constructPublicObjectArray(LibrarySession sess,
                                                            java.lang.Long[] ids)
                                                     throws IfsException

  Description copied from class: `PublicObject`
  Constructs a PublicObject array from an array of object IDs. This will throw an exception if any of the IDs cannot be converted into a PublciObject.

  Parameters:
    `sess` - the requesting session
    `ids` - the array of object IDs
  Returns:
    the array of PublicObjects
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### toPublicObjectArray

    public static PublicObject[] toPublicObjectArray(LibrarySession sess,
                                                     java.lang.Long[] ids,
                                                     PublicObject[] objs)
                                              throws IfsException

  Description copied from class: `PublicObject`
  Constructs a PublicObject array from an array of object IDs.

  The specified array will be used if it is the correct size; otherwise, an array will be constructed on the correct size. This will throw an exception if any of the IDs cannot be converted into a PublicObject.

  Parameters:
    `sess` - the requesting session
    `ids` - the array of object IDs
    `objs` - the array type to be returned
  Returns:
    the array of PublicObjects
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### vectorToPublicObjectArray

    protected static PublicObject[] vectorToPublicObjectArray(java.util.Vector vector)

  Description copied from class: `PublicObject`
  Converts a Vector of PublicObject to an array of PublicObject.

  Parameters:
    `vector` - A Vector containing PublicObjects
  Returns:
    an array of PublicObjects
  (Unpublished)

### vectorPublicObjectElement

    protected static PublicObject vectorPublicObjectElement(java.util.Vector vector,
                                                            int index)
                                                     throws java.lang.IndexOutOfBoundsException

  Description copied from class: `PublicObject`
  Returns a PublicObject from a specified Vector of PublicObject and an index.

  Parameters:
    `vector` - A Vector containing PublicObject
    `index` - An index into the Vector of PublicObject
  Returns:
    the requested PublicObject
  Throws:
    `java.lang.IndexOutOfBoundsException` - if index is invalid
  (Unpublished)

### delete

    public void delete()
                throws IfsException

  Description copied from class: `PublicObject`
  Mark an object for delete. This feature is not supported in PRODUCTION 9.0.

  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### undelete

    public void undelete()
                  throws IfsException

  Description copied from class: `PublicObject`
  cancel "mark delete" status for an object. This feature is not supported in PRODUCTION 9.0.

  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### isDeleted

    public boolean isDeleted()
                      throws IfsException

  Description copied from class: `PublicObject`
  isDeleted() - returns true if the object is marked for deletion, false otherwise

  Returns:
    true if the object is marked for deletion, false otherwise
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### getDefaultAccessLevel

    public AccessLevel getDefaultAccessLevel()
                                      throws IfsException

  Description copied from class: `PublicObject`
  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 the operation fails
  (Published)

### getEffectiveAccessLevel

    public AccessLevel getEffectiveAccessLevel()
                                        throws IfsException

  Description copied from class: `PublicObject`
  Get the access level on this object for the current user.

  Returns:
    the AccessLevel set for the current user
  Throws:
    `IfsException` - if the operation fails
  (Published)

### getEffectiveAccessLevel

    public AccessLevel getEffectiveAccessLevel(DirectoryObject obj)
                                        throws IfsException

  Description copied from class: `PublicObject`
  Get the access level on this object for the specified user.

  Parameters:
    `obj` - specified user on which to check Access Control
  Returns:
    the AccessLevel set for the specified user
  Throws:
    `IfsException` - if the operation fails
  (Published)

### checkEffectiveAccess

    public boolean checkEffectiveAccess(AccessLevel level)
                                 throws IfsException

  Description copied from class: `PublicObject`
  Checks 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 the operation fails
  (Published)

### checkEffectiveAccess

    public boolean checkEffectiveAccess(DirectoryObject obj,
                                        AccessLevel level)
                                 throws IfsException

  Description copied from class: `PublicObject`
  Check to see if specified user has the specified access level on this object.

  Parameters:
    `obj` - the object being checked
    `level` - specified level.
  Returns:
    true if specified user has at least the specified access.
  Throws:
    `IfsException` - if the operation fails
  (Published)

### grantAccess

    public AccessControlEntry grantAccess(AccessControlEntryDefinition def)
                                   throws IfsException

  Description copied from class: `PublicObject`
  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 the operation fails
  (Published)

### revokeAccess

    public AccessControlEntry revokeAccess(AccessControlEntryDefinition def)
                                    throws IfsException

  Description copied from class: `PublicObject`
  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 the operation fails
  (Published)

### addAccess

    protected AccessControlEntry addAccess(AccessControlEntryDefinition def)
                                    throws IfsException

  Description copied from class: `PublicObject`
  addAccess - USed by grantAccess() and revokeAccess() to add a AccessControlEntry for this object.

  Parameters:
    `def` - AccessControlEntryDefinition definition
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### getVersionNumber

    public long getVersionNumber()
                          throws IfsException

  Description copied from class: `PublicObject`
  returns the sequential number of this revision within the primary version series.

  This method is one of many versioning convenience methods on PublicObject. These methods are valid only when this public object is referenced by a single VersionDescription in the primaryVersionSeries (simple versioning). For more complex versioning models, you must use the methods on the version classes (Family, et. al).

  Returns:
    the sequential revision number.
  Throws:
    `IfsException` - if the operation fails
  (Unpublished)

### revokeAllAccess

    public void revokeAllAccess()
                         throws IfsException

  Description copied from class: `PublicObject`
  Removes 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 the operation fails
  (Published)

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD