Package com.sas.metadata.remote

# Interface Condition

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

public interface Condition extends PrimaryType
A condition that when met may activate an action or set of actions.

Attributes of Condition are:

- `UniqueIdentifier`
- `ConditionType`
- `InstanceVersion`
- `IsActive`

Associations of Condition are:

- `ConditionActionSets`

## Usage

To create an instance of this Condition, use the `factory` create methods.
Example: create a Condition with name "Condition_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();
     Condition myObject = (Condition) factory.createComplexMetadataObject(objectStore, "Condition_Object", MetadataObjects.CONDITION, "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_CONDITIONACTIONSETS_NAME`
  Constant used for the name of the ConditionActionSets association.
  `static final String`
  `ATTRIBUTE_CONDITIONTYPE_NAME`
  Constant used for the name of the ConditionType attribute.
  `static final String`
  `ATTRIBUTE_INSTANCEVERSION_NAME`
  Constant used for the name of the InstanceVersion attribute.
  `static final String`
  `ATTRIBUTE_ISACTIVE_NAME`
  Constant used for the name of the IsActive attribute.
  `static final String`
  `ATTRIBUTE_UNIQUEIDENTIFIER_NAME`
  Constant used for the name of the UniqueIdentifier 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`
  `getConditionActionSets()`
  Gets the AssociationList of `ConditionActionSets`
  `AssociationList`
  `getConditionActionSets(boolean fGoToServer)`
  Gets the Associationlist of `ConditionActionSets`
  `String`
  `getConditionType()`
  Gets the `String` value of `ConditionType`
  `int`
  `getConditionTypeMaxLength()`
  Gets the maximum length of `ConditionType`
  `int`
  `getConditionTypeState()`
  Gets the Metadata State of `ConditionType`
  `int`
  `getInstanceVersion()`
  Gets the `int` value of `InstanceVersion`
  `int`
  `getInstanceVersionState()`
  Gets the Metadata State of `InstanceVersion`
  `int`
  `getIsActive()`
  Gets the `int` value of `IsActive`
  `int`
  `getIsActiveState()`
  Gets the Metadata State of `IsActive`
  `String`
  `getUniqueIdentifier()`
  Gets the `String` value of `UniqueIdentifier`
  `int`
  `getUniqueIdentifierMaxLength()`
  Gets the maximum length of `UniqueIdentifier`
  `int`
  `getUniqueIdentifierState()`
  Gets the Metadata State of `UniqueIdentifier`
  `void`
  `initializePredObjects()`
  (S) Adds the Associated objects to the predObjects which are:
  `ConditionActionSets`
  `void`
  `initializeRequiredObjects()`
  (S) This initializes the Required Objects(Roles) which are:
  `void`
  `setConditionActionSets(AssociationList list)`
  Sets the `ConditionActionSets` list to be `list`.
  `void`
  `setConditionActionSets(AssociationList inObjects, int state)`
  Sets the entire AssociationList to match the passed in Vector, sets the state of the AssociationList
  `void`
  `setConditionType(String inConditionType)`
  Sets the `ConditionType` value and sets the state to MetadataState.LOCAL.
  `void`
  `setConditionType(String inConditionType, int state)`
  Sets the `ConditionType` Metadata State.
  `void`
  `setConditionTypeState(int state)`
  Sets the Metadata State of `ConditionType`.
  `void`
  `setInstanceVersion(int inInstanceVersion)`
  Sets the `InstanceVersion` value and sets the state to MetadataState.LOCAL.
  `void`
  `setInstanceVersion(int inInstanceVersion, int state)`
  Sets the `InstanceVersion` Metadata State.
  `void`
  `setInstanceVersion(String inInstanceVersion)`
  Sets the `InstanceVersion` value and sets the state to MetadataState.LOCAL.
  `void`
  `setInstanceVersion(String inInstanceVersion, int state)`
  Sets the `InstanceVersion` value and Metadata State.
  `void`
  `setInstanceVersionState(int state)`
  Sets the Metadata State of `InstanceVersion`.
  `void`
  `setIsActive(int inIsActive)`
  Sets the `IsActive` value and sets the state to MetadataState.LOCAL.
  `void`
  `setIsActive(int inIsActive, int state)`
  Sets the `IsActive` Metadata State.
  `void`
  `setIsActive(String inIsActive)`
  Sets the `IsActive` value and sets the state to MetadataState.LOCAL.
  `void`
  `setIsActive(String inIsActive, int state)`
  Sets the `IsActive` value and Metadata State.
  `void`
  `setIsActiveState(int state)`
  Sets the Metadata State of `IsActive`.
  `void`
  `setUniqueIdentifier(String inUniqueIdentifier)`
  Sets the `UniqueIdentifier` value and sets the state to MetadataState.LOCAL.
  `void`
  `setUniqueIdentifier(String inUniqueIdentifier, int state)`
  Sets the `UniqueIdentifier` Metadata State.
  `void`
  `setUniqueIdentifierState(int state)`
  Sets the Metadata State of `UniqueIdentifier`.

  ### 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_UNIQUEIDENTIFIER_NAME

    static final String ATTRIBUTE_UNIQUEIDENTIFIER_NAME
    Constant used for the name of the UniqueIdentifier attribute.

    UniqueIdentifier: The unique identifier for this condition.

    See Also:
      - Constant Field Values

  - ### ATTRIBUTE_CONDITIONTYPE_NAME

    static final String ATTRIBUTE_CONDITIONTYPE_NAME
    Constant used for the name of the ConditionType attribute.

    ConditionType: The type for this condition action set.

    See Also:
      - Constant Field Values

  - ### ATTRIBUTE_INSTANCEVERSION_NAME

    static final String ATTRIBUTE_INSTANCEVERSION_NAME
    Constant used for the name of the InstanceVersion attribute.

    InstanceVersion: Instance version counter - incremented whenever an update is made to the design time objects. If the instance version of the run time object does not match the design time object it is based on, the run time instance will be updated to match the design time instance.

    See Also:
      - Constant Field Values

  - ### ATTRIBUTE_ISACTIVE_NAME

    static final String ATTRIBUTE_ISACTIVE_NAME
    Constant used for the name of the IsActive attribute.

    IsActive: Is this condition action set active.

    See Also:
      - Constant Field Values

  - ### ASSOCIATION_CONDITIONACTIONSETS_NAME

    static final String ASSOCIATION_CONDITIONACTIONSETS_NAME
    Constant used for the name of the ConditionActionSets association.

    ConditionActionSets: The condition action sets that contain this condition.

    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:
    `ConditionActionSets`
    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.

  - ### getUniqueIdentifier

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

  - ### getUniqueIdentifierState

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

  - ### getUniqueIdentifierMaxLength

    int getUniqueIdentifierMaxLength() throws RemoteException
    Gets the maximum length of `UniqueIdentifier`
    Returns:
      The max size
    Throws:
      `RemoteException` - If error connecting/communicating to/with remote object.

  - ### getConditionType

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

  - ### getConditionTypeState

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

  - ### getConditionTypeMaxLength

    int getConditionTypeMaxLength() throws RemoteException
    Gets the maximum length of `ConditionType`
    Returns:
      The max size
    Throws:
      `RemoteException` - If error connecting/communicating to/with remote object.

  - ### getInstanceVersion

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

  - ### getInstanceVersionState

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

  - ### getIsActive

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

  - ### getIsActiveState

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

  - ### getConditionActionSets

    AssociationList getConditionActionSets() throws RemoteException, MdException
    Gets the AssociationList of `ConditionActionSets`
    Returns:
      Returns the AssociationList of `ConditionActionSets` which can be of type:
      ConditionActionSet
    Throws:
      `RemoteException` - If error connecting/communicating to/with remote object.
      `MdException` - If error getting/setting part of the object.

  - ### getConditionActionSets

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

  - ### setUniqueIdentifier

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

  - ### setUniqueIdentifier

    void setUniqueIdentifier(String inUniqueIdentifier, int state) throws RemoteException
    Sets the `UniqueIdentifier` Metadata State.
    Parameters:
      `inUniqueIdentifier` - String
      `state` - int
    Throws:
      `RemoteException` - If error communicating with remote object.

  - ### setUniqueIdentifierState

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

  - ### setConditionType

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

  - ### setConditionType

    void setConditionType(String inConditionType, int state) throws RemoteException
    Sets the `ConditionType` Metadata State.
    Parameters:
      `inConditionType` - String
      `state` - int
    Throws:
      `RemoteException` - If error communicating with remote object.

  - ### setConditionTypeState

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

  - ### setInstanceVersion

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

  - ### setInstanceVersion

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

  - ### setInstanceVersion

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

  - ### setInstanceVersion

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

  - ### setInstanceVersionState

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

  - ### setIsActive

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

  - ### setIsActive

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

  - ### setIsActive

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

  - ### setIsActive

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

  - ### setIsActiveState

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

  - ### setConditionActionSets

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

  - ### setConditionActionSets

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