# com.bea.p13n.security.management.authentication
AtnProviderDescription Class

public class AtnProviderDescription
extends `ProviderDescription`
implements `Serializable`

This class holds information describing a single SSPI Authentication provider. It is a convenience class, an immutable value object used by ATN management functions.

This class is normally not directly instantiated, but is accessed through the use of the `SecurityMgmtHelper`.

Related Topics

``AtnSecurityMgmtHelper``

Hierarchy
  `Object`
  `ProviderDescription`
  `AtnProviderDescription`

All Implemented Interfaces
  `Serializable`

## Field Summary

`public static final int` | `DUMB_PROVIDER` The AuthenticatorMBean represented by this object, in total, implements no MBean interfaces.
`public static final int` | `READ_ONLY_PROVIDER` The AuthenticatorMBean represented by this object, in total, implements enough optional MBean interfaces to allow read operations.
`public static final int` | `READ_WRITE_PROVIDER` The AuthenticatorMBean represented by this object, in total, implements enough optional MBean interfaces to allow full CRUD operations.

## Constructor Summary

AtnProviderDescription(`AuthenticationProviderMBean` anAtnMBean)

## Method Summary

`public boolean` | `equals`(`Object` inputObject) Overridden equals method.
`public `String`` | `getControlFlag`() setting of this provider's configuration.
`public `AuthenticationProviderMBean`` | `getProviderMBean`() Get the MBean used to initialize this instance.
`public int` | `getProviderMgmtCapability`() Get provider capability - a roll up of what optional MBeans are implemented.
`public boolean` | `isDefaultAtnProvider`() The scheme for who the default provider is multi-tiered: If the system property `com.bea.p13n.usermgmt.AuthenticationProviderName`, is set, the provider with that name is used.
`public boolean` | `isGroupEditorImplemented`() Get provider configuration information for optional MBean implementation.
`public boolean` | `isGroupMemberListerImplemented`() Get provider configuration information for optional MBean implementation.
`public boolean` | `isGroupReaderImplemented`() Get provider configuration information for optional MBean implementation.
`public boolean` | `isGroupRemoverImplemented`() Get provider configuration information for optional MBean implementation.
`public boolean` | `isMemberGroupListerImplemented`() Get provider configuration information for optional MBean implementation.
`public boolean` | `isUserEditorImplemented`() Get provider configuration information for optional MBean implementation.
`public boolean` | `isUserLockoutManagerImplemented`() Get provider configuration information for optional MBean implementation.
`public boolean` | `isUserPasswordEditorImplemented`() Get provider configuration information for optional MBean implementation.
`public boolean` | `isUserReaderImplemented`() Get provider configuration information for optional MBean implementation.
`public boolean` | `isUserRemoverImplemented`() Get provider configuration information for optional MBean implementation.
`public `String`` | `toString`()

Methods from `com.bea.p13n.security.management.`ProviderDescription``
``getDescription`, `getDisplayName`, `getVersion``

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

## Field Detail

### DUMB_PROVIDER

    public static final int DUMB_PROVIDER

  The AuthenticatorMBean represented by this object, in total, implements no MBean interfaces.

### READ_ONLY_PROVIDER

    public static final int READ_ONLY_PROVIDER

  The AuthenticatorMBean represented by this object, in total, implements enough optional MBean interfaces to allow read operations.

### READ_WRITE_PROVIDER

    public static final int READ_WRITE_PROVIDER

  The AuthenticatorMBean represented by this object, in total, implements enough optional MBean interfaces to allow full CRUD operations.

## Constructor Detail

### AtnProviderDescription

    public AtnProviderDescription(AuthenticationProviderMBean anAtnMBean)

## Method Detail

### equals(Object) Method

    public boolean equals(Object inputObject)

Overridden equals method.

Overrides
  `Object.equals(Object)`

#### Parameters

inputObject
  The AtnProviderDescription to compare with.

#### Returns

true if both objects have the same description and version text.

### getControlFlag() Method

    public String getControlFlag()

setting of this provider's configuration.

#### Returns

String description of provider's setting.

### getProviderMBean() Method

    public AuthenticationProviderMBean getProviderMBean()

Get the MBean used to initialize this instance.

#### Returns

the MBean representing this authentication provider

### getProviderMgmtCapability() Method

    public int getProviderMgmtCapability()

Get provider capability - a roll up of what optional MBeans are implemented. Possible values;

1. `DUMB_PROVIDER`
2. `READ_ONLY_PROVIDER`
3. `READ_WRITE_PROVIDER`

#### Returns

true if provider implements this interface, otherwise false

### isDefaultAtnProvider() Method

    public boolean isDefaultAtnProvider()

The scheme for who the default provider is multi-tiered:

1. If the system property `com.bea.p13n.usermgmt.AuthenticationProviderName`, is set, the provider with that name is used. If the system property is set and the provider is not found, a UserManagementException is thrown. This allows you to set a provider server-wide.
2. If a property file named `usermgmt-provider.properties` is found (using the thread's context classloader, so it could be in `APP-INF/classes/`, for example), and that file contains the property `com.bea.p13n.usermgmt.AuthenticationProviderName`, then the provider with that name is used. If the named provider is not found, a UserManagementException is thrown. This can allow you to set an application-specific provider.``
3. The provider that implements at least UserReaderMBean and GroupReaderMBean, plus the greatest number of the following additional interfaces. If two providers qualify, the first provider is chosen.
   - UserEditorMBean
   - GroupEditorMBean
   - GroupMemberListerMBean
   - MemberGroupListerMBean
4. The first provider that is an instance of RealmAdapterAuthenticatorMBean (this is 6.x migration mode).
5. If all those fail, throw UserManagementException

#### Returns

true if this provider is the default authentication provider

### isGroupEditorImplemented() Method

    public boolean isGroupEditorImplemented()

Get provider configuration information for optional MBean implementation.

#### Returns

true if provider implements this interface, otherwise false

### isGroupMemberListerImplemented() Method

    public boolean isGroupMemberListerImplemented()

Get provider configuration information for optional MBean implementation.

#### Returns

true if provider implements this interface, otherwise false

### isGroupReaderImplemented() Method

    public boolean isGroupReaderImplemented()

Get provider configuration information for optional MBean implementation.

#### Returns

true if provider implements this interface, otherwise false

### isGroupRemoverImplemented() Method

    public boolean isGroupRemoverImplemented()

Get provider configuration information for optional MBean implementation.

#### Returns

true if provider implements this interface, otherwise false

### isMemberGroupListerImplemented() Method

    public boolean isMemberGroupListerImplemented()

Get provider configuration information for optional MBean implementation.

#### Returns

true if provider implements this interface, otherwise false

### isUserEditorImplemented() Method

    public boolean isUserEditorImplemented()

Get provider configuration information for optional MBean implementation.

#### Returns

true if provider implements this interface, otherwise false

### isUserLockoutManagerImplemented() Method

    public boolean isUserLockoutManagerImplemented()

Get provider configuration information for optional MBean implementation.

#### Returns

true if provider implements this interface, otherwise false

### isUserPasswordEditorImplemented() Method

    public boolean isUserPasswordEditorImplemented()

Get provider configuration information for optional MBean implementation.

#### Returns

true if provider implements this interface, otherwise false

### isUserReaderImplemented() Method

    public boolean isUserReaderImplemented()

Get provider configuration information for optional MBean implementation.

#### Returns

true if provider implements this interface, otherwise false

### isUserRemoverImplemented() Method

    public boolean isUserRemoverImplemented()

Get provider configuration information for optional MBean implementation.

#### Returns

true if provider implements this interface, otherwise false

### toString() Method

    public String toString()

Overrides
  `Object.toString()`