Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | 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`

Field Summary
`static java.lang.String` | `ACL_ATTRIBUTE` The AccessControlList that secures this object.
`static java.lang.String` | `ADMINISTRATIONGROUP_ATTRIBUTE` The AdministrationGroup to which this object belongs.
`static java.lang.String` | `CLASS_NAME` This class name for this class.
`static java.lang.String` | `CREATEDATE_ATTRIBUTE` The date and time (in GMT) when this object was created.
`static java.lang.String` | `CREATOR_ATTRIBUTE` The DirectoryUser that created this object.
`static java.lang.String` | `DELETOR_ATTRIBUTE` The DirectoryUser that deleted (not 'Freed') this object.
`static java.lang.String` | `DESCRIPTION_ATTRIBUTE` A textual description of this object.
`static java.lang.String` | `EXPIRATIONDATE_ATTRIBUTE` The date when this object 'expires'.
`static java.lang.String` | `FAMILY_ATTRIBUTE` The Family to which this object belongs if this object is versioned.
`static java.lang.String` | `FLAGS_ATTRIBUTE` System-set flags of this object.
`static java.lang.String` | `LASTMODIFIER_ATTRIBUTE` The DirectoryUser that last modified this object.
`static java.lang.String` | `LASTMODIFYDATE_ATTRIBUTE` The date and time (in GMT) when this object was last modified.
`static java.lang.String` | `LOCKEDFORSESSION_ATTRIBUTE` The lock set on this object for the duration of the current session.
`static java.lang.String` | `LOCKSTATE_ATTRIBUTE` The type of lock on this object.
`static int` | `LOCKSTATE_HARDLOCK` Represents hardlock state.
`static int` | `LOCKSTATE_SESSIONLOCK` Represents sessionlock state.
`static int` | `LOCKSTATE_SOFTLOCK` Represents softlock state.
`static int` | `LOCKSTATE_UNLOCK` Represents unlock state.
`static int` | `LOCKSTATE_USERLOCK` Represents userlock state.
`static java.lang.String` | `NAME_ATTRIBUTE` The name of this object.
`static java.lang.String` | `OWNER_ATTRIBUTE` The DirectoryUser that owns this object.
`static java.lang.String` | `POLICYBUNDLE_ATTRIBUTE` The policies that apply specifically to this object.
`static java.lang.String` | `PROPERTYBUNDLE_ATTRIBUTE` The PropertyBundle associated with this object.
`static java.lang.String` | `RESOLVEDPUBLICOBJECT_ATTRIBUTE` The PublicObject to which this object resolves.
`static java.lang.String` | `SECURINGPUBLICOBJECT_ATTRIBUTE` A PublicObject from which this object should defer security decisions (e.g, all versions in a Family may have the Family as their securing public object).

Method Summary
`void` | `addCategory(CategoryDefinition catdef)` Adds a Category associated with this PublicObject.
`Relationship` | `addRelationship(RelationshipDefinition reldef)` Creates a relationship object linking this object (the "left" object) to the PublicObject (the "right" object) contained in the specified Relationship Definition.
`boolean` | `checkEffectiveAccess(AccessLevel level)` Check to see if current user has the specified access level on this object.
`boolean` | `checkEffectiveAccess(DirectoryObject obj, AccessLevel level)` Check to see if specified user has the specified access level on this object.
`PublicObject` | `copy(LibraryObjectDefinition def)` Produces a copy of this PublicObject.
`AccessControlList` | `getAcl()` Returns this object's AccessControlList.
`java.lang.String[]` | `getAllFolderPaths()` Gets all Folder paths to the target object, starting from the Root Folder.
`java.lang.String[]` | `getAllFolderPaths(Folder reference)` get all Folder paths to the target object.
`java.lang.String` | `getAnyFolderPath()` Gets any Folder path to the target object, starting from the Root Folder.
`java.lang.String` | `getAnyFolderPath(Folder reference)` Gets any Folder path to the target object.
`Category[]` | `getCategories()` Returns the associated Category objects.
`Category[]` | `getCategories(SortSpecification sort)` Returns the associated Category objects.
`java.util.Date` | `getCreateDate()` Returns the date this object was created.
`DirectoryUser` | `getCreator()` returns the user that created this object.
`AccessLevel` | `getDefaultAccessLevel()` Returns the access level defined for "World" access; i.e.
`java.lang.String` | `getDescription()` Returns the description of this object
`AccessLevel` | `getEffectiveAccessLevel()` Get the access level on this object for the current user.
`AccessLevel` | `getEffectiveAccessLevel(DirectoryObject obj)` Get the access level on this object for the specified user.
`java.util.Date` | `getExpirationDate()` Returns the expiration date set for this object
`Family` | `getFamily()` Returns the Family with which this object is associated.
`int` | `getFlags()` Gets the flags bitmask.
`SortSpecification` | `getFolderReferencesSortSpecification()` Returns the current sort specification used by the getFolderReferences method.
`DirectoryUser` | `getLastModifier()` Returns the user that last modified this object.
`java.util.Date` | `getLastModifyDate()` Returns the date this object was last modified
`PublicObject[]` | `getLeftwardRelationshipObjects(ClassObject relClass)` Returns all "left side" public objects that are related to this object by the specied Relationship Class.
`PublicObject[]` | `getLeftwardRelationshipObjects(java.lang.String relClassName)` Returns all "left side" public objects that are related to this object by the specied Relationship Class.
`Relationship[]` | `getLeftwardRelationships(ClassObject relClass)` Returns all "left side" relationship instances that are used to relate to this object to other PublicObjects.
`Relationship[]` | `getLeftwardRelationships(java.lang.String relClassName)` Returns all "left side" relationship instances that are used to relate to this object to other PublicObjects.
`int` | `getLockedState()` Deprecated. use getLockState()
`int` | `getLockState()` Returns the lock state of this object
`java.lang.String` | `getLockStateLabel()` Gets the localized String label for the LockState set for this instance.
`DirectoryUser` | `getOwner()` Returns the user that owns the object.
`PolicyPropertyBundle` | `getPolicyBundle()` Returns this object's PolicyPropertyBundle.
`PropertyBundle` | `getPropertyBundle()` Returns this object's PropertyBundle.
`PublicObject` | `getResolvedPublicObject()` Returns the PublicObject to which this object resolves.
`PublicObject[]` | `getRightwardRelationshipObjects(ClassObject relClass)` Returns all "right side" public objects that are related to this object by the specified Relationship Class.
`PublicObject[]` | `getRightwardRelationshipObjects(java.lang.String relClassName)` Returns all "right side" public objects that are related to this object by the specified Relationship Class.
`Relationship[]` | `getRightwardRelationships(ClassObject relClass)` Returns all "right side" relationship instances that are used to relate to this object to other PublicObjects.
`Relationship[]` | `getRightwardRelationships(java.lang.String relClassName)` Returns all "right side" relationship instances that are used to relate to this object to other PublicObjects.
`PublicObject` | `getSecuringPublicObject()` Returns the Public Object that controls this object's security.
`AccessControlEntry` | `grantAccess(AccessControlEntryDefinition def)` Add or extend an AccessControlEntryDefinition for this object.
`void` | `handleEvent(IfsEvent event)` Handles the specified event.
`protected boolean` | `hasNameAttribute()` Override to return true for any PublicObject, indicating that the instance has a NAME attribute.
`boolean` | `isLocked()` Returns true when lock state is not unlock.
`boolean` | `isLockedForSession()` Returns true if there is a session lock held on this object.
`boolean` | `isLockedForSessionByCurrentSession()` Returns true if there is a session lock held on this object, and it is held by the invoking session.
`boolean` | `isVersionable()` Returns true if this class of object is versionable.
`boolean` | `isVersioned()` returns true if this object is versioned (FAMILY != null)
`void` | `lock(int lockValue)` Obtain a lock on the object.
`void` | `putPolicy(Policy policy)` Adds a Policy to this object's PolicyPropertyBundle.
`void` | `putProperty(AttributeValue av)` Adds a Property to this object's PropertyBundle.
`void` | `putProperty(java.lang.String name, AttributeValue av)` Adds a Property to this object's PropertyBundle.
`void` | `removeAllPolicies()` Removes all Policies from this object's PolicyPropertyBundle, leaving an empty PolicyPropertyBundle.
`void` | `removeAllProperties()` Removes all Properties from this object's PropertyBundle, leaving an empty PropertyBundle.
`void` | `removePolicy(Policy policy)` Removes a Policy from this object's PolicyPropertyBundle.
`void` | `removePolicy(java.lang.String opname)` Removes a Policy from this object's PolicyPropertyBundle.
`void` | `removeProperty(java.lang.String name)` Removes a Property from this object's PropertyBundle.
`void` | `removeRelationship(Relationship rel)` Frees the specified relationship object that relates two PublicObjects.
`AccessControlEntry` | `revokeAccess(AccessControlEntryDefinition def)` Remove or restrict an AccessControlEntryDefinition for this object.
`void` | `revokeAllAccess()` Remove all AccessControlEntryDefinitions for this object.
`void` | `setAcl(AccessControlList acl)` Sets the AccessControlList for this object.
`void` | `setDescription(java.lang.String description)` Updates the description of this object.
`void` | `setExpirationDate(java.util.Date date)` Updates the expiration date set for this object.
`void` | `setFlags(int flags)` Sets the flags bitmask.
`void` | `setFolderReferencesSortSpecification(SortSpecification spec)` Sets the sort specification used by the getFolderReferences method.
`void` | `setOwner(DirectoryUser owner)` Updates the owner of this object.
`void` | `setPolicyBundle(PolicyPropertyBundle bundle)` set the PolicyPropertyBundle for this object, for the managing of per-instance Policies.
`void` | `setPropertyBundle(PropertyBundle bundle)` Sets this object's PropertyBundle.
`void` | `setSecuringPublicObject(PublicObject pubobj)` Sets the Public Object that controls our security.
`static java.lang.String` | `toLockStateLabel(int lockState)` Converts the specified LockState constant to a localized label.
`static java.lang.String` | `toLockStateLabel(int lockState, LibrarySession session)` Converts the specified LockState constant to a localized label, using the Localizer from the specified LibrarySession.
`static java.lang.String` | `toLockStateLabel(int lockState, Localizer localizer)` Converts the specified LockState constant to a localized label, using the specified Localizer.
`void` | `unlock()` Releases the persistent lock on the object.

Methods inherited from class oracle.ifs.beans.LibraryObject
`equals, free, free, getAttribute, getAttributeByUpperCaseName, getAttributes, getAttributesByUpperCaseNames, getClassId, getClassObject, getDefinition, getId, getLabel, getName, getSession, invokeServerMethod, isInstanceOf, isTraced, lookupInstanceLabel, postEvent, postEvent, renderAsReader, renderAsStream, setAttribute, setAttribute, setAttributes, setAttributes, setName, toString, trace, update`

Methods inherited from interface oracle.ifs.common.LibraryObjectInterface
`getId`

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

Field Detail

### CLASS_NAME

    public static final java.lang.String CLASS_NAME

  This class name for this class. Useful for methods that take a class name argument.

### NAME_ATTRIBUTE

    public static final java.lang.String NAME_ATTRIBUTE

  The name of this object.

### DESCRIPTION_ATTRIBUTE

    public static final java.lang.String DESCRIPTION_ATTRIBUTE

  A textual description of this object.

### OWNER_ATTRIBUTE

    public static final java.lang.String OWNER_ATTRIBUTE

  The DirectoryUser that owns this object.

### ACL_ATTRIBUTE

    public static final java.lang.String ACL_ATTRIBUTE

  The AccessControlList that secures this object.

### FAMILY_ATTRIBUTE

    public static final java.lang.String FAMILY_ATTRIBUTE

  The Family to which this object belongs if this object is versioned.

### RESOLVEDPUBLICOBJECT_ATTRIBUTE

    public static final java.lang.String RESOLVEDPUBLICOBJECT_ATTRIBUTE

  The PublicObject to which this object resolves. Families, VersionSeries, and VersionDescriptions resolve to a specific PublicObject which represents the 'desired version' (e.g. the latest version).

### CREATEDATE_ATTRIBUTE

    public static final java.lang.String CREATEDATE_ATTRIBUTE

  The date and time (in GMT) when this object was created.

### CREATOR_ATTRIBUTE

    public static final java.lang.String CREATOR_ATTRIBUTE

  The DirectoryUser that created this object.

### LASTMODIFYDATE_ATTRIBUTE

    public static final java.lang.String LASTMODIFYDATE_ATTRIBUTE

  The date and time (in GMT) when this object was last modified.

### LASTMODIFIER_ATTRIBUTE

    public static final java.lang.String LASTMODIFIER_ATTRIBUTE

  The DirectoryUser that last modified this object.

### DELETOR_ATTRIBUTE

    public static final java.lang.String DELETOR_ATTRIBUTE

  The DirectoryUser that deleted (not 'Freed') this object. Deletor will be set to null if this object is later undeleted.

### POLICYBUNDLE_ATTRIBUTE

    public static final java.lang.String POLICYBUNDLE_ATTRIBUTE

  The policies that apply specifically to this object.

### PROPERTYBUNDLE_ATTRIBUTE

    public static final java.lang.String PROPERTYBUNDLE_ATTRIBUTE

  The PropertyBundle associated with this object.

### ADMINISTRATIONGROUP_ATTRIBUTE

    public static final java.lang.String ADMINISTRATIONGROUP_ATTRIBUTE

  The AdministrationGroup to which this object belongs. The AdministrationGroup may be set to null.

### SECURINGPUBLICOBJECT_ATTRIBUTE

    public static final java.lang.String SECURINGPUBLICOBJECT_ATTRIBUTE

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

### EXPIRATIONDATE_ATTRIBUTE

    public static final java.lang.String EXPIRATIONDATE_ATTRIBUTE

  The date when this object 'expires'. ExpirationDate is an advisory attribute. The repository does not act on this attribute.

### LOCKSTATE_ATTRIBUTE

    public static final java.lang.String LOCKSTATE_ATTRIBUTE

  The type of lock on this object. The different states control the circumstances under which this object can be modified and/or deleted.

### FLAGS_ATTRIBUTE

    public static final java.lang.String FLAGS_ATTRIBUTE

  System-set flags of this object.

### LOCKEDFORSESSION_ATTRIBUTE

    public static final java.lang.String LOCKEDFORSESSION_ATTRIBUTE

  The lock set on this object for the duration of the current session.

### LOCKSTATE_UNLOCK

    public static final int LOCKSTATE_UNLOCK

  Represents unlock state.

### LOCKSTATE_HARDLOCK

    public static final int LOCKSTATE_HARDLOCK

  Represents hardlock state.

### LOCKSTATE_SOFTLOCK

    public static final int LOCKSTATE_SOFTLOCK

  Represents softlock state.

### LOCKSTATE_USERLOCK

    public static final int LOCKSTATE_USERLOCK

  Represents userlock state.

### LOCKSTATE_SESSIONLOCK

    public static final int LOCKSTATE_SESSIONLOCK

  Represents sessionlock state.

Method Detail

### hasNameAttribute

    protected boolean hasNameAttribute()
                                throws IfsException

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

### getCreateDate

    public java.util.Date getCreateDate()
                                 throws IfsException

  Returns the date this object was created.
  Returns:
    Date of creation
  Throws:
    `IfsException` - if operation fails.

### getCreator

    public DirectoryUser getCreator()
                             throws IfsException

  returns the user that created this object.
  Returns:
    the creator
  Throws:
    `IfsException` - if operation fails.

### getLastModifier

    public DirectoryUser getLastModifier()
                                  throws IfsException

  Returns the user that last modified this object.
  Returns:
    the last modifier
  Throws:
    `IfsException` - if operation fails.

### getDescription

    public java.lang.String getDescription()
                                    throws IfsException

  Returns the description of this object
  Returns:
    The object description
  Throws:
    `IfsException` - if operation fails.

### setDescription

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

  Updates the description of this object.
  Parameters:
    `description` - New description
  Throws:
    `IfsException` - if operation fails.

### getLastModifyDate

    public java.util.Date getLastModifyDate()
                                     throws IfsException

  Returns the date this object was last modified
  Returns:
    Date of modification
  Throws:
    `IfsException` - if operation fails.

### getOwner

    public DirectoryUser getOwner()
                           throws IfsException

  Returns the user that owns the object. The owner automatically has full access to this object.
  Returns:
    User that owns the object.
  Throws:
    `IfsException` - if operation fails.

### setOwner

    public void setOwner(DirectoryUser owner)
                  throws IfsException

  Updates the owner of this object.
  Parameters:
    `owner` - the new owner for the object.
  Throws:
    `IfsException` - if operation fails.

### setAcl

    public void setAcl(AccessControlList acl)
                throws IfsException

  Sets the AccessControlList for this object.
  Parameters:
    `acl` - - the AccessControlList setting.
  Throws:
    `IfsException` - if operation fails.
  See Also:
    `AccessControlList`

### getAcl

    public AccessControlList getAcl()
                             throws IfsException

  Returns this object's AccessControlList. Returns null if no AccessControlList was specified.
  Returns:
    AccessControlList for the object.
  Throws:
    `IfsException` - if operation fails.

### getSecuringPublicObject

    public PublicObject getSecuringPublicObject()
                                         throws IfsException

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

### setSecuringPublicObject

    public void setSecuringPublicObject(PublicObject pubobj)
                                 throws IfsException

  Sets the Public Object that controls our security.
  Parameters:
    `publicobject` - the PublicObject that controls the security
  Throws:
    `IfsException` - if operation fails.

### addCategory

    public void addCategory(CategoryDefinition catdef)
                     throws IfsException

  Adds a Category associated with this PublicObject.
  Parameters:
    `catdef` - the CategoryDefinition that describes the new Category that will be associated with this PublicObject.
  Throws:
    `IfsException` - if operation fails.

### getCategories

    public Category[] getCategories()
                             throws IfsException

  Returns the associated Category objects. Returns null if no Category objects are associated.
  Returns:
    array of Category objects associated witht he traget object.
  Throws:
    `IfsException` - if operation fails.

### getCategories

    public Category[] getCategories(SortSpecification sort)
                             throws IfsException

  Returns the associated Category objects. Returns null if no Category objects are associated.
  Parameters:
    `sort` - the specification of how the returned Category objects will be sorted.
  Returns:
    array of Category objects associated with the traget object.
  Throws:
    `IfsException` - if operation fails.

### getExpirationDate

    public java.util.Date getExpirationDate()
                                     throws IfsException

  Returns the expiration date set for this object
  Returns:
    The expiration date, or null if one is not set
  Throws:
    `IfsException` - if operation fails.

### setExpirationDate

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

  Updates the expiration date set for this object. A user must have both Delete and SetAttribute permissions on the object to perform this operation.
  Parameters:
    `date` - New expiration date
  Throws:
    `IfsException` - if operation fails.

### getFlags

    public int getFlags()
                 throws IfsException

  Gets the flags bitmask. This is used for miscellaneous status bits used by some protocols.
  Returns:
    the flags value. Returns 0 if no value is specified.
  Throws:
    `IfsException` - if the operation fails

### setFlags

    public void setFlags(int flags)
                  throws IfsException

  Sets the flags bitmask. This is used for miscellaneous status bits used by some protocols.

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

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

### getLockedState

    public int getLockedState()
                       throws IfsException

  Deprecated. use getLockState()

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

### getLockState

    public int getLockState()
                     throws IfsException

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

### getLockStateLabel

    public java.lang.String getLockStateLabel()
                                       throws IfsException

  Gets the localized String label for the LockState set for this instance.
  Returns:
    the label corresponding to the LockState
  Throws:
    `IfsException` - if operation fails.

### toLockStateLabel

    public static java.lang.String toLockStateLabel(int lockState)
                                             throws IfsException

  Converts the specified LockState constant to a localized label. The default Localizer is used.
  Parameters:
    `lockState` - the LockState constant.
  Returns:
    the label corresponding to the specified LockState constant.
  Throws:
    `IfsException` - if operation fails.

### toLockStateLabel

    public static java.lang.String toLockStateLabel(int lockState,
                                                    LibrarySession session)
                                             throws IfsException

  Converts the specified LockState constant to a localized label, using the Localizer from the specified LibrarySession.
  Parameters:
    `lockState` - the LockState constant
    `session` - the LibrarySession, whose current Localizer will be used for the conversion
  Returns:
    the label corresponding to the specified LockState constant
  Throws:
    `IfsException` - if operation fails.

### toLockStateLabel

    public static java.lang.String toLockStateLabel(int lockState,
                                                    Localizer localizer)
                                             throws IfsException

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

### isLocked

    public boolean isLocked()
                     throws IfsException

  Returns true when lock state is not unlock.
  Returns:
    The lock state - true if the object is locked. This returns true when lock state is not unlock.
  Throws:
    `IfsException` - if operation fails.

### isLockedForSession

    public boolean isLockedForSession()
                               throws IfsException

  Returns true if there is a session lock held on this object.
  Returns:
    true if there is a session lock held on this object.
  Throws:
    `IfsException` - if operation fails.

### isLockedForSessionByCurrentSession

    public boolean isLockedForSessionByCurrentSession()
                                               throws IfsException

  Returns true if there is a session lock held on this object, and it is held by the invoking session.
  Returns:
    true if there is a session lock held on this object, and it is held by the invoking session.
  Throws:
    `IfsException` - if operation fails.

### lock

    public void lock(int lockValue)
              throws IfsException

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

### unlock

    public void unlock()
                throws IfsException

  Releases the persistent lock on the object. A user must have both Lock and SetAttribute permissions on the object to perform this operation.
  Throws:
    `IfsException` - if operation fails.

### setPropertyBundle

    public void setPropertyBundle(PropertyBundle bundle)
                           throws IfsException

  Sets this object's PropertyBundle.
  Parameters:
    `bundle` - the Properties setting.
  Throws:
    `IfsException` - if operation fails.

### getPropertyBundle

    public PropertyBundle getPropertyBundle()
                                     throws IfsException

  Returns this object's PropertyBundle. Returns null if no PropertyBundle was specified.
  Returns:
    PropertyBundle for the object.
  Throws:
    `IfsException` - if operation fails.

### putProperty

    public void putProperty(AttributeValue av)
                     throws IfsException

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

### putProperty

    public void putProperty(java.lang.String name,
                            AttributeValue av)
                     throws IfsException

  Adds a Property to this object's PropertyBundle. Creates a new PropertBundle if one does not already exist.
  Parameters:
    `name` - the name of the new property
    `value` - the value of the new property
  Throws:
    `IfsException` - if operation fails.

### removeProperty

    public void removeProperty(java.lang.String name)
                        throws IfsException

  Removes a Property from this object's PropertyBundle.
  Parameters:
    `name` - the name of the property to remove
  Throws:
    `IfsException` - if operation fails.

### removeAllProperties

    public void removeAllProperties()
                             throws IfsException

  Removes all Properties from this object's PropertyBundle, leaving an empty PropertyBundle.
  Throws:
    `IfsException` - if operation fails.

### putPolicy

    public void putPolicy(Policy policy)
                   throws IfsException

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

### removePolicy

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

  Removes a Policy from this object's PolicyPropertyBundle.
  Parameters:
    `av` - the operation name of the policy to remove
  Throws:
    `IfsException` - if operation fails.

### removePolicy

    public void removePolicy(Policy policy)
                      throws IfsException

  Removes a Policy from this object's PolicyPropertyBundle.
  Parameters:
    `av` - the operation name of the policy to remove
  Throws:
    `IfsException` - if operation fails.

### removeAllPolicies

    public void removeAllPolicies()
                           throws IfsException

  Removes all Policies from this object's PolicyPropertyBundle, leaving an empty PolicyPropertyBundle.
  Throws:
    `IfsException` - if operation fails.

### setPolicyBundle

    public void setPolicyBundle(PolicyPropertyBundle bundle)
                         throws IfsException

  set the PolicyPropertyBundle for this object, for the managing of per-instance Policies.
  Parameters:
    `bundle` - the PolicyPropertyBundle setting.
  Throws:
    `IfsException` - if operation fails.

### getPolicyBundle

    public PolicyPropertyBundle getPolicyBundle()
                                         throws IfsException

  Returns this object's PolicyPropertyBundle. Return null if no Policies are specified.
  Returns:
    Policy PolicyPropertyBundle for the object.
  Throws:
    `IfsException` - if operation fails.

### getAnyFolderPath

    public java.lang.String getAnyFolderPath()
                                      throws IfsException

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

### getAnyFolderPath

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

  Gets any Folder path to the target object. If no reachable path exists, return null.
  Returns:
    a Folder path to the target object.
  Throws:
    `IfsException` - if operation fails.
  See Also:
    `getFolderReferences()`

### getAllFolderPaths

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

  Gets all Folder paths to the target object, starting from the Root Folder. If no reachable path exists, return null.
  Returns:
    all Folder paths to the target object.
  Throws:
    `IfsException` - if operation fails.
  See Also:
    `getFolderReferences()`

### getAllFolderPaths

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

  get all Folder paths to the target object. If no reachable paths exists, return null.
  Returns:
    all Folder paths to the target object.
  Throws:
    `IfsException` - if operation fails.
  See Also:
    `getFolderReferences()`

### getFolderReferencesSortSpecification

    public SortSpecification getFolderReferencesSortSpecification()
                                                           throws IfsException

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

### setFolderReferencesSortSpecification

    public void setFolderReferencesSortSpecification(SortSpecification spec)
                                              throws IfsException

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

### copy

    public PublicObject copy(LibraryObjectDefinition def)
                      throws IfsException

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

### addRelationship

    public Relationship addRelationship(RelationshipDefinition reldef)
                                 throws IfsException

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

### removeRelationship

    public void removeRelationship(Relationship rel)
                            throws IfsException

  Frees the specified relationship object that relates two PublicObjects.
  Parameters:
    `Relationship` - the relationship object to be removed.
  Throws:
    `IfsException` - if operation fails.

### getRightwardRelationshipObjects

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

  Returns all "right side" public objects that are related to this object by the specified Relationship Class. The Relationship class is specified by name.
  Parameters:
    `RelationshipClassName` - the name of the class of relationship on which to filter.
  Returns:
    an array of related PublicObjects
  Throws:
    `IfsException` - if operation fails.

### getRightwardRelationshipObjects

    public PublicObject[] getRightwardRelationshipObjects(ClassObject relClass)
                                                   throws IfsException

  Returns all "right side" public objects that are related to this object by the specified Relationship Class. The Relationship class is specified by ClassObject
  Parameters:
    `RelationshipClass` - the class of relationship on which to filter.
  Returns:
    an array of related PublicObjects
  Throws:
    `IfsException` - if operation fails.

### getLeftwardRelationshipObjects

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

  Returns all "left side" public objects that are related to this object by the specied Relationship Class. The filtering relationship class is specified by name.
  Parameters:
    `RelationshipClassName` - the name of the class of relationship on which to filter.
  Returns:
    an array of related PublicObjects
  Throws:
    `IfsException` - if operation fails.

### getLeftwardRelationshipObjects

    public PublicObject[] getLeftwardRelationshipObjects(ClassObject relClass)
                                                  throws IfsException

  Returns all "left side" public objects that are related to this object by the specied Relationship Class. The filtering relationship class is specified by ClassObject
  Parameters:
    `RelationshipClass` - the class of relationship on which to filter.
  Returns:
    an array of related PublicObjects
  Throws:
    `IfsException` - if operation fails.

### getRightwardRelationships

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

  Returns all "right side" relationship instances that are used to relate to this object to other PublicObjects. The Filtering Relationship class is specified by name.
  Parameters:
    `RelationshipClassName` - the name of the class of relationship on which to filter.
  Returns:
    an array of Relationship objects
  Throws:
    `IfsException` - if operation fails.

### getRightwardRelationships

    public Relationship[] getRightwardRelationships(ClassObject relClass)
                                             throws IfsException

  Returns all "right side" relationship instances that are used to relate to this object to other PublicObjects. The Filtering Relationship class is specified by ClassObject.
  Parameters:
    `RelationshipClass` - the class of relationship on which to filter.
  Returns:
    an array of Relationship objects
  Throws:
    `IfsException` - if operation fails.

### getLeftwardRelationships

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

  Returns all "left side" relationship instances that are used to relate to this object to other PublicObjects. The Filtering Relationship class is specified by name.
  Parameters:
    `RelationshipClassName` - the name of the class of relationship on which to filter.
  Returns:
    an array of Relationship objects
  Throws:
    `IfsException` - if operation fails.

### getLeftwardRelationships

    public Relationship[] getLeftwardRelationships(ClassObject relClass)
                                            throws IfsException

  Returns all "left side" relationship instances that are used to relate to this object to other PublicObjects. The Filtering Relationship class is specified by ClassObject.
  Parameters:
    `RelationshipClass` - the class of relationship on which to filter.
  Returns:
    an array of Relationship objects
  Throws:
    `IfsException` - if operation fails.

### isVersioned

    public boolean isVersioned()
                        throws IfsException

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

### getFamily

    public Family getFamily()
                     throws IfsException

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

### getResolvedPublicObject

    public PublicObject getResolvedPublicObject()
                                         throws IfsException

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

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

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

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

### isVersionable

    public boolean isVersionable()
                          throws IfsException

  Returns true if this class of object is versionable. For PublicObject, this defaults to false. Subclasses override this method.
  Throws:
    `IfsException` - if operation fails.

### handleEvent

    public void handleEvent(IfsEvent event)
                     throws IfsException

  Handles the specified event.
  Overrides:
    `handleEvent` in class `LibraryObject`
  Parameters:
    `event` - the event
  Throws:
    `IfsException` - if the operation fails

### getDefaultAccessLevel

    public AccessLevel getDefaultAccessLevel()
                                      throws IfsException

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

### getEffectiveAccessLevel

    public AccessLevel getEffectiveAccessLevel()
                                        throws IfsException

  Get the access level on this object for the current user.
  Returns:
    the AccessLevel set for the current user
  Throws:
    `IfsException` - if operation fails.

### getEffectiveAccessLevel

    public AccessLevel getEffectiveAccessLevel(DirectoryObject obj)
                                        throws IfsException

  Get the access level on this object for the specified user.
  Parameters:
    `user` - specified user on which to check Access Control
  Returns:
    the AccessLevel set for the specified user
  Throws:
    `IfsException` - if operation fails.

### checkEffectiveAccess

    public boolean checkEffectiveAccess(AccessLevel level)
                                 throws IfsException

  Check to see if current user has the specified access level on this object.
  Parameters:
    `level` - specified level.
  Returns:
    true if current user has at least the specified access.
  Throws:
    `IfsException` - if operation fails.

### checkEffectiveAccess

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

  Check to see if specified user has the specified access level on this object.
  Parameters:
    `user` - specified user on which to check Access Control
    `level` - specified level.
  Returns:
    true if specified user has at least the specified access.
  Throws:
    `IfsException` - if operation fails.

### grantAccess

    public AccessControlEntry grantAccess(AccessControlEntryDefinition def)
                                   throws IfsException

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

### revokeAccess

    public AccessControlEntry revokeAccess(AccessControlEntryDefinition def)
                                    throws IfsException

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

### revokeAllAccess

    public void revokeAllAccess()
                         throws IfsException

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

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