sailpoint.object

## Enum Application.Feature

- java.lang.Object
- - java.lang.Enum<Application.Feature>
  - - sailpoint.object.Application.Feature

All Implemented Interfaces:
  java.io.Serializable, java.lang.Comparable<Application.Feature>

Enclosing interface:
  Application

    public static enum Application.Feature
    extends java.lang.Enum<Application.Feature>

Optional features that can be supported by an application.

### Enum Constant Summary

Enum Constants
Enum Constant and Description
`ACCOUNT_ONLY_REQUEST` The application supports requesting accounts without entitlements.
`ADDITIONAL_ACCOUNT_REQUEST` The application supports requesting additional accounts.
`AUTHENTICATE` The application supports pass through authentication.
`COMPOSITE` The application supports composite application creation.
`CURRENT_PASSWORD` Some application types support verification of the current password
`DIRECT_PERMISSIONS` The application supports returning DirectPermissions.
`DISCOVER_SCHEMA` The application supports discovering schemas for users and groups.
`ENABLE` The application supports reading if an account is enabled or disabled.
`GROUP_PROVISIONING` The application can both read and write groups.
`GROUPS_HAVE_MEMBERS` The application models group memberships with a member attribute on the group object rather than a groups attribute on the account object.
`MANAGER_LOOKUP` The application supports looking up managers as they are encountered in a feed.
`NO_AGGREGATION` An application that does not support aggregation.
`NO_DIRECT_PERMISSIONS_PROVISIONING` This string will be replaced by NO_GROUP_PERMISSIONS_PROVISIONING and NO_PERMISSIONS_PROVISIONING in 6.3.
`NO_GROUP_PERMISSIONS_PROVISIONING` Indicates that the connector cannot provision direct or target permissions for groups.
`NO_PERMISSIONS_PROVISIONING` Indicates that the connector cannot provision direct or target permissions for accounts.
`NO_RANDOM_ACCESS` The application does not support random access and the getObject() methods should not be called and expected to perform.
`NO_UNSTRUCTURED_TARGETS_PROVISIONING` This string will be replaced by NO_GROUP_PERMISSIONS_PROVISIONING and NO_PERMISSIONS_PROVISIONING in 6.3.
`PASSWORD` The application can provision password changes.
`PROVISIONING` The application can both read and write accounts.
`PROXY` The application can serve as a proxy for another application.
`SEARCH`
`SHAREPOINT_TARGET` The application supports returning unstructured Target data for SharePoint.
`SOD_ARM` Indicates the application supports separation of duties(SOD) extracts for ARM on ERP connectors
`SYNC_PROVISIONING` The application can provision accounts synchronously.
`TEMPLATE`
`UNLOCK` The application supports reading if an account is locked or unlocked.
`UNSTRUCTURED_TARGETS` The application supports returning unstructured Targets.
`USES_UUID` The application uses `Link#getUuid()` (which is preferred over `Link#getNativeIdentity()`)

### Method Summary

All Methods Static Methods Concrete Methods
`static Application.Feature` `valueOf(java.lang.String name)` Returns the enum constant of this type with the specified name.
`static Application.Feature[]` `values()` Returns an array containing the constants of this enum type, in the order they are declared.

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

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

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

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

### Enum Constant Detail

#### AUTHENTICATE

    public static final Application.Feature AUTHENTICATE

The application supports pass through authentication.

#### COMPOSITE

    public static final Application.Feature COMPOSITE

The application supports composite application creation.

#### DIRECT_PERMISSIONS

    public static final Application.Feature DIRECT_PERMISSIONS

The application supports returning DirectPermissions.

#### DISCOVER_SCHEMA

    public static final Application.Feature DISCOVER_SCHEMA

The application supports discovering schemas for users and groups.

#### ENABLE

    public static final Application.Feature ENABLE

The application supports reading if an account is enabled or disabled.

#### MANAGER_LOOKUP

    public static final Application.Feature MANAGER_LOOKUP

The application supports looking up managers as they are encountered in a feed. This is the opposite of NO_RANDOM_ACCESS.

#### NO_RANDOM_ACCESS

    public static final Application.Feature NO_RANDOM_ACCESS

The application does not support random access and the getObject() methods should not be called and expected to perform.

#### PROXY

    public static final Application.Feature PROXY

The application can serve as a proxy for another application. When an application has a proxy, all connector calls made with that application are redirected through the connector for the proxy application.

#### SEARCH

    public static final Application.Feature SEARCH

#### TEMPLATE

    public static final Application.Feature TEMPLATE

#### UNLOCK

    public static final Application.Feature UNLOCK

The application supports reading if an account is locked or unlocked.

#### UNSTRUCTURED_TARGETS

    public static final Application.Feature UNSTRUCTURED_TARGETS

The application supports returning unstructured Targets.

#### USES_UUID

    public static final Application.Feature USES_UUID

The application uses `Link#getUuid()` (which is preferred over `Link#getNativeIdentity()`)

TBD: We may decide to re-use this Feature to also indicate preference for `EntitlementGroup#getUuid()` over `EntitlementGroup#getNativeIdentity()` or we might create a distinct Feature for that.

#### SHAREPOINT_TARGET

    public static final Application.Feature SHAREPOINT_TARGET

The application supports returning unstructured Target data for SharePoint. It will be typically used by AD, LDAP applications.

#### PROVISIONING

    public static final Application.Feature PROVISIONING

The application can both read and write accounts. Having this feature implies that the provision() method is implemented. It also means that direct and target permissions can also be provisioned if they can be returned by aggregation.

#### GROUP_PROVISIONING

    public static final Application.Feature GROUP_PROVISIONING

The application can both read and write groups. Having this feature implies that the provision() method is implemented.

#### SYNC_PROVISIONING

    public static final Application.Feature SYNC_PROVISIONING

The application can provision accounts synchronously.

#### PASSWORD

    public static final Application.Feature PASSWORD

The application can provision password changes. Since applications can never read passwords, this is should only be used in conjunction with the PROVISIONING feature.

#### CURRENT_PASSWORD

    public static final Application.Feature CURRENT_PASSWORD

Some application types support verification of the current password

#### ACCOUNT_ONLY_REQUEST

    public static final Application.Feature ACCOUNT_ONLY_REQUEST

The application supports requesting accounts without entitlements.

#### ADDITIONAL_ACCOUNT_REQUEST

    public static final Application.Feature ADDITIONAL_ACCOUNT_REQUEST

The application supports requesting additional accounts.

#### NO_AGGREGATION

    public static final Application.Feature NO_AGGREGATION

An application that does not support aggregation.

#### GROUPS_HAVE_MEMBERS

    public static final Application.Feature GROUPS_HAVE_MEMBERS

The application models group memberships with a member attribute on the group object rather than a groups attribute on the account object. This effects the implementation of delta account aggregation.

#### NO_PERMISSIONS_PROVISIONING

    public static final Application.Feature NO_PERMISSIONS_PROVISIONING

Indicates that the connector cannot provision direct or target permissions for accounts. When DIRECT_PERMISSIONS and PROVISIONING features are present, it is assumed that the connector can also provision direct permissions. This feature disables that assumption and causes permission request to be converted to work items for accounts.

#### NO_GROUP_PERMISSIONS_PROVISIONING

    public static final Application.Feature NO_GROUP_PERMISSIONS_PROVISIONING

Indicates that the connector cannot provision direct or target permissions for groups. When DIRECT_PERMISSIONS and PROVISIONING features are present, it is assumed that the connector can also provision direct permissions. This feature disables that assumption and causes permission request to be converted to work items for groups.

#### NO_UNSTRUCTURED_TARGETS_PROVISIONING

    public static final Application.Feature NO_UNSTRUCTURED_TARGETS_PROVISIONING

This string will be replaced by NO_GROUP_PERMISSIONS_PROVISIONING and NO_PERMISSIONS_PROVISIONING in 6.3. It should be removed in the release planned after 6.3

#### NO_DIRECT_PERMISSIONS_PROVISIONING

    public static final Application.Feature NO_DIRECT_PERMISSIONS_PROVISIONING

This string will be replaced by NO_GROUP_PERMISSIONS_PROVISIONING and NO_PERMISSIONS_PROVISIONING in 6.3. It should be removed in the release planned after 6.3

#### SOD_ARM

    public static final Application.Feature SOD_ARM

Indicates the application supports separation of duties(SOD) extracts for ARM on ERP connectors

### Method Detail

#### values

    public static Application.Feature[] 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 (Application.Feature c : Application.Feature.values())
        System.out.println(c);

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

#### valueOf

    public static Application.Feature 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