com.independentsoft.exchange

## Enum PermissionLevel

- java.lang.Object
- - java.lang.Enum<PermissionLevel>
  - - com.independentsoft.exchange.PermissionLevel

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<PermissionLevel>

      public enum PermissionLevel
      extends java.lang.Enum<PermissionLevel>

  Represents the permission level that a user has on a folder.

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant and Description
    `AUTHOR` Indicates that the user can create and read all items in the folder, and edit and delete only items that the user creates.
    `CONTRIBUTOR` Indicates that the user can create items in the folder.
    `CUSTOM` Indicates that the user has custom access permissions on the folder.
    `EDITOR` Indicates that the user can create, read, edit, and delete all items in the folder.
    `NONE` Indicates that the user has no permissions on the folder.
    `NONEDITING_AUTHOR` Indicates that the user can create and read all items in the folder, and delete only items that the user creates.
    `OWNER` Indicates that the user can create, read, edit, and delete all items in the folder, and create subfolders.
    `PUBLISHING_AUTHOR` Indicates that the user can create and read all items in the folder, edit and delete only items that the user creates, and create subfolders.
    `PUBLISHING_EDITOR` Indicates that the user can create, read, edit, and delete all items in the folder, and create subfolders.
    `REVIEWER` Indicates that the user can read all items in the folder.

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static PermissionLevel` | `valueOf(java.lang.String name)` Returns the enum constant of this type with the specified name.
    `static PermissionLevel[]` | `values()` Returns an array containing the constants of this enum type, in the order they are declared.

    - ### Methods inherited from class java.lang.Enum

      `compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Enum Constant Detail

    - #### OWNER

          public static final PermissionLevel OWNER

      Indicates that the user can create, read, edit, and delete all items in the folder, and create subfolders. The user is both folder owner and folder contact.

    - #### PUBLISHING_EDITOR

          public static final PermissionLevel PUBLISHING_EDITOR

      Indicates that the user can create, read, edit, and delete all items in the folder, and create subfolders.

    - #### EDITOR

          public static final PermissionLevel EDITOR

      Indicates that the user can create, read, edit, and delete all items in the folder.

    - #### PUBLISHING_AUTHOR

          public static final PermissionLevel PUBLISHING_AUTHOR

      Indicates that the user can create and read all items in the folder, edit and delete only items that the user creates, and create subfolders.

    - #### AUTHOR

          public static final PermissionLevel AUTHOR

      Indicates that the user can create and read all items in the folder, and edit and delete only items that the user creates.

    - #### NONEDITING_AUTHOR

          public static final PermissionLevel NONEDITING_AUTHOR

      Indicates that the user can create and read all items in the folder, and delete only items that the user creates.

    - #### REVIEWER

          public static final PermissionLevel REVIEWER

      Indicates that the user can read all items in the folder.

    - #### CONTRIBUTOR

          public static final PermissionLevel CONTRIBUTOR

      Indicates that the user can create items in the folder. The contents of the folder do not appear.

    - #### CUSTOM

          public static final PermissionLevel CUSTOM

      Indicates that the user has custom access permissions on the folder.

    - #### NONE

          public static final PermissionLevel NONE

      Indicates that the user has no permissions on the folder.

  - ### Method Detail

    - #### values

          public static PermissionLevel[] values()

      Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

          for (PermissionLevel c : PermissionLevel.values())
              System.out.println(c);

      Returns:
        an array containing the constants of this enum type, in the order they are declared

    - #### valueOf

          public static PermissionLevel valueOf(java.lang.String name)

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
        `name` - the name of the enum constant to be returned.
      Returns:
        the enum constant with the specified name
      Throws:
        `java.lang.IllegalArgumentException` - if this enum type has no constant with the specified name
        `java.lang.NullPointerException` - if the argument is null