Package com.sas.metadata.remote

# Interface Directory

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

All Known Subinterfaces:
  `AnalyticContext`

public interface Directory extends ContentLocation
Represents a physical operating system path. Directory objects should not be shared by logical metadata definitions. Each logical metadata definition should define its own Directory object.

Attributes of Directory are:

- `DirectoryName`
- `IsRelative`
- `DirectoryRole`

Associations of Directory are:

- `Files`
- `Parent`
- `Dimensions`
- `ITChannels`
- `ITSubscribers`
- `PathChannels`
- `SubDirectories`

## Usage

To create an instance of this Directory, use the `factory` create methods.
Example: create a Directory with name "Directory_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();
     Directory myObject = (Directory) factory.createComplexMetadataObject(objectStore, "Directory_Object", MetadataObjects.DIRECTORY, "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_DIMENSIONS_NAME`
  Constant used for the name of the Dimensions association.
  `static final String`
  `ASSOCIATION_FILES_NAME`
  Constant used for the name of the Files association.
  `static final String`
  `ASSOCIATION_ITCHANNELS_NAME`
  Constant used for the name of the ITChannels association.
  `static final String`
  `ASSOCIATION_ITSUBSCRIBERS_NAME`
  Constant used for the name of the ITSubscribers association.
  `static final String`
  `ASSOCIATION_PARENT_NAME`
  Constant used for the name of the Parent association.
  `static final String`
  `ASSOCIATION_PATHCHANNELS_NAME`
  Constant used for the name of the PathChannels association.
  `static final String`
  `ASSOCIATION_SUBDIRECTORIES_NAME`
  Constant used for the name of the SubDirectories association.
  `static final String`
  `ATTRIBUTE_DIRECTORYNAME_NAME`
  Constant used for the name of the DirectoryName attribute.
  `static final String`
  `ATTRIBUTE_DIRECTORYROLE_NAME`
  Constant used for the name of the DirectoryRole attribute.
  `static final String`
  `ATTRIBUTE_ISRELATIVE_NAME`
  Constant used for the name of the IsRelative attribute.

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

  `ASSOCIATION_ASSOCIATEDCONTENTTYPE_NAME, ASSOCIATION_FILEREFS_NAME, ASSOCIATION_REPORTS_NAME, ASSOCIATION_TSASSOCIATEDNAMESPACE_NAME, ASSOCIATION_UNITOFTIMES_NAME`

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

  `ASSOCIATION_ALIASES_NAME, ASSOCIATION_ALIASFOR_NAME, ASSOCIATION_DEPLOYEDCOMPONENTS_NAME, ASSOCIATION_TABLECOLLECTIONS_NAME, ASSOCIATION_USEDBYPACKAGES_NAME, ASSOCIATION_USINGPACKAGES_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
  `AssociationList`
  `getDimensions()`
  Gets the Association list of `Dimensions`
  `AssociationList`
  `getDimensions(boolean fGoToServer)`
  Gets the Associationlist of `Dimensions`
  `String`
  `getDirectoryName()`
  Gets the `String` value of `DirectoryName`
  `int`
  `getDirectoryNameMaxLength()`
  Gets the maximum length of `DirectoryName`
  `int`
  `getDirectoryNameState()`
  Gets the Metadata State of `DirectoryName`
  `String`
  `getDirectoryRole()`
  Gets the `String` value of `DirectoryRole`
  `int`
  `getDirectoryRoleMaxLength()`
  Gets the maximum length of `DirectoryRole`
  `int`
  `getDirectoryRoleState()`
  Gets the Metadata State of `DirectoryRole`
  `AssociationList`
  `getFiles()`
  Gets the AssociationList of `Files`
  `AssociationList`
  `getFiles(boolean fGoToServer)`
  Gets the Associationlist of `Files`
  `int`
  `getIsRelative()`
  Gets the `int` value of `IsRelative`
  `int`
  `getIsRelativeState()`
  Gets the Metadata State of `IsRelative`
  `AssociationList`
  `getITChannels()`
  Gets the Association list of `ITChannels`
  `AssociationList`
  `getITChannels(boolean fGoToServer)`
  Gets the Associationlist of `ITChannels`
  `AssociationList`
  `getITSubscribers()`
  Gets the Association list of `ITSubscribers`
  `AssociationList`
  `getITSubscribers(boolean fGoToServer)`
  Gets the Associationlist of `ITSubscribers`
  `Directory`
  `getParent()`
  Gets the `Directory` for `Parent`
  `AssociationList`
  `getParents()`
  Gets the AssociationList of `Parents`
  `AssociationList`
  `getParents(boolean fGoToServer)`
  Gets the Associationlist of `Parents`
  `AssociationList`
  `getPathChannels()`
  Gets the Association list of `PathChannels`
  `AssociationList`
  `getPathChannels(boolean fGoToServer)`
  Gets the Associationlist of `PathChannels`
  `AssociationList`
  `getSubDirectories()`
  Gets the Association list of `SubDirectories`
  `AssociationList`
  `getSubDirectories(boolean fGoToServer)`
  Gets the Associationlist of `SubDirectories`
  `void`
  `initializePredObjects()`
  (S) Adds the Associated objects to the predObjects which are:
  `Files`
  `Parent`
  `void`
  `initializeRequiredObjects()`
  (S) This initializes the Required Objects(Roles) which are:
  `void`
  `setDimensions(AssociationList list)`
  Sets the `Dimensions` list to be `list`.
  `void`
  `setDimensions(AssociationList inObjects, int state)`
  Sets the entire Dimensions list to match the passed in AssociationList, sets the state of the Dimensions
  `void`
  `setDirectoryName(String inDirectoryName)`
  Sets the `DirectoryName` value and sets the state to MetadataState.LOCAL.
  `void`
  `setDirectoryName(String inDirectoryName, int state)`
  Sets the `DirectoryName` Metadata State.
  `void`
  `setDirectoryNameState(int state)`
  Sets the Metadata State of `DirectoryName`.
  `void`
  `setDirectoryRole(String inDirectoryRole)`
  Sets the `DirectoryRole` value and sets the state to MetadataState.LOCAL.
  `void`
  `setDirectoryRole(String inDirectoryRole, int state)`
  Sets the `DirectoryRole` Metadata State.
  `void`
  `setDirectoryRoleState(int state)`
  Sets the Metadata State of `DirectoryRole`.
  `void`
  `setFiles(AssociationList list)`
  Sets the `Files` list to be `list`.
  `void`
  `setFiles(AssociationList inObjects, int state)`
  Sets the entire AssociationList to match the passed in Vector, sets the state of the AssociationList
  `void`
  `setIsRelative(int inIsRelative)`
  Sets the `IsRelative` value and sets the state to MetadataState.LOCAL.
  `void`
  `setIsRelative(int inIsRelative, int state)`
  Sets the `IsRelative` Metadata State.
  `void`
  `setIsRelative(String inIsRelative)`
  Sets the `IsRelative` value and sets the state to MetadataState.LOCAL.
  `void`
  `setIsRelative(String inIsRelative, int state)`
  Sets the `IsRelative` value and Metadata State.
  `void`
  `setIsRelativeState(int state)`
  Sets the Metadata State of `IsRelative`.
  `void`
  `setITChannels(AssociationList list)`
  Sets the `ITChannels` list to be `list`.
  `void`
  `setITChannels(AssociationList inObjects, int state)`
  Sets the entire ITChannels list to match the passed in AssociationList, sets the state of the ITChannels
  `void`
  `setITSubscribers(AssociationList list)`
  Sets the `ITSubscribers` list to be `list`.
  `void`
  `setITSubscribers(AssociationList inObjects, int state)`
  Sets the entire ITSubscribers list to match the passed in AssociationList, sets the state of the ITSubscribers
  `void`
  `setParent(Directory inObject)`
  Sets the `Parents` list 0th element to be `inObject`.
  `void`
  `setParents(AssociationList list)`
  Sets the `Parents` list to be `list`.
  `void`
  `setParents(AssociationList list, int state)`
  Sets the `Parents` list to be `list`.
  `void`
  `setPathChannels(AssociationList list)`
  Sets the `PathChannels` list to be `list`.
  `void`
  `setPathChannels(AssociationList inObjects, int state)`
  Sets the entire PathChannels list to match the passed in AssociationList, sets the state of the PathChannels
  `void`
  `setSubDirectories(AssociationList list)`
  Sets the `SubDirectories` list to be `list`.
  `void`
  `setSubDirectories(AssociationList inObjects, int state)`
  Sets the entire SubDirectories list to match the passed in AssociationList, sets the state of the SubDirectories

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

  `getAssociatedContentType, getAssociatedContentTypes, getAssociatedContentTypes, getFileRefs, getFileRefs, getReports, getReports, getTSAssociatedNamespace, getTSAssociatedNamespaces, getTSAssociatedNamespaces, getUnitofTimes, getUnitofTimes, setAssociatedContentType, setAssociatedContentTypes, setAssociatedContentTypes, setFileRefs, setFileRefs, setReports, setReports, setTSAssociatedNamespace, setTSAssociatedNamespaces, setTSAssociatedNamespaces, setUnitofTimes, setUnitofTimes`

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

  `getAliases, getAliases, getAliasFor, getAliasFors, getAliasFors, getDeployedComponents, getDeployedComponents, getTableCollections, getTableCollections, getUsedByPackages, getUsedByPackages, getUsingPackages, getUsingPackages, setAliases, setAliases, setAliasFor, setAliasFors, setAliasFors, setDeployedComponents, setDeployedComponents, setTableCollections, setTableCollections, setUsedByPackages, setUsedByPackages, setUsingPackages, setUsingPackages`

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

    static final String ATTRIBUTE_DIRECTORYNAME_NAME
    Constant used for the name of the DirectoryName attribute.

    DirectoryName: The name of this directory in the file system.

    See Also:
      - Constant Field Values

  - ### ATTRIBUTE_ISRELATIVE_NAME

    static final String ATTRIBUTE_ISRELATIVE_NAME
    Constant used for the name of the IsRelative attribute.

    IsRelative: True if the DirectoryName is not a fully qualified path.

    See Also:
      - Constant Field Values

  - ### ATTRIBUTE_DIRECTORYROLE_NAME

    static final String ATTRIBUTE_DIRECTORYROLE_NAME
    Constant used for the name of the DirectoryRole attribute.

    DirectoryRole: Directory role is used when a directory should be used only within a given context.

    See Also:
      - Constant Field Values

  - ### ASSOCIATION_FILES_NAME

    static final String ASSOCIATION_FILES_NAME
    Constant used for the name of the Files association.

    Files: The files in this directory.

    See Also:
      - Constant Field Values

  - ### ASSOCIATION_PARENT_NAME

    static final String ASSOCIATION_PARENT_NAME
    Constant used for the name of the Parent association.

    Parent: The parent directory of this directory.

    See Also:
      - Constant Field Values

  - ### ASSOCIATION_DIMENSIONS_NAME

    static final String ASSOCIATION_DIMENSIONS_NAME
    Constant used for the name of the Dimensions association.

    Dimensions: The shared dimensions in this directory.

    See Also:
      - Constant Field Values

  - ### ASSOCIATION_ITCHANNELS_NAME

    static final String ASSOCIATION_ITCHANNELS_NAME
    Constant used for the name of the ITChannels association.

    ITChannels: The ITChannels that publish to this location.

    See Also:
      - Constant Field Values

  - ### ASSOCIATION_ITSUBSCRIBERS_NAME

    static final String ASSOCIATION_ITSUBSCRIBERS_NAME
    Constant used for the name of the ITSubscribers association.

    ITSubscribers: The ITSsubscribers for this http server directory.

    See Also:
      - Constant Field Values

  - ### ASSOCIATION_PATHCHANNELS_NAME

    static final String ASSOCIATION_PATHCHANNELS_NAME
    Constant used for the name of the PathChannels association.

    PathChannels: The channels that have defined this directory as a preferred archive directory.

    See Also:
      - Constant Field Values

  - ### ASSOCIATION_SUBDIRECTORIES_NAME

    static final String ASSOCIATION_SUBDIRECTORIES_NAME
    Constant used for the name of the SubDirectories association.

    SubDirectories: The subdirectories of this directory.

    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 `ContentLocation`
    Specified by:
      `initializeRequiredObjects` in interface `DeployedDataPackage`
    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:
    `Files`
    `Parent`
    Specified by:
      `initializePredObjects` in interface `ContentLocation`
    Specified by:
      `initializePredObjects` in interface `DeployedDataPackage`
    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.

  - ### getDirectoryName

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

  - ### getDirectoryNameState

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

  - ### getDirectoryNameMaxLength

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

  - ### getIsRelative

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

  - ### getIsRelativeState

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

  - ### getDirectoryRole

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

  - ### getDirectoryRoleState

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

  - ### getDirectoryRoleMaxLength

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

  - ### getFiles

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

  - ### getParents

    AssociationList getParents() throws RemoteException, MdException
    Gets the AssociationList of `Parents`
    Returns:
      Returns the AssociationList of `Parents` which can be of type:
      Directory
      AnalyticContext
    Throws:
      `RemoteException` - If error connecting/communicating to/with remote object.
      `MdException`

  - ### getParent

    Directory getParent() throws RemoteException, MdException
    Gets the `Directory` for `Parent`
    Returns:
      The `Directory` ( `null` if not set) of `Parent`which can be of type:
      Directory
      AnalyticContext
    Throws:
      `RemoteException` - If error connecting/communicating to/with remote object.
      `MdException` - If error getting/setting part of the object.

  - ### getDimensions

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

  - ### getITChannels

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

  - ### getITSubscribers

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

  - ### getPathChannels

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

  - ### getSubDirectories

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

  - ### getFiles

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

  - ### getParents

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

  - ### getDimensions

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

  - ### getITChannels

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

  - ### getITSubscribers

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

  - ### getPathChannels

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

  - ### getSubDirectories

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

  - ### setDirectoryName

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

  - ### setDirectoryName

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

  - ### setDirectoryNameState

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

  - ### setIsRelative

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

  - ### setIsRelative

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

  - ### setIsRelative

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

  - ### setIsRelative

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

  - ### setIsRelativeState

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

  - ### setDirectoryRole

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

  - ### setDirectoryRole

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

  - ### setDirectoryRoleState

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

  - ### setFiles

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

  - ### setFiles

    void setFiles(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.

  - ### setParents

    void setParents(AssociationList list) throws RemoteException
    Sets the `Parents` list to be `list`. Object of which can be of type:
    Directory
    AnalyticContext
    Parameters:
      `list` - AssociationList
    Throws:
      `RemoteException` - If error communicating with remote object.

  - ### setParents

    void setParents(AssociationList list, int state) throws RemoteException
    Sets the `Parents` list to be `list`. Object of which can be of type:
    Directory
    AnalyticContext
    Parameters:
      `list` - AssociationList
      `state` - int
    Throws:
      `RemoteException` - If error communicating with remote object.

  - ### setParent

    void setParent(Directory inObject) throws RemoteException
    Sets the `Parents` list 0th element to be `inObject`.
    Parameters:
      `inObject` - Directory
    Throws:
      `RemoteException` - If error communicating with remote object.

  - ### setDimensions

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

  - ### setDimensions

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

  - ### setITChannels

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

  - ### setITChannels

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

  - ### setITSubscribers

    void setITSubscribers(AssociationList list) throws RemoteException
    Sets the `ITSubscribers` list to be `list`. Objects of which can be of type:
    ITSubscriber
    ITContentSubscriber
    ITEventSubscriber
    Parameters:
      `list` - AssociationList
    Throws:
      `RemoteException` - If error communicating with remote object.

  - ### setITSubscribers

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

  - ### setPathChannels

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

  - ### setPathChannels

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

  - ### setSubDirectories

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

  - ### setSubDirectories

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