Package com.sas.metadata.remote

# Interface UnitofTime

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

public interface UnitofTime extends SecondaryType
Unit of time.

Attributes of UnitofTime are:

- `UnitofTimeRole`
- `Unit`
- `NumberofUnits`

Associations of UnitofTime are:

- `AssociatedContentLocation`

## Usage

To create an instance of this UnitofTime, use the `factory` create methods.
Example: create a UnitofTime with name "UnitofTime_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();
     UnitofTime myObject = (UnitofTime) factory.createComplexMetadataObject(objectStore, "UnitofTime_Object", MetadataObjects.UNITOFTIME, "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_ASSOCIATEDCONTENTLOCATION_NAME`
  Constant used for the name of the AssociatedContentLocation association.
  `static final String`
  `ATTRIBUTE_NUMBEROFUNITS_NAME`
  Constant used for the name of the NumberofUnits attribute.
  `static final String`
  `ATTRIBUTE_UNIT_NAME`
  Constant used for the name of the Unit attribute.
  `static final String`
  `ATTRIBUTE_UNITOFTIMEROLE_NAME`
  Constant used for the name of the UnitofTimeRole 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.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
  `ContentLocation`
  `getAssociatedContentLocation()`
  Gets the `ContentLocation` for `AssociatedContentLocation`
  `AssociationList`
  `getAssociatedContentLocations()`
  Gets the AssociationList of `AssociatedContentLocations`
  `AssociationList`
  `getAssociatedContentLocations(boolean fGoToServer)`
  Gets the Associationlist of `AssociatedContentLocations`
  `int`
  `getNumberofUnits()`
  Gets the `int` value of `NumberofUnits`
  `int`
  `getNumberofUnitsState()`
  Gets the Metadata State of `NumberofUnits`
  `String`
  `getUnit()`
  Gets the `String` value of `Unit`
  `int`
  `getUnitMaxLength()`
  Gets the maximum length of `Unit`
  `String`
  `getUnitofTimeRole()`
  Gets the `String` value of `UnitofTimeRole`
  `int`
  `getUnitofTimeRoleMaxLength()`
  Gets the maximum length of `UnitofTimeRole`
  `int`
  `getUnitofTimeRoleState()`
  Gets the Metadata State of `UnitofTimeRole`
  `int`
  `getUnitState()`
  Gets the Metadata State of `Unit`
  `void`
  `initializePredObjects()`
  (S) Adds the Associated objects to the predObjects which are:
  `AssociatedContentLocation`
  `void`
  `initializeRequiredObjects()`
  (S) This initializes the Required Objects(Roles) which are:
  `void`
  `setAssociatedContentLocation(ContentLocation inObject)`
  Sets the `AssociatedContentLocations` list 0th element to be `inObject`.
  `void`
  `setAssociatedContentLocations(AssociationList list)`
  Sets the `AssociatedContentLocations` list to be `list`.
  `void`
  `setAssociatedContentLocations(AssociationList list, int state)`
  Sets the `AssociatedContentLocations` list to be `list`.
  `void`
  `setNumberofUnits(int inNumberofUnits)`
  Sets the `NumberofUnits` value and sets the state to MetadataState.LOCAL.
  `void`
  `setNumberofUnits(int inNumberofUnits, int state)`
  Sets the `NumberofUnits` Metadata State.
  `void`
  `setNumberofUnits(String inNumberofUnits)`
  Sets the `NumberofUnits` value and sets the state to MetadataState.LOCAL.
  `void`
  `setNumberofUnits(String inNumberofUnits, int state)`
  Sets the `NumberofUnits` value and Metadata State.
  `void`
  `setNumberofUnitsState(int state)`
  Sets the Metadata State of `NumberofUnits`.
  `void`
  `setUnit(String inUnit)`
  Sets the `Unit` value and sets the state to MetadataState.LOCAL.
  `void`
  `setUnit(String inUnit, int state)`
  Sets the `Unit` Metadata State.
  `void`
  `setUnitofTimeRole(String inUnitofTimeRole)`
  Sets the `UnitofTimeRole` value and sets the state to MetadataState.LOCAL.
  `void`
  `setUnitofTimeRole(String inUnitofTimeRole, int state)`
  Sets the `UnitofTimeRole` Metadata State.
  `void`
  `setUnitofTimeRoleState(int state)`
  Sets the Metadata State of `UnitofTimeRole`.
  `void`
  `setUnitState(int state)`
  Sets the Metadata State of `Unit`.

  ### 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.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_UNITOFTIMEROLE_NAME

    static final String ATTRIBUTE_UNITOFTIMEROLE_NAME
    Constant used for the name of the UnitofTimeRole attribute.

    UnitofTimeRole: The function or context of this unit of time.

    See Also:
      - Constant Field Values

  - ### ATTRIBUTE_UNIT_NAME

    static final String ATTRIBUTE_UNIT_NAME
    Constant used for the name of the Unit attribute.

    Unit: The unit used for the measurement. Example: day, hour, week

    See Also:
      - Constant Field Values

  - ### ATTRIBUTE_NUMBEROFUNITS_NAME

    static final String ATTRIBUTE_NUMBEROFUNITS_NAME
    Constant used for the name of the NumberofUnits attribute.

    NumberofUnits: This is the number of units. Example: '5' days, '1' week.

    See Also:
      - Constant Field Values

  - ### ASSOCIATION_ASSOCIATEDCONTENTLOCATION_NAME

    static final String ASSOCIATION_ASSOCIATEDCONTENTLOCATION_NAME
    Constant used for the name of the AssociatedContentLocation association.

    AssociatedContentLocation: The associated content location.

    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 `Root`
    Specified by:
      `initializeRequiredObjects` in interface `SecondaryType`
    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:
    `AssociatedContentLocation`
    Specified by:
      `initializePredObjects` in interface `MdObjectBase`
    Specified by:
      `initializePredObjects` in interface `Root`
    Specified by:
      `initializePredObjects` in interface `SecondaryType`
    Throws:
      `RemoteException` - If error connecting/communicating to/with remote object.

  - ### getUnitofTimeRole

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

  - ### getUnitofTimeRoleState

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

  - ### getUnitofTimeRoleMaxLength

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

  - ### getUnit

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

  - ### getUnitState

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

  - ### getUnitMaxLength

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

  - ### getNumberofUnits

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

  - ### getNumberofUnitsState

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

  - ### getAssociatedContentLocations

    AssociationList getAssociatedContentLocations() throws RemoteException, MdException
    Gets the AssociationList of `AssociatedContentLocations`
    Returns:
      Returns the AssociationList of `AssociatedContentLocations` which can be of type:
      ContentLocation
      Text
      TextStore
      SASCatalogEntry
      File
      ArchiveFile
      ArchiveEntry
      Document
      Directory
      AnalyticContext
      Device
      Stream
      Memory
      Connection
      SASClientConnection
      OpenClientConnection
      TCPIPConnection
      COMConnection
      Email
    Throws:
      `RemoteException` - If error connecting/communicating to/with remote object.
      `MdException`

  - ### getAssociatedContentLocation

    ContentLocation getAssociatedContentLocation() throws RemoteException, MdException
    Gets the `ContentLocation` for `AssociatedContentLocation`
    Returns:
      The `ContentLocation` ( `null` if not set) of `AssociatedContentLocation`which can be of type:
      ContentLocation
      Text
      TextStore
      SASCatalogEntry
      File
      ArchiveFile
      ArchiveEntry
      Document
      Directory
      AnalyticContext
      Device
      Stream
      Memory
      Connection
      SASClientConnection
      OpenClientConnection
      TCPIPConnection
      COMConnection
      Email
    Throws:
      `RemoteException` - If error connecting/communicating to/with remote object.
      `MdException` - If error getting/setting part of the object.

  - ### getAssociatedContentLocations

    AssociationList getAssociatedContentLocations(boolean fGoToServer) throws RemoteException, MdException
    Gets the Associationlist of `AssociatedContentLocations`
    Parameters:
      `fGoToServer` - boolean Get the value from the server.
    Returns:
      Returns the AssociationList of `AssociatedContentLocations` which can be of type:
      ContentLocation
      Text
      TextStore
      SASCatalogEntry
      File
      ArchiveFile
      ArchiveEntry
      Document
      Directory
      AnalyticContext
      Device
      Stream
      Memory
      Connection
      SASClientConnection
      OpenClientConnection
      TCPIPConnection
      COMConnection
      Email
    Throws:
      `RemoteException` - If error connecting/communicating to/with remote object.
      `MdException` - If error getting/setting part of the object.

  - ### setUnitofTimeRole

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

  - ### setUnitofTimeRole

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

  - ### setUnitofTimeRoleState

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

  - ### setUnit

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

  - ### setUnit

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

  - ### setUnitState

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

  - ### setNumberofUnits

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

  - ### setNumberofUnits

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

  - ### setNumberofUnits

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

  - ### setNumberofUnits

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

  - ### setNumberofUnitsState

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

  - ### setAssociatedContentLocations

    void setAssociatedContentLocations(AssociationList list) throws RemoteException
    Sets the `AssociatedContentLocations` list to be `list`. Object of which can be of type:
    ContentLocation
    Text
    TextStore
    SASCatalogEntry
    File
    ArchiveFile
    ArchiveEntry
    Document
    Directory
    AnalyticContext
    Device
    Stream
    Memory
    Connection
    SASClientConnection
    OpenClientConnection
    TCPIPConnection
    COMConnection
    Email
    Parameters:
      `list` - AssociationList
    Throws:
      `RemoteException` - If error communicating with remote object.

  - ### setAssociatedContentLocations

    void setAssociatedContentLocations(AssociationList list, int state) throws RemoteException
    Sets the `AssociatedContentLocations` list to be `list`. Object of which can be of type:
    ContentLocation
    Text
    TextStore
    SASCatalogEntry
    File
    ArchiveFile
    ArchiveEntry
    Document
    Directory
    AnalyticContext
    Device
    Stream
    Memory
    Connection
    SASClientConnection
    OpenClientConnection
    TCPIPConnection
    COMConnection
    Email
    Parameters:
      `list` - AssociationList
      `state` - int
    Throws:
      `RemoteException` - If error communicating with remote object.

  - ### setAssociatedContentLocation

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