Package com.sas.metadata.remote

# Interface MdStore

All Superinterfaces:
  `Remote`

All Known Subinterfaces:
  `MdObjectStore`, `MdServerStore`

public interface MdStore extends Remote
This describes the base store object for metadata

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `ExternalIdenty_Context`
  The context of the ExternalIdentity objects associated to new objects created under change management
  `static final String`
  `ExternalIdenty_ImportType`
  The ImportType of ExternalIdentity objects associated to new objects created under change management
  `static final int`
  `MDSTORETYPE_OBJECTSTORE`
  `static final int`
  `MDSTORETYPE_SERVERSTORE`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addChildStore(MdStore inStore)`
  Add a store as a child to this one.
  `void`
  `addMdStoreListener(MdStoreListener l)`
  Used to add an object to the list of listeners for changes in the Metadata Map
  `void`
  `addVetoableChangeListener(VetoableChangeListener l)`
  Adds a listener to the list
  `void`
  `changeHashKey(String strOldId, String strNewId)`
  Change the hash key associated with an object, and send events for the removal of the old object and addition of the new object to Map.
  `void`
  `createExternalIdentityObject(CMetadata owningObject)`
  This creates an ExternalIdentity object connection to owningObject for change management.
  `String`
  `createRefreshXMLforStore(boolean includeLocallyChangedItems, boolean getFullObjectUpdate)`
  Creates XML for all objects in store.
  `boolean`
  `deleteObject(CMetadata inObject)`
  Makes an object unavailable in the object store.
  `void`
  `dispose()`
  Cleans up this objectStore and it's objects from it's parent.
  `void`
  `dumpDetailHashMap()`
  Prints out the contents of the Detail object Map.
  `void`
  `fireMdObjectsAdded(MdEvent e, List ids)`
  Used to notify all the listeners in the listner list of modifications to the object.
  `void`
  `fireMdObjectsModified(MdEvent e, List items)`
  Used to notify all the listeners in the listner list of modifications to the object.
  `void`
  `fireMdObjectsRemoved(MdEvent e, List ids)`
  Used to notify all the listeners in the listner list of modifications to the object.
  `void`
  `flushUpdates(List<CMetadata> updatedItems)`
  Flush updated objects to parent store.
  `List<CMetadata>`
  `getChangedObjects()`
  Gets a List of changed objects.
  `Map<String,CMetadata>`
  `getDetailObjectMap()`
  Returns the Detail Object Map
  `MdFactory`
  `getFactory()`
  Returns the factory used to create objects.
  `boolean`
  `getIsGoToServerForMetadata()`
  Deprecated.
  `isGoToServerForMetadata()` should be used instead
  `CMetadata`
  `getObject(String strFQID)`
  Return object associated with ID
  `MdStore`
  `getOwningStore()`
  Gets the parent store to this one
  `int`
  `getStoreType()`
  Gets the type of store this is, either a `MdStore.MDSTORETYPE_SERVERSTORE` or a `MdStore.MDSTORETYPE_OBJECTSTORE`
  `boolean`
  `isDisposed()`
  Returns whether or not the store has been disposed.
  `boolean`
  `isGoToServerForMetadata()`
  Tells whether or not to go to server for the metadata.
  `String`
  `makeID(String shortID)`
  Creates a new id for an object.
  `void`
  `removeChildStore(MdStore inStore)`
  Remove a store as a child of this one.
  `void`
  `removeMdStoreListener(MdStoreListener l)`
  Used to remove an object from the list of listeners for changes in the Metadata Map
  `void`
  `removeVetoableChangeListener(VetoableChangeListener l)`
  Removes a listener from the list of vetoable listners
  `void`
  `resetStates(List<CMetadata> items)`
  Resets all the objects in items to to set from server state or unSET.
  `CMetadata`
  `restoreObject(String objectID)`
  Restores an object to the Store so that it is available from the store.
  `void`
  `setGoToServerForMetadata(boolean goToServer)`
  Tells whether or not to go to server for the metadata.
  `void`
  `setIsGotToServerForMetadata(boolean goToServer)`
  Deprecated.
  `setGoToServerForMetadata(boolean)` should be used instead
  `void`
  `setOwningStore(MdStore parent)`
  Sets the parent store to this one.
  `void`
  `updateChangeListObjectIDs(String OldReposID, String NewReposID)`
  Changes a new objects repos id for all the objects in the change list of this object store, to a specified repos id.
  `void`
  `updateChangeListObjectIDs(String OldReposID, String NewReposID, String targetReposID)`
  Changes a new objects repos id for all the objects in the change list of this object store, to a specified repos id.
  `void`
  `updateCreatedItemsList(List<String> items)`
  remove the items that have been updated from the createdItems list.
  `void`
  `updatedMetadataAll()`

- ## Field Details

  - ### MDSTORETYPE_SERVERSTORE

    static final int MDSTORETYPE_SERVERSTORE
    See Also:
      - Constant Field Values

  - ### MDSTORETYPE_OBJECTSTORE

    static final int MDSTORETYPE_OBJECTSTORE
    See Also:
      - Constant Field Values

  - ### ExternalIdenty_Context

    static final String ExternalIdenty_Context
    The context of the ExternalIdentity objects associated to new objects created under change management
    See Also:
      - Constant Field Values

  - ### ExternalIdenty_ImportType

    static final String ExternalIdenty_ImportType
    The ImportType of ExternalIdentity objects associated to new objects created under change management
    See Also:
      - Constant Field Values

- ## Method Details

  - ### getStoreType

    int getStoreType() throws RemoteException
    Gets the type of store this is, either a `MdStore.MDSTORETYPE_SERVERSTORE` or a `MdStore.MDSTORETYPE_OBJECTSTORE`
    Returns:
      store type as an int.
    Throws:
      `RemoteException`

  - ### getObject

    CMetadata getObject(String strFQID) throws RemoteException
    Return object associated with ID
    Parameters:
      `strFQID` - String The ID of the object to get from the Map
    Returns:
      CMetadata The object, or null if object not in Map.
    Throws:
      `RemoteException`

  - ### makeID

    String makeID(String shortID) throws RemoteException
    Creates a new id for an object.
    Parameters:
      `shortID` - String
    Throws:
      `RemoteException`

  - ### dumpDetailHashMap

    void dumpDetailHashMap() throws RemoteException
    Prints out the contents of the Detail object Map.
    Throws:
      `RemoteException`

  - ### updatedMetadataAll

    void updatedMetadataAll() throws RemoteException, MdException
    Throws:
      `RemoteException`
      `MdException`

  - ### changeHashKey

    void changeHashKey(String strOldId, String strNewId) throws RemoteException
    Change the hash key associated with an object, and send events for the removal of the old object and addition of the new object to Map.
    Parameters:
      `strOldId` - String
      `strNewId` - String
    Throws:
      `RemoteException`

  - ### setOwningStore

    void setOwningStore(MdStore parent) throws RemoteException
    Sets the parent store to this one.
    Parameters:
      `parent` - MdStore
    Throws:
      `RemoteException`

  - ### getOwningStore

    MdStore getOwningStore() throws RemoteException
    Gets the parent store to this one
    Returns:
      MdStore This store's parent.
    Throws:
      `RemoteException`

  - ### dispose

    void dispose() throws RemoteException
    Cleans up this objectStore and it's objects from it's parent.
    Throws:
      `RemoteException`

  - ### deleteObject

    boolean deleteObject(CMetadata inObject) throws RemoteException
    Makes an object unavailable in the object store. Use restore to make the object available after a delete
    Parameters:
      `inObject` - CMetadata
    Throws:
      `RemoteException`

  - ### restoreObject

    CMetadata restoreObject(String objectID) throws RemoteException
    Restores an object to the Store so that it is available from the store.
    Parameters:
      `objectID` - String
    Throws:
      `RemoteException`

  - ### getChangedObjects

    List<CMetadata> getChangedObjects() throws RemoteException
    Gets a List of changed objects.
    Throws:
      `RemoteException`

  - ### flushUpdates

    void flushUpdates(List<CMetadata> updatedItems) throws RemoteException
    Flush updated objects to parent store.
    Throws:
      `RemoteException`

  - ### resetStates

    void resetStates(List<CMetadata> items) throws RemoteException
    Resets all the objects in items to to set from server state or unSET.
    Parameters:
      `items` - List (NOTE: CMetadata objects in items)
    Throws:
      `RemoteException`

  - ### addMdStoreListener

    void addMdStoreListener(MdStoreListener l) throws RemoteException
    Used to add an object to the list of listeners for changes in the Metadata Map
    Parameters:
      `l` - MetadataListener
    Throws:
      `RemoteException`

  - ### removeMdStoreListener

    void removeMdStoreListener(MdStoreListener l) throws RemoteException
    Used to remove an object from the list of listeners for changes in the Metadata Map
    Parameters:
      `l` - MetadataListener
    Throws:
      `RemoteException`

  - ### fireMdObjectsModified

    void fireMdObjectsModified(MdEvent e, List items) throws RemoteException
    Used to notify all the listeners in the listner list of modifications to the object.
    Parameters:
      `e` - ChangeEvent Created like: `new ChangeEvent(Object generator)`
      `items` - Vector Is list of items FQID that have been added.
    Throws:
      `RemoteException`

  - ### fireMdObjectsAdded

    void fireMdObjectsAdded(MdEvent e, List ids) throws RemoteException
    Used to notify all the listeners in the listner list of modifications to the object.
    Parameters:
      `e` - ChangeEvent Created like: `new ChangeEvent(Object generator)`
      `items` - Vector Is list of items FQID that have been added.
    Throws:
      `RemoteException`

  - ### fireMdObjectsRemoved

    void fireMdObjectsRemoved(MdEvent e, List ids) throws RemoteException
    Used to notify all the listeners in the listner list of modifications to the object.
    Parameters:
      `e` - ChangeEvent Created like: `new ChangeEvent(Object generator)`
      `items` - Vector Is list of items FQID that have been added.
    Throws:
      `RemoteException`

  - ### getDetailObjectMap

    Map<String,CMetadata> getDetailObjectMap() throws RemoteException
    Returns the Detail Object Map
    Returns:
      The association Map
    Throws:
      `RemoteException`

  - ### getFactory

    MdFactory getFactory() throws RemoteException
    Returns the factory used to create objects.
    Returns:
      MdFactory
    Throws:
      `RemoteException`

  - ### getIsGoToServerForMetadata

    boolean getIsGoToServerForMetadata() throws RemoteException
    Deprecated.
    `isGoToServerForMetadata()` should be used instead
    Tells whether or not to go to server for the metadata.
    Returns:
      boolean true if allowed to go to the server.
    Throws:
      `RemoteException`

  - ### setIsGotToServerForMetadata

    void setIsGotToServerForMetadata(boolean goToServer) throws RemoteException
    Deprecated.
    `setGoToServerForMetadata(boolean)` should be used instead
    Tells whether or not to go to server for the metadata.
    Parameters:
      `goToServer` - go for metadata
    Throws:
      `RemoteException`

  - ### setGoToServerForMetadata

    void setGoToServerForMetadata(boolean goToServer) throws RemoteException
    Tells whether or not to go to server for the metadata.
    Parameters:
      `goToServer` - go for metadata
    Throws:
      `RemoteException`

  - ### isGoToServerForMetadata

    boolean isGoToServerForMetadata() throws RemoteException
    Tells whether or not to go to server for the metadata.
    Returns:
      true if allowed to go to the server.
    Throws:
      `RemoteException`

  - ### isDisposed

    boolean isDisposed() throws RemoteException
    Returns whether or not the store has been disposed.
    Returns:
      boolean
    Throws:
      `RemoteException`

  - ### addVetoableChangeListener

    void addVetoableChangeListener(VetoableChangeListener l) throws RemoteException
    Adds a listener to the list
    Parameters:
      `l` - VetoableChangeListener
    Throws:
      `RemoteException`

  - ### removeVetoableChangeListener

    void removeVetoableChangeListener(VetoableChangeListener l) throws RemoteException
    Removes a listener from the list of vetoable listners
    Parameters:
      `l` - VetoableChangeListener
    Throws:
      `RemoteException`

  - ### createExternalIdentityObject

    void createExternalIdentityObject(CMetadata owningObject) throws RemoteException
    This creates an ExternalIdentity object connection to owningObject for change management. This new object contains the real repos id for the new object.
    Parameters:
      `owningObject` - CMetadata Object to which to attach ExternalIdentity.
    Throws:
      `RemoteException`

  - ### updateChangeListObjectIDs

    void updateChangeListObjectIDs(String OldReposID, String NewReposID) throws RemoteException
    Changes a new objects repos id for all the objects in the change list of this object store, to a specified repos id. This should be only the short ID. "AAAAAAAA" to "A5KE2N5K"
    Parameters:
      `OldReposID` - String The repos of objects when they were created.
      `NewReposID` - String The project repos id if under change management, the target if not.
    Throws:
      `RemoteException`

  - ### updateChangeListObjectIDs

    void updateChangeListObjectIDs(String OldReposID, String NewReposID, String targetReposID) throws RemoteException
    Changes a new objects repos id for all the objects in the change list of this object store, to a specified repos id. This should be only the short ID. "AAAAAAAA" to "A5KE2N5K"
    Parameters:
      `OldReposID` - String The repos of objects when they were created.
      `NewReposID` - String The project repos id if under change management, the target if not.
      `targetReposID` - String In change management is the real repos the objects will be checked into
    Throws:
      `RemoteException`

  - ### updateCreatedItemsList

    void updateCreatedItemsList(List<String> items) throws RemoteException
    remove the items that have been updated from the createdItems list.
    Parameters:
      `items` -
    Throws:
      `RemoteException`

  - ### addChildStore

    void addChildStore(MdStore inStore) throws RemoteException
    Add a store as a child to this one.
    Parameters:
      `inStore` -
    Throws:
      `RemoteException`

  - ### removeChildStore

    void removeChildStore(MdStore inStore) throws RemoteException
    Remove a store as a child of this one.
    Parameters:
      `inStore` -
    Throws:
      `RemoteException`

  - ### createRefreshXMLforStore

    String createRefreshXMLforStore(boolean includeLocallyChangedItems, boolean getFullObjectUpdate) throws RemoteException
    Creates XML for all objects in store.
    Returns:
      XML string for objects in store
    Throws:
      `RemoteException`