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.common
Class AccessLevel

    java.lang.Object
      oracle.ifs.common.AccessLevel

All Implemented Interfaces:
  java.io.Serializable

    public final class AccessLevel

extends java.lang.Object
implements java.io.Serializable

The `AccessLevel` class. This class is used to manage security on iFS Public Objects (e.g. Folders and Documents). An instance of this class encapsulates a set of operations, that is used as a parameter to methods that grant or revoke permissions, and as the result of inquiring on permissions.

AccessLevel can be viewed as a set of boolean permission flags for up to 64 standard access levels, and an unrestricted number of extendedPermissions. The standard access levels currently defined are:

- Discover - the ability to discover an object and read its attributes (but, for Documents, not necessarily its content).
- GetContent - the ability to read the content of an object (applies only to Documents).
- SetAttribute - the ability to directly update any object attribute.
- SetContent - the ability to update the content of an object (applies only to Documents).
- Delete - the ability to delete, undelete, or free an object. Also required to set or clear the ExpirationDate attribute on PublicObjects.
- Lock - the ability to lock PublicObjects.
- Unlock - the ability to unlock PublicObjects.
- Grant - the ability to change a PublicObject's ACL, Owner to any user.
- AddMember - the ability to add a DirectoryObject member to a DirectoryGroup. Permission applies to the target DirectoryGroup.
- RemoveMember - the ability to remove a DirectoryObject member from a DirectoryGroup. Permission applies to the target DirectoryGroup.
- AddItem - the ability to add a PublicObject item to a Folder. Permission applies to the target Folder.
- RemoveItem - the ability to remove a PublicObject item from a Folder. Permission applies to the target Folder.
- AddRelationship - the ability to relate a PublicObject (known as the "RightObject") with another PublicObject (known as the "LeftObject"). Permission applies to the LeftObject.
- RemoveRelationship - the ability to remove a relationship between a PublicObject (known as the "RightObject") and another PublicObject (known as the "LeftObject"). Permission applies to the LeftObject.
- AddVersonSeries - the ability to add a VersionSeries to a Family. Permission applies to the Family.
- RemoveVersionSeries - the ability to remove a VersionSeries from a Family. Permission applies to the Family.
- AddVerson - the ability to add a new Version to a VersionSeries. Permission applies to the VersionSeries.
- RemoveVersion - the ability to remove a Version from a VersionSeries. Permission applies to the VersionSeries.
- SetDefaultVersion - the ability to change the default version or VersionSeries of a Family or VersionSeries.
- SetPolicy - the ability to change a PolicyPropertyBundle associated with a PublicObject. Permission applies to the PolicyPropertyBundle.
- Create - the ability to create an instance of a class. Only applies to ClassAccessControlLists.
- SelectorAccess - the ability to search a class in either a Search or a Selector. Only applies to ClassAccessControlLists.
- Enqueue - the ability to enqueue a message on to a queue.
- Dequeue - the ability to dequeue a message from a queue.

The Strings used to identify these permissions are by default the English strings used in the descriptions above. Localized translations of these Strings can be used, and accessed using the static string keys,such as ACCESSLEVEL_DISCOVER_KEY.

This class has methods to set and clear the various permission flags, as well as methods to test whether a permission flag is set.

Note: A PermissionBundle can return an AccessLevel which has a few null ExtendedPermissions associated with it. This can happen, in at least the following two ways:

1. The PermissionBundle could have an AccessLevel set, on which enableExtendedPermissions() is called with an array containing nulls elements.

2. The referenced ExtendedPermission objects could have existed properly at the time the PermissionBundle was created, but subsequently freed. This will result in the ExtendedPermission array having null elements.

The developer's code should handle null elements in the ExtendedPermission[] array returned from getExtendedPermissions().getSystemObjectArray().

See Also:
  `AccessControlList`, Serialized Form
(Published)

Field Summary
`static long` | `ACCESSLEVEL_ADDITEM` Numeric value that designates permission to add an item to a Folder (bit 14).
`static long` | `ACCESSLEVEL_ADDMEMBER` Numeric value that designates permission to add a DirectoryObject to a DirectoryGroup (bit 12).
`static long` | `ACCESSLEVEL_ADDRELATIONSHIP` Numeric value that designates permission to relate a PublicObject to another PublicObject (bit 16).
`static long` | `ACCESSLEVEL_ADDVERSION` Numeric value that designates permission to add a new version to a VersionSeries (bit 20).
`static long` | `ACCESSLEVEL_ADDVERSIONSERIES` Numeric value that designates permission to add a VersionSeries to a Family (bit 18).
`static long` | `ACCESSLEVEL_ALL` Numeric value that designates "all permissions".
`static long` | `ACCESSLEVEL_APPLICATION0` Application-specific permission 0 (bit 48).
`static long` | `ACCESSLEVEL_APPLICATION1` Application-specific permission 1 (bit 49).
`static long` | `ACCESSLEVEL_APPLICATION10` Application-specific permission 10 (bit 58).
`static long` | `ACCESSLEVEL_APPLICATION11` Application-specific permission 11 (bit 59).
`static long` | `ACCESSLEVEL_APPLICATION12` Application-specific permission 12 (bit 60).
`static long` | `ACCESSLEVEL_APPLICATION13` Application-specific permission 13 (bit 61).
`static long` | `ACCESSLEVEL_APPLICATION14` Application-specific permission 14 (bit 62).
`static long` | `ACCESSLEVEL_APPLICATION15` Application-specific permission 15 (bit 63).
`static long` | `ACCESSLEVEL_APPLICATION2` Application-specific permission 2 (bit 50).
`static long` | `ACCESSLEVEL_APPLICATION3` Application-specific permission 3 (bit 51).
`static long` | `ACCESSLEVEL_APPLICATION4` Application-specific permission 4 (bit 52).
`static long` | `ACCESSLEVEL_APPLICATION5` Application-specific permission 5 (bit 53).
`static long` | `ACCESSLEVEL_APPLICATION6` Application-specific permission 6 (bit 54).
`static long` | `ACCESSLEVEL_APPLICATION7` Application-specific permission 7 (bit 55).
`static long` | `ACCESSLEVEL_APPLICATION8` Application-specific permission 8 (bit 56).
`static long` | `ACCESSLEVEL_APPLICATION9` Application-specific permission 9 (bit 57).
`static long` | `ACCESSLEVEL_CREATE` Numeric value that designates permission to create an instance of a Class (bit 7).
`static long` | `ACCESSLEVEL_DELETE` Numeric value that designates permission to free an object (bit 4).
`static long` | `ACCESSLEVEL_DEQUEUE` Numeric value that designates permission to dequeue messages from a queue (bit 25).
`static long` | `ACCESSLEVEL_DISCOVER` Numeric value that designates Discover permission (bit 0)
`static long` | `ACCESSLEVEL_ENQUEUE` Numeric value that designates permission to enqueue messages on to a queue (bit 24).
`static long` | `ACCESSLEVEL_GET_CONTENT` Numeric value that designates permission to get content of a Document (bit 2).
`static long` | `ACCESSLEVEL_GRANT` Numeric value that designates permission to change a Publicobject's Owner, ACL to another user (bit 6).
`static long` | `ACCESSLEVEL_LOCK` Numeric value that designates permission to lock or unlock PublicObjects (bit 5).
`static long` | `ACCESSLEVEL_NONE` Numeric value that designates "no permissions".
`static long` | `ACCESSLEVEL_REMOVEITEM` Numeric value that designates permission to remove an item from a Folder (bit 15).
`static long` | `ACCESSLEVEL_REMOVEMEMBER` Numeric value that designates permission to remove a DirectoryObject from a DirectoryGroup (bit 13).
`static long` | `ACCESSLEVEL_REMOVERELATIONSHIP` Numeric value that designates permission to remove a Relationship between a PublicObject (bit 17).
`static long` | `ACCESSLEVEL_REMOVEVERSION` Numeric value that designates permission to remove a version from a VersionSeries (bit 21).
`static long` | `ACCESSLEVEL_REMOVEVERSIONSERIES` Numeric value that designates permission to remove a VersionSeries from a Family (bit 19).
`static long` | `ACCESSLEVEL_RESERVED10` Reserved for future use (bit 10).
`static long` | `ACCESSLEVEL_RESERVED11` Reserved for future use (bit 11).
`static long` | `ACCESSLEVEL_RESERVED27` Reserved for future use (bit 27).
`static long` | `ACCESSLEVEL_RESERVED32` Reserved for future use (bit 32).
`static long` | `ACCESSLEVEL_RESERVED33` Reserved for future use (bit 33).
`static long` | `ACCESSLEVEL_RESERVED34` Reserved for future use (bit 34).
`static long` | `ACCESSLEVEL_RESERVED35` Reserved for future use (bit 35).
`static long` | `ACCESSLEVEL_RESERVED36` Reserved for future use (bit 36).
`static long` | `ACCESSLEVEL_RESERVED37` Reserved for future use (bit 37).
`static long` | `ACCESSLEVEL_RESERVED38` Reserved for future use (bit 38).
`static long` | `ACCESSLEVEL_RESERVED39` Reserved for future use (bit 39).
`static long` | `ACCESSLEVEL_RESERVED40` Reserved for future use (bit 40).
`static long` | `ACCESSLEVEL_RESERVED41` Reserved for future use (bit 41).
`static long` | `ACCESSLEVEL_RESERVED42` Reserved for future use (bit 42).
`static long` | `ACCESSLEVEL_RESERVED43` Reserved for future use (bit 43).
`static long` | `ACCESSLEVEL_RESERVED44` Reserved for future use (bit 44).
`static long` | `ACCESSLEVEL_RESERVED45` Reserved for future use (bit 45).
`static long` | `ACCESSLEVEL_RESERVED46` Reserved for future use (bit 46).
`static long` | `ACCESSLEVEL_RESERVED47` Reserved for future use (bit 47).
`static long` | `ACCESSLEVEL_RESERVED9` Reserved for future use (bit 9).
`static long` | `ACCESSLEVEL_SELECTORACCESS` Numeric value that designates permission to search a Class in a Selector or a Search (bit 8).
`static long` | `ACCESSLEVEL_SET_ATTR` Numeric value that designates permission to update an object attribute (bit 1)
`static long` | `ACCESSLEVEL_SET_CONTENT` Numeric value that designates permission to update content of a Document (bit 3).
`static long` | `ACCESSLEVEL_SETDEFAULTVERSION` Numeric value that designates permission to change the default version or VersionSeries of a Family or VersionSeries (bit 22).
`static long` | `ACCESSLEVEL_SETPOLICY` Numeric value that designates permission to change the PolicyPropertyBundle associated with a PublicObject (bit 23).
`static java.lang.String` | `ACCESSLEVEL_TOSTRING_DELIMITER_KEY` resourceBundle key used to get the permission delimiter for a String representation for an AccessLevel.
`static java.lang.String` | `ACCESSLEVEL_TOSTRING_PREFIX_KEY` resourceBundle key used to get the prefix for a String representation for an AccessLevel.
`static java.lang.String` | `ACCESSLEVEL_TOSTRING_SUFFIX_KEY` resourceBundle key used to get the suffix for a String representation for an AccessLevel.
`static long` | `ACCESSLEVEL_UNLOCK` Numeric value that designates permission to unlock PublicObjects (bit 26).
`protected AttributeValue` | `m_ExtendedPermissions` the set of ExtendedPermissions enabled - kept as an AttributeValue (of type MVA-SystemObject)
`protected java.util.Hashtable` | `m_ExtendedPermissionTable` the set of ExtendedPermissions enabled - kept as a hashtable, keyed by ExtendedPermission name; value is a Long (the EP's id).
`protected long` | `m_Level` the internal bit mask representing the set of standard permission flags set.

Constructor Summary
`AccessLevel()` default Constructor for an AccessLevel.
`AccessLevel(AccessLevel level)` Clone an AccessLevel
`AccessLevel(long accessLevel)` Construct an AccessLevel, with a long accesslevel value.
`AccessLevel(java.lang.String[] stringLevels)` constructor to initialize set of permissions, specified by an array of Strings.
`AccessLevel(java.lang.String[] stringLevels, LibrarySessionInterface session)` constructor to initialize set of permissions, specified by an array of Strings and a specific LibrarySessionInterface.
`AccessLevel(java.lang.String[] stringLevels, Localizer localizer)` constructor to initialize set of permissions, specified by an array of Strings and a specific Localizer.

Method Summary
`void` | `add(AccessLevel level, LibrarySessionInterface sess)` Add permissions specified in another AccessLevel to this AccessLevel
`void` | `clearAllExtendedPermissions()` Clear all extended permission flags.
`void` | `clearAllPermissions()` Clear all permission flags - standard and extended.
`void` | `clearAllStandardPermissions()` Clear all standard permission flags.
`void` | `disableExtendedPermission(AttributeValue av, LibrarySessionInterface sess)` Disable an extended perrmission, specified as an AttributeValue
`void` | `disableExtendedPermission(ExtendedPermissionInterface perm)` Disable an extended perrmission.
`void` | `disableExtendedPermission(ExtendedPermissionInterface[] perms)` Disable a set of extended perrmissions.
`void` | `disableStandardPermission(long permission)` Disable a standard perrmission.
`void` | `enableAllStandardPermissions()` Set all standard permission flags.
`void` | `enableExtendedPermission(AttributeValue av, LibrarySessionInterface sess)` Enable an extended perrmission, specified as an AttributeValue
`void` | `enableExtendedPermission(ExtendedPermissionInterface perm)` Enable an extended perrmission
`void` | `enableExtendedPermission(ExtendedPermissionInterface[] perms)` Enable a set of extended perrmissions.
`void` | `enableStandardPermission(long permission)` Enable a standard perrmission.
`boolean` | `equals(AccessLevel level)` Check if the specified accesslevel is equal to this AccessLevel
`static java.lang.String[]` | `getAllDefinedStandardPermissionNames(LibrarySessionInterface session)` return the array of all defined standard permission localized labels.
`static java.lang.String[]` | `getAllDefinedStandardPermissionNames(Localizer localizer)` return the array of all defined standard permission localized labels.
`static long[]` | `getAllDefinedStandardPermissions()` return the array of all defined standard permission numeric values.
`java.lang.String[]` | `getEnabledStandardPermissionNames(LibrarySessionInterface session)` return the array of the names of all standard permission enabled in this instance.
`java.lang.String[]` | `getEnabledStandardPermissionNames(Localizer localizer)` return the array of the names of all standard permission enabled in this instance.
`long[]` | `getEnabledStandardPermissions()` return the array of all enabled standard permissions, using the numeric values (defined as static long constants in this class) to represent each permission.
`AttributeValue` | `getExtendedPermissions()` Get all ExtendedPermissions, as an AttributeValue of type SystemObjectArray.
`boolean` | `hasExtendedPermissions()` Returns true is this AccessLevel has (or may have) ExtendedPermissions defined.
`boolean` | `isExtendedPermissionEnabled(ExtendedPermissionInterface perm)` Is a extended permission enabled?
`boolean` | `isStandardPermissionEnabled(long permission)` Is a standard perrmission enabled?
`boolean` | `isSufficientlyEnabled(AccessLevel level, LibrarySessionInterface sess)` check to see if specified permissions are enabled on the target AccessLevel.
`void` | `subtract(AccessLevel level, LibrarySessionInterface sess)` Remove permissions specified in another AccessLevel to this AccessLevel.
`long` | `toLong()` toLong - return the long representation of the access level.
`java.lang.String` | `toString()` convert AccessLevel to a String, representing the set of permissions; for example "{Discover,GetContent}".
`java.lang.String` | `toString(Localizer localizer)` convert AccessLevel to a String, representing the set of permissions for a specified Localizer; for example "{Discover,GetContent}".

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

Field Detail

### ACCESSLEVEL_NONE

    public static final long ACCESSLEVEL_NONE

  Description copied from class: `AccessLevel`
  Numeric value that designates "no permissions".

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_ALL

    public static final long ACCESSLEVEL_ALL

  Description copied from class: `AccessLevel`
  Numeric value that designates "all permissions".

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_DISCOVER

    public static final long ACCESSLEVEL_DISCOVER

  Description copied from class: `AccessLevel`
  Numeric value that designates Discover permission (bit 0)

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_SET_ATTR

    public static final long ACCESSLEVEL_SET_ATTR

  Description copied from class: `AccessLevel`
  Numeric value that designates permission to update an object attribute (bit 1)

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_GET_CONTENT

    public static final long ACCESSLEVEL_GET_CONTENT

  Description copied from class: `AccessLevel`
  Numeric value that designates permission to get content of a Document (bit 2).

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_SET_CONTENT

    public static final long ACCESSLEVEL_SET_CONTENT

  Description copied from class: `AccessLevel`
  Numeric value that designates permission to update content of a Document (bit 3).

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_DELETE

    public static final long ACCESSLEVEL_DELETE

  Description copied from class: `AccessLevel`
  Numeric value that designates permission to free an object (bit 4).

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_LOCK

    public static final long ACCESSLEVEL_LOCK

  Description copied from class: `AccessLevel`
  Numeric value that designates permission to lock or unlock PublicObjects (bit 5).

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_GRANT

    public static final long ACCESSLEVEL_GRANT

  Description copied from class: `AccessLevel`
  Numeric value that designates permission to change a Publicobject's Owner, ACL to another user (bit 6).

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_CREATE

    public static final long ACCESSLEVEL_CREATE

  Description copied from class: `AccessLevel`
  Numeric value that designates permission to create an instance of a Class (bit 7).

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_SELECTORACCESS

    public static final long ACCESSLEVEL_SELECTORACCESS

  Description copied from class: `AccessLevel`
  Numeric value that designates permission to search a Class in a Selector or a Search (bit 8).

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_RESERVED9

    public static final long ACCESSLEVEL_RESERVED9

  Description copied from class: `AccessLevel`
  Reserved for future use (bit 9).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_RESERVED10

    public static final long ACCESSLEVEL_RESERVED10

  Description copied from class: `AccessLevel`
  Reserved for future use (bit 10).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_RESERVED11

    public static final long ACCESSLEVEL_RESERVED11

  Description copied from class: `AccessLevel`
  Reserved for future use (bit 11).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_ADDMEMBER

    public static final long ACCESSLEVEL_ADDMEMBER

  Description copied from class: `AccessLevel`
  Numeric value that designates permission to add a DirectoryObject to a DirectoryGroup (bit 12).

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_REMOVEMEMBER

    public static final long ACCESSLEVEL_REMOVEMEMBER

  Description copied from class: `AccessLevel`
  Numeric value that designates permission to remove a DirectoryObject from a DirectoryGroup (bit 13).

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_ADDITEM

    public static final long ACCESSLEVEL_ADDITEM

  Description copied from class: `AccessLevel`
  Numeric value that designates permission to add an item to a Folder (bit 14).

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_REMOVEITEM

    public static final long ACCESSLEVEL_REMOVEITEM

  Description copied from class: `AccessLevel`
  Numeric value that designates permission to remove an item from a Folder (bit 15).

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_ADDRELATIONSHIP

    public static final long ACCESSLEVEL_ADDRELATIONSHIP

  Description copied from class: `AccessLevel`
  Numeric value that designates permission to relate a PublicObject to another PublicObject (bit 16).

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_REMOVERELATIONSHIP

    public static final long ACCESSLEVEL_REMOVERELATIONSHIP

  Description copied from class: `AccessLevel`
  Numeric value that designates permission to remove a Relationship between a PublicObject (bit 17). and another PublicObject

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_ADDVERSIONSERIES

    public static final long ACCESSLEVEL_ADDVERSIONSERIES

  Description copied from class: `AccessLevel`
  Numeric value that designates permission to add a VersionSeries to a Family (bit 18).

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_REMOVEVERSIONSERIES

    public static final long ACCESSLEVEL_REMOVEVERSIONSERIES

  Description copied from class: `AccessLevel`
  Numeric value that designates permission to remove a VersionSeries from a Family (bit 19).

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_ADDVERSION

    public static final long ACCESSLEVEL_ADDVERSION

  Description copied from class: `AccessLevel`
  Numeric value that designates permission to add a new version to a VersionSeries (bit 20).

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_REMOVEVERSION

    public static final long ACCESSLEVEL_REMOVEVERSION

  Description copied from class: `AccessLevel`
  Numeric value that designates permission to remove a version from a VersionSeries (bit 21).

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_SETDEFAULTVERSION

    public static final long ACCESSLEVEL_SETDEFAULTVERSION

  Description copied from class: `AccessLevel`
  Numeric value that designates permission to change the default version or VersionSeries of a Family or VersionSeries (bit 22).

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_SETPOLICY

    public static final long ACCESSLEVEL_SETPOLICY

  Description copied from class: `AccessLevel`
  Numeric value that designates permission to change the PolicyPropertyBundle associated with a PublicObject (bit 23).

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_ENQUEUE

    public static final long ACCESSLEVEL_ENQUEUE

  Description copied from class: `AccessLevel`
  Numeric value that designates permission to enqueue messages on to a queue (bit 24).

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_DEQUEUE

    public static final long ACCESSLEVEL_DEQUEUE

  Description copied from class: `AccessLevel`
  Numeric value that designates permission to dequeue messages from a queue (bit 25).

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_UNLOCK

    public static final long ACCESSLEVEL_UNLOCK

  Description copied from class: `AccessLevel`
  Numeric value that designates permission to unlock PublicObjects (bit 26).

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_RESERVED27

    public static final long ACCESSLEVEL_RESERVED27

  Description copied from class: `AccessLevel`
  Reserved for future use (bit 27).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_RESERVED32

    public static final long ACCESSLEVEL_RESERVED32

  Description copied from class: `AccessLevel`
  Reserved for future use (bit 32).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_RESERVED33

    public static final long ACCESSLEVEL_RESERVED33

  Description copied from class: `AccessLevel`
  Reserved for future use (bit 33).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_RESERVED34

    public static final long ACCESSLEVEL_RESERVED34

  Description copied from class: `AccessLevel`
  Reserved for future use (bit 34).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_RESERVED35

    public static final long ACCESSLEVEL_RESERVED35

  Description copied from class: `AccessLevel`
  Reserved for future use (bit 35).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_RESERVED36

    public static final long ACCESSLEVEL_RESERVED36

  Description copied from class: `AccessLevel`
  Reserved for future use (bit 36).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_RESERVED37

    public static final long ACCESSLEVEL_RESERVED37

  Description copied from class: `AccessLevel`
  Reserved for future use (bit 37).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_RESERVED38

    public static final long ACCESSLEVEL_RESERVED38

  Description copied from class: `AccessLevel`
  Reserved for future use (bit 38).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_RESERVED39

    public static final long ACCESSLEVEL_RESERVED39

  Description copied from class: `AccessLevel`
  Reserved for future use (bit 39).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_RESERVED40

    public static final long ACCESSLEVEL_RESERVED40

  Description copied from class: `AccessLevel`
  Reserved for future use (bit 40).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_RESERVED41

    public static final long ACCESSLEVEL_RESERVED41

  Description copied from class: `AccessLevel`
  Reserved for future use (bit 41).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_RESERVED42

    public static final long ACCESSLEVEL_RESERVED42

  Description copied from class: `AccessLevel`
  Reserved for future use (bit 42).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_RESERVED43

    public static final long ACCESSLEVEL_RESERVED43

  Description copied from class: `AccessLevel`
  Reserved for future use (bit 43).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_RESERVED44

    public static final long ACCESSLEVEL_RESERVED44

  Description copied from class: `AccessLevel`
  Reserved for future use (bit 44).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_RESERVED45

    public static final long ACCESSLEVEL_RESERVED45

  Description copied from class: `AccessLevel`
  Reserved for future use (bit 45).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_RESERVED46

    public static final long ACCESSLEVEL_RESERVED46

  Description copied from class: `AccessLevel`
  Reserved for future use (bit 46).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_RESERVED47

    public static final long ACCESSLEVEL_RESERVED47

  Description copied from class: `AccessLevel`
  Reserved for future use (bit 47).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_APPLICATION0

    public static final long ACCESSLEVEL_APPLICATION0

  Description copied from class: `AccessLevel`
  Application-specific permission 0 (bit 48).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_APPLICATION1

    public static final long ACCESSLEVEL_APPLICATION1

  Description copied from class: `AccessLevel`
  Application-specific permission 1 (bit 49).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_APPLICATION2

    public static final long ACCESSLEVEL_APPLICATION2

  Description copied from class: `AccessLevel`
  Application-specific permission 2 (bit 50).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_APPLICATION3

    public static final long ACCESSLEVEL_APPLICATION3

  Description copied from class: `AccessLevel`
  Application-specific permission 3 (bit 51).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_APPLICATION4

    public static final long ACCESSLEVEL_APPLICATION4

  Description copied from class: `AccessLevel`
  Application-specific permission 4 (bit 52).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_APPLICATION5

    public static final long ACCESSLEVEL_APPLICATION5

  Description copied from class: `AccessLevel`
  Application-specific permission 5 (bit 53).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_APPLICATION6

    public static final long ACCESSLEVEL_APPLICATION6

  Description copied from class: `AccessLevel`
  Application-specific permission 6 (bit 54).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_APPLICATION7

    public static final long ACCESSLEVEL_APPLICATION7

  Description copied from class: `AccessLevel`
  Application-specific permission 7 (bit 55).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_APPLICATION8

    public static final long ACCESSLEVEL_APPLICATION8

  Description copied from class: `AccessLevel`
  Application-specific permission 8 (bit 56).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_APPLICATION9

    public static final long ACCESSLEVEL_APPLICATION9

  Description copied from class: `AccessLevel`
  Application-specific permission 9 (bit 57).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_APPLICATION10

    public static final long ACCESSLEVEL_APPLICATION10

  Description copied from class: `AccessLevel`
  Application-specific permission 10 (bit 58).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_APPLICATION11

    public static final long ACCESSLEVEL_APPLICATION11

  Description copied from class: `AccessLevel`
  Application-specific permission 11 (bit 59).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_APPLICATION12

    public static final long ACCESSLEVEL_APPLICATION12

  Description copied from class: `AccessLevel`
  Application-specific permission 12 (bit 60).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_APPLICATION13

    public static final long ACCESSLEVEL_APPLICATION13

  Description copied from class: `AccessLevel`
  Application-specific permission 13 (bit 61).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_APPLICATION14

    public static final long ACCESSLEVEL_APPLICATION14

  Description copied from class: `AccessLevel`
  Application-specific permission 14 (bit 62).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_APPLICATION15

    public static final long ACCESSLEVEL_APPLICATION15

  Description copied from class: `AccessLevel`
  Application-specific permission 15 (bit 63).

  See Also:
    Constant Field Values
  (Unpublished)

### ACCESSLEVEL_TOSTRING_PREFIX_KEY

    public static final java.lang.String ACCESSLEVEL_TOSTRING_PREFIX_KEY

  Description copied from class: `AccessLevel`
  resourceBundle key used to get the prefix for a String representation for an AccessLevel. For example, if an AccessLevel that has Discover and GetContent were to be represented as {Discover,GetContent}, the prefix key lookup would return the string "{".

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_TOSTRING_SUFFIX_KEY

    public static final java.lang.String ACCESSLEVEL_TOSTRING_SUFFIX_KEY

  Description copied from class: `AccessLevel`
  resourceBundle key used to get the suffix for a String representation for an AccessLevel. For example, if an AccessLevel that has Discover and GetContent were to be represented as {Discover,GetContent}, the prefix key lookup would return the string "}".

  See Also:
    Constant Field Values
  (Published)

### ACCESSLEVEL_TOSTRING_DELIMITER_KEY

    public static final java.lang.String ACCESSLEVEL_TOSTRING_DELIMITER_KEY

  Description copied from class: `AccessLevel`
  resourceBundle key used to get the permission delimiter for a String representation for an AccessLevel. For example, if an AccessLevel that has Discover and GetContent were to be represented as {Discover,GetContent}, the prefix key lookup would return the string ",".

  See Also:
    Constant Field Values
  (Published)

### m_Level

    protected long m_Level

  Description copied from class: `AccessLevel`
  the internal bit mask representing the set of standard permission flags set.

  (Unpublished)

### m_ExtendedPermissionTable

    protected transient java.util.Hashtable m_ExtendedPermissionTable

  Description copied from class: `AccessLevel`
  the set of ExtendedPermissions enabled - kept as a hashtable, keyed by ExtendedPermission name; value is a Long (the EP's id).

  (Unpublished)

### m_ExtendedPermissions

    protected AttributeValue m_ExtendedPermissions

  Description copied from class: `AccessLevel`
  the set of ExtendedPermissions enabled - kept as an AttributeValue (of type MVA-SystemObject)

  (Unpublished)

Constructor Detail

### AccessLevel

    public AccessLevel()
                throws IfsException

  default Constructor for an AccessLevel. All permission flags are initially disabled.

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

### AccessLevel

    public AccessLevel(long accessLevel)

  Construct an AccessLevel, with a long accesslevel value.

  Parameters:
    `accessLevel` - The long access level.
  (Published)

### AccessLevel

    public AccessLevel(java.lang.String[] stringLevels)
                throws IfsException

  constructor to initialize set of permissions, specified by an array of Strings. The String values correspond to the values assigned the the permission keys (defined as static Strings in this class) in the appropriate ResourceBundle, associated with the default Localizer.

  Parameters:
    `stringLevels` - - array of permission Strings.
  Throws:
    `IfsException` - if operation fails.
  (Published)

### AccessLevel

    public AccessLevel(java.lang.String[] stringLevels,
                       LibrarySessionInterface session)
                throws IfsException

  constructor to initialize set of permissions, specified by an array of Strings and a specific LibrarySessionInterface. The LibrarySessionInterface is used to determine the Localizer, which is used to locally interpret the specified Strings. The String values correspond to the values assigned to the permission keys (defined as static Strings in this class) in the appropriate ResourceBundle, associated with the indirectly specified Localizer.

  Parameters:
    `stringLevels` - - array of permission Strings.
    `session` - - LibrarySession used to determine the Localizer to be used to translate the specified Strings into standard permissions.
  Throws:
    `IfsException` - if operation fails.
  (Published)

### AccessLevel

    public AccessLevel(java.lang.String[] stringLevels,
                       Localizer localizer)
                throws IfsException

  constructor to initialize set of permissions, specified by an array of Strings and a specific Localizer. The String values correspond to the values assigned to the permission keys (defined as static Strings in this class) in the appropriate ResourceBundle, associated with the specified Localizer.

  Parameters:
    `stringLevels` - - array of permission Strings.
    `localizer` - - Localizer to be used to translate the specified Strings into standard permissions.
  Throws:
    `IfsException` - if operation fails.
  (Published)

### AccessLevel

    public AccessLevel(AccessLevel level)
                throws IfsException

  Clone an AccessLevel

  Parameters:
    `level` - the level to clone
  Throws:
    `IfsException` - if operation fails.
  (Published)

Method Detail

### toLong

    public long toLong()
                throws IfsException

  Description copied from class: `AccessLevel`
  toLong - return the long representation of the access level. This only reflects the standard permissions.

  Returns:
    long access level
  Throws:
    `IfsException` - if operation fails.
  (Published)

### getEnabledStandardPermissions

    public long[] getEnabledStandardPermissions()
                                         throws IfsException

  Description copied from class: `AccessLevel`
  return the array of all enabled standard permissions, using the numeric values (defined as static long constants in this class) to represent each permission.

  Returns:
    all enabled standard permission numeric values.
  Throws:
    `IfsException` - if operation fails.
  (Published)

### getAllDefinedStandardPermissions

    public static long[] getAllDefinedStandardPermissions()
                                                   throws IfsException

  Description copied from class: `AccessLevel`
  return the array of all defined standard permission numeric values.

  Returns:
    all defined standard permission numeric values.
  Throws:
    `IfsException` - if operation fails.
  (Published)

### getEnabledStandardPermissionNames

    public java.lang.String[] getEnabledStandardPermissionNames(LibrarySessionInterface session)
                                                         throws IfsException

  Description copied from class: `AccessLevel`
  return the array of the names of all standard permission enabled in this instance. The names are localized using the specified LibrarySession's Localizer.

  Parameters:
    `session` - a LibrarySession, used to determine the Localizer
  Returns:
    the names of all standard permissions that are enabled.
  Throws:
    `IfsException` - if operation fails.
  (Published)

### getEnabledStandardPermissionNames

    public java.lang.String[] getEnabledStandardPermissionNames(Localizer localizer)
                                                         throws IfsException

  Description copied from class: `AccessLevel`
  return the array of the names of all standard permission enabled in this instance. The names are localized using the specified Localizer.

  Parameters:
    `localizer` - Localizer used to get the localized Permission names.
  Returns:
    the names of all standard permissions that are enabled.
  Throws:
    `IfsException` - if operation fails.
  (Published)

### getAllDefinedStandardPermissionNames

    public static java.lang.String[] getAllDefinedStandardPermissionNames(LibrarySessionInterface session)
                                                                   throws IfsException

  Description copied from class: `AccessLevel`
  return the array of all defined standard permission localized labels.

  Parameters:
    `session` - a LibrarySession, used to determine the Localizer
  Returns:
    all defined standard permission String values.
  Throws:
    `IfsException` - if operation fails.
  (Published)

### getAllDefinedStandardPermissionNames

    public static java.lang.String[] getAllDefinedStandardPermissionNames(Localizer localizer)
                                                                   throws IfsException

  Description copied from class: `AccessLevel`
  return the array of all defined standard permission localized labels.

  Parameters:
    `localizer` - a Localizer, used to returned localized String values. If null, the default Localizer is used.
  Returns:
    all defined standard permission String values.
  Throws:
    `IfsException` - if operation fails.
  (Published)

### add

    public void add(AccessLevel level,
                    LibrarySessionInterface sess)
             throws IfsException

  Description copied from class: `AccessLevel`
  Add permissions specified in another AccessLevel to this AccessLevel

  Parameters:
    `level` - AccessLevel to add (union) to this instance.
    `sess` - the Session.
  Throws:
    `IfsException` - if operation fails.
  (Published)

### subtract

    public void subtract(AccessLevel level,
                         LibrarySessionInterface sess)
                  throws IfsException

  Description copied from class: `AccessLevel`
  Remove permissions specified in another AccessLevel to this AccessLevel.

  Parameters:
    `level` - AccessLevel to remove (union) from this instance.
    `sess` - the Session.
  Throws:
    `IfsException` - if operation fails.
  (Published)

### equals

    public boolean equals(AccessLevel level)
                   throws IfsException

  Description copied from class: `AccessLevel`
  Check if the specified accesslevel is equal to this AccessLevel

  Parameters:
    `level` - AccessLevel to compare to this instance.
  Returns:
    true if the specified level is the same
  Throws:
    `IfsException` - if operation fails.
  (Published)

### isSufficientlyEnabled

    public boolean isSufficientlyEnabled(AccessLevel level,
                                         LibrarySessionInterface sess)
                                  throws IfsException

  Description copied from class: `AccessLevel`
  check to see if specified permissions are enabled on the target AccessLevel.

  Parameters:
    `level` - AccessLevel that holds permissions to check.
    `sess` - the Session.
  Returns:
    true if target object has at least the permissions specified.
  Throws:
    `IfsException` - if operation fails.
  (Published)

### enableAllStandardPermissions

    public void enableAllStandardPermissions()
                                      throws IfsException

  Description copied from class: `AccessLevel`
  Set all standard permission flags.

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

### clearAllStandardPermissions

    public void clearAllStandardPermissions()
                                     throws IfsException

  Description copied from class: `AccessLevel`
  Clear all standard permission flags.

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

### clearAllExtendedPermissions

    public void clearAllExtendedPermissions()

  Description copied from class: `AccessLevel`
  Clear all extended permission flags.

  (Published)

### clearAllPermissions

    public void clearAllPermissions()
                             throws IfsException

  Description copied from class: `AccessLevel`
  Clear all permission flags - standard and extended.

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

### enableStandardPermission

    public void enableStandardPermission(long permission)
                                  throws IfsException

  Description copied from class: `AccessLevel`
  Enable a standard perrmission.

  Parameters:
    `permission` - the standard permission to enable.
  Throws:
    `IfsException` - if operation fails.
  (Published)

### disableStandardPermission

    public void disableStandardPermission(long permission)
                                   throws IfsException

  Description copied from class: `AccessLevel`
  Disable a standard perrmission.

  Parameters:
    `permission` - the standard permission to disable.
  Throws:
    `IfsException` - if operation fails.
  (Published)

### isStandardPermissionEnabled

    public boolean isStandardPermissionEnabled(long permission)
                                        throws IfsException

  Description copied from class: `AccessLevel`
  Is a standard perrmission enabled?

  Parameters:
    `permission` - the standard permission to check.
  Returns:
    true if the specified permission is enabled.
  Throws:
    `IfsException` - if operation fails.
  (Published)

### enableExtendedPermission

    public void enableExtendedPermission(ExtendedPermissionInterface perm)
                                  throws IfsException

  Description copied from class: `AccessLevel`
  Enable an extended perrmission

  Parameters:
    `perm` - ExtendedPermission to enable.
  Throws:
    `IfsException` - if operation fails.
  (Published)

### enableExtendedPermission

    public void enableExtendedPermission(ExtendedPermissionInterface[] perms)
                                  throws IfsException

  Description copied from class: `AccessLevel`
  Enable a set of extended perrmissions.

  Parameters:
    `perms` - ExtendedPermissions to enable.
  Throws:
    `IfsException` - if operation fails.
  (Published)

### enableExtendedPermission

    public void enableExtendedPermission(AttributeValue av,
                                         LibrarySessionInterface sess)
                                  throws IfsException

  Description copied from class: `AccessLevel`
  Enable an extended perrmission, specified as an AttributeValue

  Parameters:
    `av` - ExtendedPermission, represented as an AttributeValue.
    `sess` - the session context
  Throws:
    `IfsException` - if operation fails.
  (Unpublished)

### disableExtendedPermission

    public void disableExtendedPermission(ExtendedPermissionInterface perm)
                                   throws IfsException

  Description copied from class: `AccessLevel`
  Disable an extended perrmission.

  Parameters:
    `perm` - ExtendedPermission to disable.
  Throws:
    `IfsException` - if operation fails.
  (Published)

### disableExtendedPermission

    public void disableExtendedPermission(ExtendedPermissionInterface[] perms)
                                   throws IfsException

  Description copied from class: `AccessLevel`
  Disable a set of extended perrmissions.

  Parameters:
    `perms` - array of ExtendedPermissions to disable.
  Throws:
    `IfsException` - if operation fails.
  (Published)

### disableExtendedPermission

    public void disableExtendedPermission(AttributeValue av,
                                          LibrarySessionInterface sess)
                                   throws IfsException

  Description copied from class: `AccessLevel`
  Disable an extended perrmission, specified as an AttributeValue

  Parameters:
    `av` - ExtendedPermission, represented as an AttributeValue.
    `sess` - Session
  Throws:
    `IfsException` - if operation fails.
  (Unpublished)

### isExtendedPermissionEnabled

    public boolean isExtendedPermissionEnabled(ExtendedPermissionInterface perm)
                                        throws IfsException

  Description copied from class: `AccessLevel`
  Is a extended permission enabled?

  Parameters:
    `perm` - ExtendedPermission to check.
  Returns:
    true if specified ExtendedPermission is enabled.
  Throws:
    `IfsException` - if operation fails.
  (Published)

### hasExtendedPermissions

    public boolean hasExtendedPermissions()
                                   throws IfsException

  Description copied from class: `AccessLevel`
  Returns true is this AccessLevel has (or may have) ExtendedPermissions defined.

  Returns:
    true if this instance has any ExtendedPermissions enabled
  Throws:
    `IfsException` - if operation fails.
  (Unpublished)

### getExtendedPermissions

    public AttributeValue getExtendedPermissions()
                                          throws IfsException

  Description copied from class: `AccessLevel`
  Get all ExtendedPermissions, as an AttributeValue of type SystemObjectArray. Coder beware that the array may contain null elements due to obsoleted extended permissions.

  Returns:
    AttributeValue of type SystemObjectArray that holds the array of ExtendedPermissions enabled on this AccessLevel.
  Throws:
    `IfsException` - if operation fails.
  (Published)

### toString

    public java.lang.String toString()

  Description copied from class: `AccessLevel`
  convert AccessLevel to a String, representing the set of permissions; for example "{Discover,GetContent}". This string is constructed using the IFS.REPOS.ACCESSLEVEL.TOSTRING_PREFIX, IFS.REPOS.ACCESSLEVEL.TOSTRING_SUFFIX, IFS.REPOS.ACCESSLEVEL.TOSTRING_DELIMITER, and the specific permission keys (e.g. ACCESSLEVEL_GET_CONTENT_KEY); and the translations for these provided in the ResourceBundles.

  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    the String representation of the AccessLevel
  (Published)

### toString

    public java.lang.String toString(Localizer localizer)
                              throws IfsException

  Description copied from class: `AccessLevel`
  convert AccessLevel to a String, representing the set of permissions for a specified Localizer; for example "{Discover,GetContent}". This string is constructed using the ACCESSLEVEL_TOSTRING_PREFIX_KEY, ACCESSLEVEL_TOSTRING_SUFFIX_KEY, ACCESSLEVEL_TOSTRING_DELIMITER_KEY, and the specific permission keys (e.g. ACCESSLEVEL_GET_CONTENT_KEY); and the translations for these provided inthe ResourceBundles.

  Parameters:
    `localizer` - the localizer context
  Returns:
    the String representation of the AccessLevel
  Throws:
    `IfsException` - if 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