Package com.sas.metadata.remote

# Interface MdServerStore

All Superinterfaces:
  `EventListener`, `MdObjectListener`, `MdStore`, `MdStoreListener`, `MetadataObjects`, `Remote`, `Serializable`

@SASScope("ALL") public interface MdServerStore extends MdStore, MdStoreListener, MetadataObjects, MdObjectListener, Serializable, Remote
This is the Main store of objects (Cache) for interactions with the server.

Warning: this class should not be used directly by a client. All metadata objects should be created within an `MdObjectStore`. As of version 9.2, most methods within this class have been deprecated.

- ## Field Summary

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

  `ExternalIdenty_Context, ExternalIdenty_ImportType, MDSTORETYPE_OBJECTSTORE, MDSTORETYPE_SERVERSTORE`

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

  `ABSTRACTEXTENSION, ABSTRACTJOB, ABSTRACTPROMPT, ABSTRACTPROPERTY, ABSTRACTTRANSFORMATION, ACCESSCONTROL, ACCESSCONTROLENTRY, ACCESSCONTROLTEMPLATE, ACTION, AGGREGATION, ANALYTICCOLUMN, ANALYTICCONTEXT, ANALYTICTABLE, APPLICATIONACTION, ARCHIVEENTRY, ARCHIVEFILE, ASSOCIATIONPROPERTY, ATTRIBUTEPROPERTY, AUTHENTICATIONDOMAIN, CALCULATEDMEASURE, CALCULATEDMEMBER, CHANGE, CLASSIFIER, CLASSIFIERMAP, COLUMN, COLUMNHIERARCHY, COLUMNRANGE, COMCONNECTION, CONDITION, CONDITIONACTIONSET, CONDITIONALPRECEDENCE, CONFIGUREDCOMPONENT, CONNECTION, CONTENTLOCATION, CONTENTTYPE, CUBE, CUSTOMASSOCIATION, DATABASECATALOG, DATABASESCHEMA, DATASOURCENAME, DATATABLE, DEPLOYEDCOMPONENT, DEPLOYEDDATAPACKAGE, DEVICE, DEVICETYPE, DIMENSION, DIRECTORY, DOCUMENT, EMAIL, EVENT, EXTENSION, EXTERNALIDENTITY, EXTERNALTABLE, FAVORITESCONTAINER, FEATURE, FEATUREMAP, FILE, FITSTATISTIC, FOREIGNKEY, GLOBALFORMULA, GROUP, GROUPBYCLAUSE, HAVINGCLAUSE, HIERARCHY, HIERARCHYLEVEL, IDENTITY, IDENTITYGROUP, INDEX, INTERNALLOGIN, ITCHANNEL, ITCONTENTSUBSCRIBER, ITEVENTSUBSCRIBER, ITFILTER, ITSUBSCRIBER, JFJOB, JOB, JOIN, JOINTABLE, KEY, KEYASSOCIATION, KEYWORD, LEVEL, LOCALIZEDRESOURCE, LOCALIZEDTYPE, LOCATION, LOGICALCOLUMN, LOGICALSERVER, LOGIN, MACHINE, MEASURE, MEMORY, MININGRESULT, NAMEDSERVICE, NAMEDSET, NUMERICEXTENSION, OLAPPROPERTY, OLAPSCHEMA, OMA_MODEL_DESC, OMA_MODEL_NAME, OMA_MODEL_VERSION, ONCLAUSE, OPENCLIENTCONNECTION, ORDERBYCLAUSE, PERMISSION, PERMISSIONCONDITION, PERSON, PHONE, PHYSICALTABLE, PRIMARYTYPE, PROMPT, PROMPTGROUP, PROPERTY, PROPERTYGROUP, PROPERTYSET, PROPERTYTYPE, PROTOTYPE, PROTOTYPEPROPERTY, PSCOLUMNLAYOUTCOMPONENT, PSLAYOUTCOMPONENT, PSPORTALPAGE, PSPORTALPROFILE, PSPORTLET, QUERYCLAUSE, QUERYTABLE, RELATIONALSCHEMA, RELATIONALTABLE, REPORT, RESPONSIBLEPARTY, ROLE, ROOT, ROWSELECTOR, SASCATALOG, SASCATALOGENTRY, SASCLIENTCONNECTION, SASFILEREF, SASLIBRARY, SASLICENSE, SASPASSWORD, SEARCH, SECONDARYTYPE, SECUREDLIBRARY, SECUREDTABLE, SECURITYRULE, SECURITYRULESCHEME, SECURITYTYPECONTAINMENTRULE, SELECT, SERVERCOMPONENT, SERVERCONTEXT, SERVICECOMPONENT, SERVICETYPE, SHAREDDIMENSION, SOFTWARECOMPONENT, STEPPRECEDENCE, STREAM, SXLEMAP, SYNCSTEP, TABLECOLLECTION, TARGET, TCPIPCONNECTION, TESTCAT, TESTFLEA, TESTGRANDKITTEN, TESTKITTEN, TESTLEG, TESTMOUSE, TESTREQATTRS, TESTROOT, TEXT, TEXTSTORE, TIMESTAMP, TRANSFORMATION, TRANSFORMATIONACTIVITY, TRANSFORMATIONSTEP, TREE, TSNAMEOBJECT, TSNAMESPACE, TYPEDEFINITION, UNIQUEKEY, UNITOFTIME, VARIABLE, WHERECLAUSE, WORKTABLE, XPATH`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addMdObjectListener(MdObjectListener l)`
  Used to add an object to the list of listeners for changes in the Metadata Map
  `void`
  `addMdStoreIDChangeListener(MdStoreIDChangeListener l)`
  Used to add an object to the list of listeners for changes in the Metadata Map
  `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 notify listeners
  `void`
  `clearObjectsFromStore()`
  Remove all non-deleted objects from the store and usage...
  `void`
  `createExternalIdentityObject(CMetadata owningObject)`
  This creates an ExternalIdentity object connection to owningObject for change management.
  `void`
  `deleteDetailMetadataObject(String strFQID)`
  Deletes an object from the detail Map and fires the MetadataRemoved event.
  `boolean`
  `deleteObject(CMetadata inObject)`
  Makes an object unavailable in the object store.
  `void`
  `deleteObjectFromStores(String strFQID)`
  Delete the object from this store and all object stores.
  `void`
  `dispose()`
  Removes objects not being used by any other objectStore.
  `void`
  `dumpDetailAllHashMaps()`
  Prints out the contents of the Detail object Map.
  `void`
  `dumpDetailHashMap()`
  Prints out the contents of the Detail object Map.
  `void`
  `flushUpdates(List<CMetadata> updatedItems)`
  Flush updated objects to parent store.
  `List`
  `getChangedObjects()`
  Gets a List of changed objects.
  `List`
  `getCreatedItemsList()`
  Returns the list of items created in current write.
  `Map<String,CMetadata>`
  `getDetailObjectMap()`
  Deprecated.
  As of 9.2, the detailObjectMap is no longer used in the ServerStore.
  `MdFactory`
  `getFactory()`
  Returns the factory used to create objects.
  `boolean`
  `getIsGoToServerForMetadata()`
  Deprecated.
  `isGoToServerForMetadata()` should be used instead
  `CMetadata`
  `getObject(String strFQID)`
  Deprecated.
  As of 9.2, complex objects are no longer stored in the ServerStore.
  `CMetadata`
  `getObject(String strFQID, boolean hashonly)`
  Deprecated.
  As of 9.2, complex objects are no longer stored in the ServerStore.
  `CMetadata`
  `getObjectInChildStore(String objectID)`
  Returns a CMetadata object in a child store.
  `MdStore`
  `getOwningStore()`
  Gets the MdStore that owns this store, returns null, no store should own the factory.
  `Map<String,CMetadata>`
  `getSimpleObjectMap()`
  Returns the Simple Object Map
  `int`
  `getStoreType()`
  Gets the type of store this is, either a `MdStore.MDSTORETYPE_SERVERSTORE` or a `MdStore.MDSTORETYPE_OBJECTSTORE`
  `boolean`
  `isChildUsingObject(String objectID)`
  Tells whether or not a child ObjectStore is using an object or not.
  `boolean`
  `isGoToServerForMetadata()`
  Tells whether or not to go to server for the metadata.
  `boolean`
  `isObjectInServerStore(String objectID)`
  Returns true if the object is cached in the server store
  `String`
  `makeID(String shortID)`
  Creates a new id for an object.
  `void`
  `MdObjectsAdded(MdEvent e, List items)`
  Event generated when objects are added to the Store's Map.
  `void`
  `MdObjectsModified(MdEvent e, List items)`
  Event generated when objects are modified in the Store.
  `void`
  `MdObjectsRemoved(MdEvent e, List items)`
  Event generated when objects are removed to the Store's Map.
  `void`
  `removeMdObjectListener(MdObjectListener l)`
  Used to remove an object from the list of listeners for changes in the Metadata Map
  `void`
  `removeMdStoreIDChangeListener(MdStoreIDChangeListener l)`
  Used to remove an object from the list of listeners for changes in the Metadata Map
  `void`
  `removeMdStoreListener(MdStoreListener l)`
  Used to remove an object from the list of listeners for changes in the Metadata Map
  `void`
  `removeStore(MdStore childStore)`
  Remove an object store from the factory for use.
  `void`
  `removeVetoableChangeListener(VetoableChangeListener l)`
  Removes a listener from the list of vetoable listners
  `void`
  `resetStates(List 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 owning store, which is not implemented for this `MdStore`
  `void`
  `updateCreatedItemsList(List<String> items)`
  remove the items that have been updated from the createdItems list.

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

  `addChildStore, createRefreshXMLforStore, isDisposed, removeChildStore`

- ## Method Details

  - ### getFactory

    MdFactory getFactory() throws RemoteException
    Returns the factory used to create objects.
    Specified by:
      `getFactory` in interface `MdStore`
    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.
    Specified by:
      `getIsGoToServerForMetadata` in interface `MdStore`
    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.
    Specified by:
      `setIsGotToServerForMetadata` in interface `MdStore`
    Parameters:
      `goToServer` - go for metadata
    Throws:
      `RemoteException`

  - ### isGoToServerForMetadata

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

  - ### setGoToServerForMetadata

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

  - ### setOwningStore

    void setOwningStore(MdStore parent) throws RemoteException
    Sets the owning store, which is not implemented for this `MdStore`
    Specified by:
      `setOwningStore` in interface `MdStore`
    Parameters:
      `parent` - MdStore
    Throws:
      `RemoteException`

  - ### getStoreType

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

  - ### getOwningStore

    MdStore getOwningStore() throws RemoteException
    Gets the MdStore that owns this store, returns null, no store should own the factory.
    Specified by:
      `getOwningStore` in interface `MdStore`
    Returns:
      MdStore
    Throws:
      `RemoteException`

  - ### getDetailObjectMap

    Map<String,CMetadata> getDetailObjectMap() throws RemoteException
    Deprecated.
    As of 9.2, the detailObjectMap is no longer used in the ServerStore. All objects should be created in an ObjectStore.
    Returns the Detail Object Map
    Specified by:
      `getDetailObjectMap` in interface `MdStore`
    Returns:
      The association Map
    Throws:
      `RemoteException`

  - ### getSimpleObjectMap

    Map<String,CMetadata> getSimpleObjectMap() throws RemoteException
    Returns the Simple Object Map
    Returns:
      The association Map
    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. NOT IMPLEMENTED
    Specified by:
      `deleteObject` in interface `MdStore`
    Parameters:
      `inObject` - CMetadata
    Returns:
      boolean if object was deleted
    Throws:
      `RemoteException`

  - ### deleteObjectFromStores

    void deleteObjectFromStores(String strFQID) throws RemoteException
    Delete the object from this store and all object stores.
    Parameters:
      `strFQID` - String object to be deleted from client
    Throws:
      `RemoteException`

  - ### makeID

    String makeID(String shortID) throws RemoteException
    Creates a new id for an object.
    Specified by:
      `makeID` in interface `MdStore`
    Parameters:
      `shortID` - String
    Returns:
      String of new ID
    Throws:
      `RemoteException`

  - ### restoreObject

    CMetadata restoreObject(String objectID) throws RemoteException
    Restores an object to the Store so that it is available from the store. NOT IMPLEMENTED.
    Specified by:
      `restoreObject` in interface `MdStore`
    Parameters:
      `objectID` - String
    Returns:
      CMetadata the object that was restored
    Throws:
      `RemoteException`

  - ### resetStates

    void resetStates(List items) throws RemoteException
    Resets all the objects in items to to set from server state or unSET. NOT IMPLEMENTED.
    Specified by:
      `resetStates` in interface `MdStore`
    Parameters:
      `items` - List
    Throws:
      `RemoteException`

  - ### deleteDetailMetadataObject

    void deleteDetailMetadataObject(String strFQID) throws RemoteException
    Deletes an object from the detail Map and fires the MetadataRemoved event.
    Parameters:
      `strFQID` - String
    Throws:
      `RemoteException`

  - ### dumpDetailHashMap

    void dumpDetailHashMap() throws RemoteException
    Prints out the contents of the Detail object Map.
    Specified by:
      `dumpDetailHashMap` in interface `MdStore`
    Throws:
      `RemoteException`

  - ### dumpDetailAllHashMaps

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

  - ### getObject

    CMetadata getObject(String strFQID, boolean hashonly) throws RemoteException
    Deprecated.
    As of 9.2, complex objects are no longer stored in the ServerStore. All objects should be created in an ObjectStore.
    Return object associated with ID
    Parameters:
      `strFQID` - String
      `hashonly` - boolean
    Returns:
      CMetadata Object with that id, or null if object not in Detail Map.
    Throws:
      `RemoteException`

  - ### getObject

    CMetadata getObject(String strFQID) throws RemoteException
    Deprecated.
    As of 9.2, complex objects are no longer stored in the ServerStore. All objects should be created in an ObjectStore.
    Return object associated with ID
    Specified by:
      `getObject` in interface `MdStore`
    Parameters:
      `strFQID` -
    Returns:
      CMetadata Object with that id, or null if object not in Detail Map.
    Throws:
      `RemoteException`

  - ### isObjectInServerStore

    boolean isObjectInServerStore(String objectID) throws RemoteException
    Returns true if the object is cached in the server store
    Parameters:
      `objectID` - the object id
    Returns:
      true if the object is in the server store, false otherwise
    Throws:
      `RemoteException`

  - ### changeHashKey

    void changeHashKey(String strOldId, String strNewId) throws RemoteException
    Change the hash key associated with an object, and notify listeners
    Specified by:
      `changeHashKey` in interface `MdStore`
    Parameters:
      `strOldId` - String
      `strNewId` - String
    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.
    Specified by:
      `createExternalIdentityObject` in interface `MdStore`
    Parameters:
      `owningObject` - CMetadata Object to which to attach ExternalIdentity.
    Throws:
      `RemoteException`

  - ### flushUpdates

    void flushUpdates(List<CMetadata> updatedItems) throws RemoteException
    Flush updated objects to parent store. NOT IMPLEMENTED
    Specified by:
      `flushUpdates` in interface `MdStore`
    Parameters:
      `updatedItems` - List
    Throws:
      `RemoteException`

  - ### dispose

    void dispose() throws RemoteException
    Removes objects not being used by any other objectStore.
    Specified by:
      `dispose` in interface `MdStore`
    Throws:
      `RemoteException`

  - ### removeStore

    void removeStore(MdStore childStore) throws RemoteException
    Remove an object store from the factory for use. Also removes any objects that are not being used by any other ObjectStore.
    Parameters:
      `childStore` - MdStore The store to remove.
    Throws:
      `RemoteException`

  - ### isChildUsingObject

    boolean isChildUsingObject(String objectID) throws RemoteException
    Tells whether or not a child ObjectStore is using an object or not.
    Parameters:
      `objectID` - String
    Returns:
      true if using object elsewhere, false if not.
    Throws:
      `RemoteException`

  - ### getObjectInChildStore

    CMetadata getObjectInChildStore(String objectID) throws RemoteException
    Returns a CMetadata object in a child store.
    Parameters:
      `objectID` - String
    Returns:
      the object in a child store, or null if the object cannot be found
    Throws:
      `RemoteException`

  - ### getChangedObjects

    List getChangedObjects() throws RemoteException
    Gets a List of changed objects.
    Specified by:
      `getChangedObjects` in interface `MdStore`
    Returns:
      An List of changed objects.
    Throws:
      `RemoteException`

  - ### MdObjectsAdded

    void MdObjectsAdded(MdEvent e, List items) throws RemoteException
    Event generated when objects are added to the Store's Map.
    Specified by:
      `MdObjectsAdded` in interface `MdStoreListener`
    Parameters:
      `e` - MdEvent
      `items` - List
    Throws:
      `RemoteException`

  - ### MdObjectsRemoved

    void MdObjectsRemoved(MdEvent e, List items) throws RemoteException
    Event generated when objects are removed to the Store's Map.
    Specified by:
      `MdObjectsRemoved` in interface `MdStoreListener`
    Parameters:
      `e` - MdEvent
      `items` - List
    Throws:
      `RemoteException`

  - ### MdObjectsModified

    void MdObjectsModified(MdEvent e, List items) throws RemoteException
    Event generated when objects are modified in the Store.
    Specified by:
      `MdObjectsModified` in interface `MdStoreListener`
    Parameters:
      `e` - MdEvent
      `items` - List
    Throws:
      `RemoteException`

  - ### addMdObjectListener

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

  - ### removeMdObjectListener

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

  - ### addMdStoreIDChangeListener

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

  - ### removeMdStoreIDChangeListener

    void removeMdStoreIDChangeListener(MdStoreIDChangeListener l) throws RemoteException
    Used to remove an object from the list of listeners for changes in the Metadata Map
    Parameters:
      `l` - MetadataListener
    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
    Specified by:
      `addMdStoreListener` in interface `MdStore`
    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
    Specified by:
      `removeMdStoreListener` in interface `MdStore`
    Parameters:
      `l` - MetadataListener
    Throws:
      `RemoteException`

  - ### addVetoableChangeListener

    void addVetoableChangeListener(VetoableChangeListener l) throws RemoteException
    Adds a listener to the list
    Specified by:
      `addVetoableChangeListener` in interface `MdStore`
    Parameters:
      `l` - VetoableChangeListener
    Throws:
      `RemoteException`

  - ### removeVetoableChangeListener

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

  - ### clearObjectsFromStore

    void clearObjectsFromStore() throws RemoteException
    Remove all non-deleted objects from the store and usage... **Note: doesn't handle deleted objects.
    Throws:
      `RemoteException`

  - ### getCreatedItemsList

    List getCreatedItemsList() throws RemoteException
    Returns the list of items created in current write.
    Returns:
      List
    Throws:
      `RemoteException`

  - ### updateCreatedItemsList

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