Package com.sas.metadata.remote

# Interface AuthenticationDomain

All Superinterfaces:
  `CMetadata`, `MdObjectBase`, `MdObjectBaseUtil`, `MdObjectBaseXML`, `PrimaryType`, `Remote`, `Root`

public interface AuthenticationDomain extends PrimaryType
Authentication domains provide logical groupings for resources and logins in a metadata repository. An individual uses the same user ID and password for all of the resources in a particular authentication domain. For example, when an application needs to locate credentials that enable a particular user to access a particular server, the application searches the metadata for logins that are associated with the authentication domain in that the target server is registered.

Attributes of AuthenticationDomain are:

- `OutboundOnly`
- `TrustedOnly`

Associations of AuthenticationDomain are:

- `Connections`
- `Logins`

## Usage

To create an instance of this AuthenticationDomain, use the `factory` create methods.
Example: create a AuthenticationDomain with name "AuthenticationDomain_Object", in repository "AAAAAAAA".

     // create a store to contain your objects for this change. If you do not have an existing object
     // or store to use.  You may obtain the store from another object by using Object.getObjectStore().
     MdFactory factory; //where "factory" is a valid MdFactory instance
     MdObjectStore objectStore = factory.createObjectStore();
     AuthenticationDomain myObject = (AuthenticationDomain) factory.createComplexMetadataObject(objectStore, "AuthenticationDomain_Object", MetadataObjects.AUTHENTICATIONDOMAIN, "AAAAAAAA");
     myObject.updateMetadataAll();  // Write object to server
     objectStore.dispose();  // dispose of the object store if it is no longer needed

## Behavior

- Attributes and associations for this object can be retrieved by using the methods in `MdOMIUtil`.
- When changes are made to the object, either by setting an attribute or adding objects to a particular association, they can be persisted to the metadata server with the `updateMetadataAll` method.
- If an object needs to be deleted, the `delete` method can be used. This will flag the object as being deleted on the client, and will require an update call to persist the change to the server.

## Dependencies

This class depends on objects being contained in an MdObjectStore. Object stores should be disposed of when they are no longer needed as this will help clean up memory. Disposing an object store will dispose of all objects contained within that store.

Since:
  9.0

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `ASSOCIATION_CONNECTIONS_NAME`
  Constant used for the name of the Connections association.
  `static final String`
  `ASSOCIATION_LOGINS_NAME`
  Constant used for the name of the Logins association.
  `static final String`
  `ATTRIBUTE_OUTBOUNDONLY_NAME`
  Constant used for the name of the OutboundOnly attribute.
  `static final String`
  `ATTRIBUTE_TRUSTEDONLY_NAME`
  Constant used for the name of the TrustedOnly attribute.

  ### Fields inherited from interface com.sas.metadata.remote.MdObjectBase

  `ATTRIBUTE_DESC_NAME, ATTRIBUTE_ID_NAME, ATTRIBUTE_METADATACREATED_NAME, ATTRIBUTE_METADATAUPDATED_NAME, ATTRIBUTE_NAME_NAME`

  ### Fields inherited from interface com.sas.metadata.remote.PrimaryType

  `ASSOCIATION_FAVORITESCONTAINERS_NAME, ATTRIBUTE_ISHIDDEN_NAME, ATTRIBUTE_PUBLICTYPE_NAME`

  ### Fields inherited from interface com.sas.metadata.remote.Root

  `ASSOCIATION_ACCESSCONTROLS_NAME, ASSOCIATION_CHANGES_NAME, ASSOCIATION_CUSTOMASSOCIATIONS_NAME, ASSOCIATION_DOCUMENTS_NAME, ASSOCIATION_EXTENSIONS_NAME, ASSOCIATION_EXTERNALIDENTITIES_NAME, ASSOCIATION_GROUPS_NAME, ASSOCIATION_IMPLEMENTORS_NAME, ASSOCIATION_KEYWORDS_NAME, ASSOCIATION_LOCALIZEDATTRIBUTES_NAME, ASSOCIATION_NOTES_NAME, ASSOCIATION_PRIMARYPROPERTYGROUP_NAME, ASSOCIATION_PROMPTS_NAME, ASSOCIATION_PROPERTIES_NAME, ASSOCIATION_PROPERTYSETS_NAME, ASSOCIATION_REFERENCEDOBJECTS_NAME, ASSOCIATION_RESPONSIBLEPARTIES_NAME, ASSOCIATION_SOURCETRANSFORMATIONS_NAME, ASSOCIATION_SPECSOURCETRANSFORMATIONS_NAME, ASSOCIATION_SPECTARGETTRANSFORMATIONS_NAME, ASSOCIATION_TARGETTRANSFORMATIONS_NAME, ASSOCIATION_TIMESTAMPS_NAME, ASSOCIATION_TREES_NAME, ASSOCIATION_TSOBJECTNAMESPACE_NAME, ASSOCIATION_USEDBYPROTOTYPES_NAME, ASSOCIATION_USINGPROTOTYPE_NAME, ASSOCIATION_VARIABLES_NAME, ATTRIBUTE_CHANGESTATE_NAME, ATTRIBUTE_LOCKEDBY_NAME, ATTRIBUTE_USAGEVERSION_NAME`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `AssociationList`
  `getConnections()`
  Gets the Association list of `Connections`
  `AssociationList`
  `getConnections(boolean fGoToServer)`
  Gets the Associationlist of `Connections`
  `AssociationList`
  `getLogins()`
  Gets the Association list of `Logins`
  `AssociationList`
  `getLogins(boolean fGoToServer)`
  Gets the Associationlist of `Logins`
  `int`
  `getOutboundOnly()`
  Gets the `int` value of `OutboundOnly`
  `int`
  `getOutboundOnlyState()`
  Gets the Metadata State of `OutboundOnly`
  `int`
  `getTrustedOnly()`
  Gets the `int` value of `TrustedOnly`
  `int`
  `getTrustedOnlyState()`
  Gets the Metadata State of `TrustedOnly`
  `void`
  `initializePredObjects()`
  (S) Adds the Associated objects to the predObjects which are:
  `void`
  `initializeRequiredObjects()`
  (S) This initializes the Required Objects(Roles) which are:
  `void`
  `setConnections(AssociationList list)`
  Sets the `Connections` list to be `list`.
  `void`
  `setConnections(AssociationList inObjects, int state)`
  Sets the entire Connections list to match the passed in AssociationList, sets the state of the Connections
  `void`
  `setLogins(AssociationList list)`
  Sets the `Logins` list to be `list`.
  `void`
  `setLogins(AssociationList inObjects, int state)`
  Sets the entire Logins list to match the passed in AssociationList, sets the state of the Logins
  `void`
  `setOutboundOnly(int inOutboundOnly)`
  Sets the `OutboundOnly` value and sets the state to MetadataState.LOCAL.
  `void`
  `setOutboundOnly(int inOutboundOnly, int state)`
  Sets the `OutboundOnly` Metadata State.
  `void`
  `setOutboundOnly(String inOutboundOnly)`
  Sets the `OutboundOnly` value and sets the state to MetadataState.LOCAL.
  `void`
  `setOutboundOnly(String inOutboundOnly, int state)`
  Sets the `OutboundOnly` value and Metadata State.
  `void`
  `setOutboundOnlyState(int state)`
  Sets the Metadata State of `OutboundOnly`.
  `void`
  `setTrustedOnly(int inTrustedOnly)`
  Sets the `TrustedOnly` value and sets the state to MetadataState.LOCAL.
  `void`
  `setTrustedOnly(int inTrustedOnly, int state)`
  Sets the `TrustedOnly` Metadata State.
  `void`
  `setTrustedOnly(String inTrustedOnly)`
  Sets the `TrustedOnly` value and sets the state to MetadataState.LOCAL.
  `void`
  `setTrustedOnly(String inTrustedOnly, int state)`
  Sets the `TrustedOnly` value and Metadata State.
  `void`
  `setTrustedOnlyState(int state)`
  Sets the Metadata State of `TrustedOnly`.

  ### Methods inherited from interface com.sas.metadata.remote.MdObjectBase

  `addElementToChangeList, clearChangeList, getChangeList, getCMetadataType, getDesc, getDescMaxLength, getDescState, getFQID, getId, getIdState, getMetadataCreated, getMetadataCreatedState, getMetadataUpdated, getMetadataUpdatedState, getName, getNameMaxLength, getNameState, getObjectStore, getPredAssociations, getRepositoryID, getRequiredAssociations, getState, isAssociationRequired, isNewObject, isPredAssociation, removeElementFromChangeList, resetObject, resetState, resetStates, setCMetadataType, setDesc, setDesc, setDescState, setFQID, setFQID, setId, setId, setIdState, setMetadataCreated, setMetadataCreated, setMetadataCreatedState, setMetadataUpdated, setMetadataUpdated, setMetadataUpdatedState, setName, setName, setNameState, setObjectStore, setState`

  ### Methods inherited from interface com.sas.metadata.remote.MdObjectBaseUtil

  `addMdObjectListener, delete, dispose, fireMdObjectModified, getAssociatedObjects, getAssociatedObjects, getAssociatedObjects, getAssociationNames, getAssocs, getAssocsWA, getAttributeNames, getAttrs, getAttrsStates, getAuthorizationUtil, getChangeManagementState, getChgMgtExternalIdentityImportType, getClientSideOnlyObject, getMdObjectAssociation, getPopulatedAssocs, getUpdatedAttrs, getViewList, isCheckedOut, isLocked, objectModified, removeMdObjectListener, setAttrs, setChangeManagementTargetRepository, setChgMgtExternalIdentityImportType, setClientSideOnlyObject, setMdObjectAssociation, touch, updateAssnsIds`

  ### Methods inherited from interface com.sas.metadata.remote.MdObjectBaseXML

  `closeUpdateMetadataXML, createEmptyXML, createObjectRefreshXML, createObjectXML, createObjectXML, createUpdateAssociationXML, createUpdateAssociationXML, createUpdateSimpleXML, doCreateUpdateXML, getUpdateSimpleSubstring, updateMetadataAll`

  ### Methods inherited from interface com.sas.metadata.remote.PrimaryType

  `getFavoritesContainers, getFavoritesContainers, getIsHidden, getIsHiddenState, getPublicType, getPublicTypeMaxLength, getPublicTypeState, setFavoritesContainers, setFavoritesContainers, setIsHidden, setIsHidden, setIsHidden, setIsHidden, setIsHiddenState, setPublicType, setPublicType, setPublicTypeState`

  ### Methods inherited from interface com.sas.metadata.remote.Root

  `getAccessControls, getAccessControls, getChanges, getChanges, getChangeState, getChangeStateMaxLength, getChangeStateState, getCustomAssociations, getCustomAssociations, getDocuments, getDocuments, getExtensions, getExtensions, getExternalIdentities, getExternalIdentities, getGroups, getGroups, getImplementors, getImplementors, getKeywords, getKeywords, getLocalizedAttributes, getLocalizedAttributes, getLockedBy, getLockedByMaxLength, getLockedByState, getNotes, getNotes, getPrimaryPropertyGroup, getPrimaryPropertyGroups, getPrimaryPropertyGroups, getPrompts, getPrompts, getProperties, getProperties, getPropertySets, getPropertySets, getReferencedObjects, getReferencedObjects, getResponsibleParties, getResponsibleParties, getSourceTransformations, getSourceTransformations, getSpecSourceTransformations, getSpecSourceTransformations, getSpecTargetTransformations, getSpecTargetTransformations, getTargetTransformations, getTargetTransformations, getTimestamps, getTimestamps, getTrees, getTrees, getTSObjectNamespace, getTSObjectNamespaces, getTSObjectNamespaces, getUsageVersion, getUsageVersionState, getUsedByPrototypes, getUsedByPrototypes, getUsingPrototype, getUsingPrototypes, getUsingPrototypes, getVariables, getVariables, setAccessControls, setAccessControls, setChanges, setChanges, setChangeState, setChangeState, setChangeStateState, setCustomAssociations, setCustomAssociations, setDocuments, setDocuments, setExtensions, setExtensions, setExternalIdentities, setExternalIdentities, setGroups, setGroups, setImplementors, setImplementors, setKeywords, setKeywords, setLocalizedAttributes, setLocalizedAttributes, setLockedBy, setLockedBy, setLockedByState, setNotes, setNotes, setPrimaryPropertyGroup, setPrimaryPropertyGroups, setPrimaryPropertyGroups, setPrompts, setPrompts, setProperties, setProperties, setPropertySets, setPropertySets, setReferencedObjects, setReferencedObjects, setResponsibleParties, setResponsibleParties, setSourceTransformations, setSourceTransformations, setSpecSourceTransformations, setSpecSourceTransformations, setSpecTargetTransformations, setSpecTargetTransformations, setTargetTransformations, setTargetTransformations, setTimestamps, setTimestamps, setTrees, setTrees, setTSObjectNamespace, setTSObjectNamespaces, setTSObjectNamespaces, setUsageVersion, setUsageVersion, setUsageVersion, setUsageVersion, setUsageVersionState, setUsedByPrototypes, setUsedByPrototypes, setUsingPrototype, setUsingPrototypes, setUsingPrototypes, setVariables, setVariables`

- ## Field Details

  - ### ATTRIBUTE_OUTBOUNDONLY_NAME

    static final String ATTRIBUTE_OUTBOUNDONLY_NAME
    Constant used for the name of the OutboundOnly attribute.

    OutboundOnly: Indicates that logins within the domain will only be used to establish connections to other servers.

    See Also:
      - Constant Field Values

  - ### ATTRIBUTE_TRUSTEDONLY_NAME

    static final String ATTRIBUTE_TRUSTEDONLY_NAME
    Constant used for the name of the TrustedOnly attribute.

    TrustedOnly: Indicates the login will be subject to special access rules.

    See Also:
      - Constant Field Values

  - ### ASSOCIATION_CONNECTIONS_NAME

    static final String ASSOCIATION_CONNECTIONS_NAME
    Constant used for the name of the Connections association.

    Connections: The list of connection objects that require user ID's and credentials that are part of this authorization domain.

    See Also:
      - Constant Field Values

  - ### ASSOCIATION_LOGINS_NAME

    static final String ASSOCIATION_LOGINS_NAME
    Constant used for the name of the Logins association.

    Logins: The list of login objects (user ID's and passwords) that are valid in this authorization domain.

    See Also:
      - Constant Field Values

- ## Method Details

  - ### initializeRequiredObjects

    void initializeRequiredObjects() throws RemoteException
    (S) This initializes the Required Objects(Roles) which are:
    Specified by:
      `initializeRequiredObjects` in interface `MdObjectBaseUtil`
    Specified by:
      `initializeRequiredObjects` in interface `PrimaryType`
    Specified by:
      `initializeRequiredObjects` in interface `Root`
    Throws:
      `RemoteException` - If error connecting/communicating to/with remote object.

  - ### initializePredObjects

    void initializePredObjects() throws RemoteException
    (S) Adds the Associated objects to the predObjects which are:
    Specified by:
      `initializePredObjects` in interface `MdObjectBase`
    Specified by:
      `initializePredObjects` in interface `PrimaryType`
    Specified by:
      `initializePredObjects` in interface `Root`
    Throws:
      `RemoteException` - If error connecting/communicating to/with remote object.

  - ### getOutboundOnly

    int getOutboundOnly() throws RemoteException
    Gets the `int` value of `OutboundOnly`
    Returns:
      The `OutboundOnly`
    Throws:
      `RemoteException` - If error connecting/communicating to/with remote object.

  - ### getOutboundOnlyState

    int getOutboundOnlyState() throws RemoteException
    Gets the Metadata State of `OutboundOnly`
    Returns:
      The State.
    Throws:
      `RemoteException` - If error connecting/communicating to/with remote object.

  - ### getTrustedOnly

    int getTrustedOnly() throws RemoteException
    Gets the `int` value of `TrustedOnly`
    Returns:
      The `TrustedOnly`
    Throws:
      `RemoteException` - If error connecting/communicating to/with remote object.

  - ### getTrustedOnlyState

    int getTrustedOnlyState() throws RemoteException
    Gets the Metadata State of `TrustedOnly`
    Returns:
      The State.
    Throws:
      `RemoteException` - If error connecting/communicating to/with remote object.

  - ### getConnections

    AssociationList getConnections() throws RemoteException, MdException
    Gets the Association list of `Connections`
    Returns:
      The AssociationList of `Connections` which can be of type:
      Connection
      SASClientConnection
      OpenClientConnection
      TCPIPConnection
      COMConnection
    Throws:
      `RemoteException` - If error connecting/communicating to/with remote object.
      `MdException` - If error getting/setting part of the object.

  - ### getLogins

    AssociationList getLogins() throws RemoteException, MdException
    Gets the Association list of `Logins`
    Returns:
      The AssociationList of `Logins` which can be of type:
      Login
    Throws:
      `RemoteException` - If error connecting/communicating to/with remote object.
      `MdException` - If error getting/setting part of the object.

  - ### getConnections

    AssociationList getConnections(boolean fGoToServer) throws RemoteException, MdException
    Gets the Associationlist of `Connections`
    Parameters:
      `fGoToServer` - boolean Get the value from the server.
    Returns:
      Returns the `Connections` which can be of type:
      Connection
      SASClientConnection
      OpenClientConnection
      TCPIPConnection
      COMConnection
    Throws:
      `RemoteException` - If error connecting/communicating to/with remote object.
      `MdException` - If error getting/setting part of the object.

  - ### getLogins

    AssociationList getLogins(boolean fGoToServer) throws RemoteException, MdException
    Gets the Associationlist of `Logins`
    Parameters:
      `fGoToServer` - boolean Get the value from the server.
    Returns:
      Returns the `Logins` which can be of type:
      Login
    Throws:
      `RemoteException` - If error connecting/communicating to/with remote object.
      `MdException` - If error getting/setting part of the object.

  - ### setOutboundOnly

    void setOutboundOnly(int inOutboundOnly) throws RemoteException
    Sets the `OutboundOnly` value and sets the state to MetadataState.LOCAL.
    Parameters:
      `inOutboundOnly` - int
    Throws:
      `RemoteException` - If error communicating with remote object.

  - ### setOutboundOnly

    void setOutboundOnly(int inOutboundOnly, int state) throws RemoteException
    Sets the `OutboundOnly` Metadata State.
    Parameters:
      `inOutboundOnly` - int
      `state` - int
    Throws:
      `RemoteException` - If error communicating with remote object.

  - ### setOutboundOnly

    void setOutboundOnly(String inOutboundOnly) throws RemoteException
    Sets the `OutboundOnly` value and sets the state to MetadataState.LOCAL.
    Parameters:
      `inOutboundOnly` - String
    Throws:
      `RemoteException` - If error communicating with remote object.

  - ### setOutboundOnly

    void setOutboundOnly(String inOutboundOnly, int state) throws RemoteException
    Sets the `OutboundOnly` value and Metadata State.
    Parameters:
      `inOutboundOnly` - String
      `state` - int
    Throws:
      `RemoteException` - If error communicating with remote object.

  - ### setOutboundOnlyState

    void setOutboundOnlyState(int state) throws RemoteException
    Sets the Metadata State of `OutboundOnly`.
    Parameters:
      `state` - int
    Throws:
      `RemoteException` - If error communicating with remote object.

  - ### setTrustedOnly

    void setTrustedOnly(int inTrustedOnly) throws RemoteException
    Sets the `TrustedOnly` value and sets the state to MetadataState.LOCAL.
    Parameters:
      `inTrustedOnly` - int
    Throws:
      `RemoteException` - If error communicating with remote object.

  - ### setTrustedOnly

    void setTrustedOnly(int inTrustedOnly, int state) throws RemoteException
    Sets the `TrustedOnly` Metadata State.
    Parameters:
      `inTrustedOnly` - int
      `state` - int
    Throws:
      `RemoteException` - If error communicating with remote object.

  - ### setTrustedOnly

    void setTrustedOnly(String inTrustedOnly) throws RemoteException
    Sets the `TrustedOnly` value and sets the state to MetadataState.LOCAL.
    Parameters:
      `inTrustedOnly` - String
    Throws:
      `RemoteException` - If error communicating with remote object.

  - ### setTrustedOnly

    void setTrustedOnly(String inTrustedOnly, int state) throws RemoteException
    Sets the `TrustedOnly` value and Metadata State.
    Parameters:
      `inTrustedOnly` - String
      `state` - int
    Throws:
      `RemoteException` - If error communicating with remote object.

  - ### setTrustedOnlyState

    void setTrustedOnlyState(int state) throws RemoteException
    Sets the Metadata State of `TrustedOnly`.
    Parameters:
      `state` - int
    Throws:
      `RemoteException` - If error communicating with remote object.

  - ### setConnections

    void setConnections(AssociationList list) throws RemoteException
    Sets the `Connections` list to be `list`. Objects of which can be of type:
    Connection
    SASClientConnection
    OpenClientConnection
    TCPIPConnection
    COMConnection
    Parameters:
      `list` - AssociationList
    Throws:
      `RemoteException` - If error communicating with remote object.

  - ### setConnections

    void setConnections(AssociationList inObjects, int state) throws RemoteException
    Sets the entire Connections list to match the passed in AssociationList, sets the state of the Connections
    Parameters:
      `inObjects` - AssociationList
      `state` - int
    Throws:
      `RemoteException` - If error communicating with remote object.

  - ### setLogins

    void setLogins(AssociationList list) throws RemoteException
    Sets the `Logins` list to be `list`. Objects of which can be of type:
    Login
    Parameters:
      `list` - AssociationList
    Throws:
      `RemoteException` - If error communicating with remote object.

  - ### setLogins

    void setLogins(AssociationList inObjects, int state) throws RemoteException
    Sets the entire Logins list to match the passed in AssociationList, sets the state of the Logins
    Parameters:
      `inObjects` - AssociationList
      `state` - int
    Throws:
      `RemoteException` - If error communicating with remote object.