Package com.sas.metadata.remote

# Interface PromptGroup

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

public interface PromptGroup extends AbstractPrompt
For use by the SAS Prompt Interface. A prompt group will be either associated to a single metadata object or, if acting as a shared prompt group, a member of the SAS tree.

Attributes of PromptGroup are:

- `GroupType`
- `GroupInfo`

Associations of PromptGroup are:

## Usage

To create an instance of this PromptGroup, use the `factory` create methods.
Example: create a PromptGroup with name "PromptGroup_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();
     PromptGroup myObject = (PromptGroup) factory.createComplexMetadataObject(objectStore, "PromptGroup_Object", MetadataObjects.PROMPTGROUP, "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`
  `ATTRIBUTE_GROUPINFO_NAME`
  Constant used for the name of the GroupInfo attribute.
  `static final String`
  `ATTRIBUTE_GROUPTYPE_NAME`
  Constant used for the name of the GroupType attribute.

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

  `ASSOCIATION_PROMPTENABLEDOBJECT_NAME, ASSOCIATION_PROMPTREFERENCES_NAME, ASSOCIATION_REFERENCEDPROMPTS_NAME, ASSOCIATION_VALUESOURCE_NAME`

  ### 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
  `String`
  `getGroupInfo()`
  Gets the `String` value of `GroupInfo`
  `int`
  `getGroupInfoMaxLength()`
  Gets the maximum length of `GroupInfo`
  `int`
  `getGroupInfoState()`
  Gets the Metadata State of `GroupInfo`
  `int`
  `getGroupType()`
  Gets the `int` value of `GroupType`
  `int`
  `getGroupTypeState()`
  Gets the Metadata State of `GroupType`
  `void`
  `initializePredObjects()`
  (S) Adds the Associated objects to the predObjects which are:
  `void`
  `initializeRequiredObjects()`
  (S) This initializes the Required Objects(Roles) which are:
  `void`
  `setGroupInfo(String inGroupInfo)`
  Sets the `GroupInfo` value and sets the state to MetadataState.LOCAL.
  `void`
  `setGroupInfo(String inGroupInfo, int state)`
  Sets the `GroupInfo` Metadata State.
  `void`
  `setGroupInfoState(int state)`
  Sets the Metadata State of `GroupInfo`.
  `void`
  `setGroupType(int inGroupType)`
  Sets the `GroupType` value and sets the state to MetadataState.LOCAL.
  `void`
  `setGroupType(int inGroupType, int state)`
  Sets the `GroupType` Metadata State.
  `void`
  `setGroupType(String inGroupType)`
  Sets the `GroupType` value and sets the state to MetadataState.LOCAL.
  `void`
  `setGroupType(String inGroupType, int state)`
  Sets the `GroupType` value and Metadata State.
  `void`
  `setGroupTypeState(int state)`
  Sets the Metadata State of `GroupType`.

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

  `getPromptEnabledObject, getPromptEnabledObjects, getPromptEnabledObjects, getPromptReferences, getPromptReferences, getReferencedPrompts, getReferencedPrompts, getValueSource, getValueSources, getValueSources, setPromptEnabledObject, setPromptEnabledObjects, setPromptEnabledObjects, setPromptReferences, setPromptReferences, setReferencedPrompts, setReferencedPrompts, setValueSource, setValueSources, setValueSources`

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

    static final String ATTRIBUTE_GROUPTYPE_NAME
    Constant used for the name of the GroupType attribute.

    GroupType: Provides the group type to be used by the UI.

    See Also:
      - Constant Field Values

  - ### ATTRIBUTE_GROUPINFO_NAME

    static final String ATTRIBUTE_GROUPINFO_NAME
    Constant used for the name of the GroupInfo attribute.

    GroupInfo: Private information about the prompt group, to be used only by the prompt interface.

    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 `AbstractPrompt`
    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 `AbstractPrompt`
    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.

  - ### getGroupType

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

  - ### getGroupTypeState

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

  - ### getGroupInfo

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

  - ### getGroupInfoState

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

  - ### getGroupInfoMaxLength

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

  - ### setGroupType

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

  - ### setGroupType

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

  - ### setGroupType

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

  - ### setGroupType

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

  - ### setGroupTypeState

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

  - ### setGroupInfo

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

  - ### setGroupInfo

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

  - ### setGroupInfoState

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