### *** This interface provides Binary Compatibility only, not Source Compatibility ***

Package com.sas.services.information

# Interface MetadataRepositoryInterface

All Superinterfaces:
  `Remote`, `RepositoryInterface`

@SASScope("ALL") @BinaryCompatibilityOnly public interface MetadataRepositoryInterface extends RepositoryInterface

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `TYPE_CUSTOM`
  String constant for OMR repository custom (dependent) type.
  `static final String`
  `TYPE_FOUNDATION`
  String constant for OMR repository foundation type.
  `static final String`
  `TYPE_PROJECT`
  String constant for OMR repository project (change managed) type.

  ### Fields inherited from interface com.sas.services.information.RepositoryInterface

  `PROFILE_BEST, PROFILE_NO, PROFILE_POSSIBLE`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addToCache(MetadataInterface newMetadata)`
  Add a MetadataInterface object to a repository's cache.
  `void`
  `appyACTToObj(String resource, String act)`
  Apply an AccessControlTemplate to a metadata object.
  `boolean`
  `connect(com.sas.meta.SASOMI.IOMI connection, String base)`
  Set up to use an existing IOMI connection.
  `void`
  `createAccessControTemplate(ACTEntry act)`
  Create a new AccessControlTemplate in this repository.
  `void`
  `destroyAccessControlTemplate(String act)`
  Destroy an AccessControlTemplate in the repository.
  `void`
  `freeCredentials(String credential)`
  Free a credential handle.
  `ACTEntry`
  `getAccessControlTemplateAttribs(String act)`
  Get attributes for an AccessControlTemplate.
  `List`
  `getAccessControlTemplateList(int flags)`
  Get the list of AccessControlTemplates for this repository.
  `List`
  `getACTsOnObj(String resource)`
  Get the AccessControlTemplates that are associated to an object.
  `String[][]`
  `getAuthorizations(String authType, String credHandle, String resource, String permission)`
  Get the authorization information for a metadata resource.
  `List`
  `getAuthorizationsOnObj(String resource, List identities, List permissions, int flags)`
  Get the authorizations on an object for the given identities and permissions.
  `List`
  `getChildren()`
  Get the list of repository id's that are "down" the dependency chain from the default repository.
  `int`
  `getCountNoSecurity(Filter filter, String association)`
  Perform a search operation against the metadata repository which will return a count of the matching objects, rather than the objects themselves.
  `Date`
  `getCreateDate(MetadataInterface mi)`
  `String`
  `getCredentials(String subject)`
  See the ISecurity interface documentation for a description of this method.
  `String`
  `getDefaultRepositoryId()`
  Get the FQID of the default repository.
  `String`
  `getDefaultRepositoryName()`
  Get the name of the default repository.
  `long`
  `getFolderItemRefreshInterval()`
  Get the interval for refreshing the folder's item list for objects retrieved through this repository instance.
  `long`
  `getFolderSubfolderRefreshInterval()`
  Get the interval for refreshing a folder's subfolder list for objects retrieved through this repository instance.
  `List`
  `getIdentitiesOnObj(String resource, int flags)`
  Get a List of identities associated with an object through authorizations.
  `String[][]`
  `getInheritedIdentities(MetadataInterface mi)`
  `String[][]`
  `getInheritedPermissions(IdentityInterface identity, MetadataInterface metadata, List permissions)`
  `Date`
  `getModifiedDate(MetadataInterface mi)`
  `int`
  `getOMRVersion()`
  Get the version of the Metadata Server we're taking to.
  `long`
  `getParentRefreshInterval()`
  Get the interval for refreshing an object's parent path information.
  `List`
  `getParents()`
  Get the list of repository id's that are "up" the dependency chain from the default repository.
  `List`
  `getPermissions()`
  Get a List of Permission objects from the metadata server.
  `List`
  `getPredefinedPropertyTypes()`
  Get the PropertyType objects from the "Entity Property Types" group.
  `List`
  `getRepositories()`
  Get a List of MetadataInterface objects that enumerate the Repositories contained in the OMR server we're currently connected to.
  `String`
  `getRepositoryType()`
  Get the type of this repository.
  `boolean`
  `isAuthorized(MetadataInterface mi, String permission)`
  `boolean`
  `isAuthorized(String credential, String resource, String permission)`
  Check authorization status for a given credential, resource, and permission.
  `AuthResult`
  `isAuthorizedWithConditions(String credential, String resource, String permission)`
  Check authorization status for a given credential, resource, and permission.
  `boolean`
  `isChild(RepositoryInterface repos)`
  Return a flag indicating if the repository provided is a child of the default repository.
  `boolean`
  `isChild(String repositoryID)`
  Return a flag indicating if the repository specified by repositoryID is a dependent child of the default repository.
  `boolean`
  `isInChild(MetadataInterface metadata)`
  Return a flag indicating if the metadata object is in a dependent child repository to the default one.
  `boolean`
  `isInParent(MetadataInterface metadata)`
  Return a flag indicating if the metadata object is in a parent repository to the default one.
  `boolean`
  `isInProject(MetadataInterface metadata)`
  Returns a flag indicating if the object came from a project repository.
  `boolean`
  `isParent(RepositoryInterface repos)`
  Return a flag indicating if the repository provided is a parent of the default repository.
  `boolean`
  `isParent(String repositoryID)`
  Return a flag indicating if the repository specified by repositoryID is a parent of the default repository.
  `void`
  `removeACTFromObj(String resource, String act)`
  Remove an AccessControlTemplate from a metadata object.
  `void`
  `setAccessControlTemplateAttribs(ACTEntry act)`
  Set attributes on an AccessControlTemplate.
  `void`
  `setAuthorizationsOnObj(String resource, List authorizations, int flags)`
  Set authorizations on a metadata object.
  `void`
  `setFolderItemRefreshInterval(long msecInterval)`
  Set the interval for refreshing the folder's item list for objects retrieved through this repository instance.
  `void`
  `setFolderSubfolderRefreshInterval(long msecInterval)`
  Set the interval for refreshing a folder's subfolder list for objects retrieved through this repository instance.
  `void`
  `setParentRefreshInterval(long msecInterval)`
  Set the interval for refreshing an object's parent path information.

  ### Methods inherited from interface com.sas.services.information.RepositoryInterface

  `addEntity, addListener, addRootFolder, browseFetch, browseFolder, browseFolderRecursive, browseObjectByPath, browseSearch, close, connect, connect, connectWithProxy, deleteEntity, factoryProcess, factoryTest, fetch, fetch, fetchByUrl, fromByteArry, getBase, getCacheStatistics, getDomain, getEvaluator, getFactoryKey, getHost, getIdentity, getISName, getObjectByPath, getObjectByPath, getObjectByPath, getObjectByPathString, getPort, getPrincipal, getRootFolder, getRootFolders, getServer, getTrackedObject, getUniqueId, getUrl, getUser, getUserContext, isDestroyed, isEqual, isProfileRepository, makeRootFolder, narrow, newChild, newMetadata, newMetadata, newMetadataByModel, produceDefaultMetadata, refreshAllData, refreshEntity, removeListener, removeRootFolder, search, searchTree, searchTree, searchTreeFromBase, searchTreeFromBaseWithScope, setDomain, setISName, setUser, setUserContext, toByteArray`

- ## Field Details

  - ### TYPE_FOUNDATION

    static final String TYPE_FOUNDATION
    String constant for OMR repository foundation type.
    See Also:
      - Constant Field Values

  - ### TYPE_CUSTOM

    static final String TYPE_CUSTOM
    String constant for OMR repository custom (dependent) type.
    See Also:
      - Constant Field Values

  - ### TYPE_PROJECT

    static final String TYPE_PROJECT
    String constant for OMR repository project (change managed) type.
    See Also:
      - Constant Field Values

- ## Method Details

  - ### getInheritedPermissions

    String[][] getInheritedPermissions(IdentityInterface identity, MetadataInterface metadata, List permissions) throws ServiceException, RemoteException
    Throws:
      `ServiceException`
      `RemoteException`

  - ### getInheritedIdentities

    String[][] getInheritedIdentities(MetadataInterface mi) throws ServiceException, RemoteException
    Throws:
      `ServiceException`
      `RemoteException`

  - ### isAuthorized

    boolean isAuthorized(MetadataInterface mi, String permission) throws ServiceException, RemoteException
    Throws:
      `ServiceException`
      `RemoteException`

  - ### connect

    boolean connect(com.sas.meta.SASOMI.IOMI connection, String base) throws ServiceException, RemoteException
    Set up to use an existing IOMI connection.

    Parameters:
      `connection` - The IOMI connection to use to communicate with the OMR server.
      `base` - The default repository name to use.
    Returns:
      True if the connect is successful, false otherwise.
    Throws:
      `ServiceException` - on repository errors.
      `RemoteException` - in the event of remote object failure.

  - ### getRepositories

    List getRepositories() throws ServiceException, RemoteException
    Get a List of MetadataInterface objects that enumerate the Repositories contained in the OMR server we're currently connected to. The name and ID of the repositories can be obtained using the getName() and getReposId() methods respectively.

    Returns:
      A List of MetadataInterface objects representing the repositories.
    Throws:
      `ServiceException` - in the event of repository failure.
      `RemoteException` - in the event of remote object failure.

  - ### getDefaultRepositoryName

    String getDefaultRepositoryName() throws RemoteException
    Get the name of the default repository.

    Returns:
      The deafult repository name, or null if it wasn't set.
    Throws:
      `RemoteException` - in the event of remote object failure.

  - ### getDefaultRepositoryId

    String getDefaultRepositoryId() throws RemoteException
    Get the FQID of the default repository.

    Returns:
      The FQID of the default repository, or null if it wasn't set.
    Throws:
      `RemoteException` - in the event of remote object failure.

  - ### getCredentials

    String getCredentials(String subject) throws ServiceException, RemoteException
    See the ISecurity interface documentation for a description of this method.
    Parameters:
      `subject` - The subject for which to get a credential handle.
    Returns:
      A credential handle for the requested subject.
    Throws:
      `ServiceException` - in the event of repository errors.
      `RemoteException` - in the event of remote object failure.

  - ### freeCredentials

    void freeCredentials(String credential) throws ServiceException, RemoteException
    Free a credential handle. See the ISecurity interface documentation for a description of this method. This method must be called for any credential retrieved with a getCredentials call.
    Parameters:
      `credential` - The credential to free.
    Throws:
      `ServiceException` - in the event of repository errors.
      `RemoteException` - in the event of remote object failure.

  - ### isAuthorized

    boolean isAuthorized(String credential, String resource, String permission) throws ServiceException, RemoteException
    Check authorization status for a given credential, resource, and permission.
    Parameters:
      `credential` - A credential handle. If this is null, the current authenticated user is checked for permission.
      `resource` - A resource string of the form OMSOBJ:type/FQID which represents the object whose permissions are being checked.
      `permission` - A permission or comma-separated list of permissions to check against the user's authorized permissions for the resource.
    Returns:
      true if the user is granted the requested permissions, false otherwise.
    Throws:
      `ServiceException` - in the event of repository errors.
      `RemoteException` - in the event of remote object failure.

  - ### isAuthorizedWithConditions

    AuthResult isAuthorizedWithConditions(String credential, String resource, String permission) throws ServiceException, RemoteException
    Check authorization status for a given credential, resource, and permission. See the ISecurity interface documentation for a more complete description.
    Parameters:
      `credential` - A credential handle. If this is null, the current authenticated user is checked for permission.
      `resource` - A resource string of the form OMSOBJ:type/FQID which represents the object whose permissions are being checked.
      `permission` - A permission or comma-separated list of permissions to check against the user's authorized permissions for the resource.
    Returns:
      An AuthResult object with a boolean indicating whether the user has the requested permissions granted, and possibly a condition string.
    Throws:
      `ServiceException` - in the event of repository errors.
      `RemoteException` - in the event of remote object failure.

  - ### getAuthorizations

    String[][] getAuthorizations(String authType, String credHandle, String resource, String permission) throws ServiceException, RemoteException
    Get the authorization information for a metadata resource. See the ISecurity interface documentation for a more complete description.
    Parameters:
      `authType` - The type of authorization check to perform.
      `credHandle` - A credential handle. If null, the current user's authorizations for the resource are checked.
      `resource` - A string of the form OMSOBJ:type/FQID representing the metadata object to be checked.
      `permission` - A permission string, or a comma-separated list of permissions to check.
    Returns:
      A two-dimensional array of strings. The exact layout and meaning of the of the result array depends on the value of authType.
    Throws:
      `ServiceException` - in the event of repository errors.
      `RemoteException` - in the event of remote object failure.

  - ### getCountNoSecurity

    int getCountNoSecurity(Filter filter, String association) throws ServiceException, RemoteException
    Perform a search operation against the metadata repository which will return a count of the matching objects, rather than the objects themselves. The search is done with security off. In this way, an application can determine if objects exist even if they can't read those objects.
    Parameters:
      `filter` - A Filter specifying the selection criteria as well as any template that's desired for the operation.
      `association` - An optional parameter that requests that a specific association be counted rather than the top level objects. If this is used, only one top level object can be returned by the filter, and a template must be supplied to return the association to count.
    Returns:
      The count of matching objects.
    Throws:
      `ServiceException` - In the event of a server error.
      `RemoteException` - In the event of remote object failure.

  - ### getCreateDate

    Date getCreateDate(MetadataInterface mi) throws ServiceException, RemoteException
    Throws:
      `ServiceException`
      `RemoteException`

  - ### getModifiedDate

    Date getModifiedDate(MetadataInterface mi) throws ServiceException, RemoteException
    Throws:
      `ServiceException`
      `RemoteException`

  - ### getRepositoryType

    String getRepositoryType() throws RemoteException
    Get the type of this repository. For SAS Metadata servers, this is FOUNDATION, CUSTOM, or PROJECT.
    Returns:
      The type of this repository (FOUNDATION, CUSTOM, or PROJECT). This call is only valid if the default repository has been set. Returns null if there's no default repository.
    Throws:
      `RemoteException` - in the event of remote object failure.

  - ### isChild

    boolean isChild(String repositoryID) throws RemoteException
    Return a flag indicating if the repository specified by repositoryID is a dependent child of the default repository.
    Parameters:
      `repositoryID` - The ID of the repository to check.
    Returns:
      True if the repository is a dependent child, false otherwise.
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### isChild

    boolean isChild(RepositoryInterface repos) throws RemoteException
    Return a flag indicating if the repository provided is a child of the default repository.
    Parameters:
      `repos` - The repository to check.
    Returns:
      True if the repository is a child of this one, false otherwise.
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### isInChild

    boolean isInChild(MetadataInterface metadata) throws RemoteException
    Return a flag indicating if the metadata object is in a dependent child repository to the default one.
    Parameters:
      `metadata` - The metadata object to check.
    Returns:
      True if the object is in a dependent child repository, false otherwise.
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### isParent

    boolean isParent(String repositoryID) throws RemoteException
    Return a flag indicating if the repository specified by repositoryID is a parent of the default repository.
    Parameters:
      `repositoryID` - The ID of the repository to check.
    Returns:
      True if the repository is a parent, false otherwise.
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### isParent

    boolean isParent(RepositoryInterface repos) throws RemoteException
    Return a flag indicating if the repository provided is a parent of the default repository.
    Parameters:
      `repos` - The repository to check.
    Returns:
      True if the repository is a parent of this one, false otherwise.
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### isInParent

    boolean isInParent(MetadataInterface metadata) throws RemoteException
    Return a flag indicating if the metadata object is in a parent repository to the default one.
    Parameters:
      `metadata` - The metadata object to check.
    Returns:
      True if the object is in a parent repository, false otherwise.
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### isInProject

    boolean isInProject(MetadataInterface metadata) throws RemoteException
    Returns a flag indicating if the object came from a project repository. This is used when searches are made "down" the dependency chain to prevent returning project data.
    Parameters:
      `metadata` - The object to check for project membership.
    Returns:
      true if the object is in a project repository, false otherwise.
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### getParents

    List getParents() throws RemoteException
    Get the list of repository id's that are "up" the dependency chain from the default repository.
    Returns:
      a List of repository id's that are parents of the default repository.
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### getChildren

    List getChildren() throws RemoteException
    Get the list of repository id's that are "down" the dependency chain from the default repository.
    Returns:
      A List of repository id's that are children of the default repository.
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### setFolderItemRefreshInterval

    void setFolderItemRefreshInterval(long msecInterval) throws RemoteException
    Set the interval for refreshing the folder's item list for objects retrieved through this repository instance.
    Parameters:
      `msecInterval` - The interval in milliseconds after which a folder's item information is considered stale.
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### getFolderItemRefreshInterval

    long getFolderItemRefreshInterval() throws RemoteException
    Get the interval for refreshing the folder's item list for objects retrieved through this repository instance.
    Returns:
      The interval in milliseconds after which a folder's item information is considered stale.
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### setFolderSubfolderRefreshInterval

    void setFolderSubfolderRefreshInterval(long msecInterval) throws RemoteException
    Set the interval for refreshing a folder's subfolder list for objects retrieved through this repository instance.
    Parameters:
      `msecInterval` - The interval in milliseconds after which a folder's subfolder information is considered stale.
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### getFolderSubfolderRefreshInterval

    long getFolderSubfolderRefreshInterval() throws RemoteException
    Get the interval for refreshing a folder's subfolder list for objects retrieved through this repository instance.
    Returns:
      The interval in milliseconds after which a folder's subfolder information is considered stale.
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### setParentRefreshInterval

    void setParentRefreshInterval(long msecInterval) throws RemoteException
    Set the interval for refreshing an object's parent path information.
    Parameters:
      `msecInterval` - The interval in milliseconds after which an object's parent information is considered stale.
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### getParentRefreshInterval

    long getParentRefreshInterval() throws RemoteException
    Get the interval for refreshing an object's parent path information.
    Returns:
      The interval in milliseconds after which an object's parent folder information is considered stale.
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### getAuthorizationsOnObj

    List getAuthorizationsOnObj(String resource, List identities, List permissions, int flags) throws ServiceException, RemoteException
    Get the authorizations on an object for the given identities and permissions.
    Parameters:
      `resource` - The resource string of the object to test. A resource string should be of the form OMSOBJ:obj_type/obj_ID (e.g., OMSOBJ:PhysicalTable/A5DRX6L4.AJ00001Z).
      `identities` - A List of `IdentityInterface` objects for the users to test permissions for. If left null, all identities are returned.
      `permissions` - A List of `Permission` objects specifying the permissions to check. If null, all permissions for all specified identities on the object are returned.
      `flags` - Flags which control the return values. Valid flags are: ISecurityAdmin.SECAD_ACT_CONTENTS and ISecurityAdmin.SECAD_DO_NOT_RETURN_PERMCOND. See the documentation for ISecurityAdmin.GetAuthorizationsOnObj for more details.
    Returns:
      A List of AuthResult objects with the resulting authorization data.
    Throws:
      `ServiceException` - if a service level error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### setAuthorizationsOnObj

    void setAuthorizationsOnObj(String resource, List authorizations, int flags) throws ServiceException, RemoteException
    Set authorizations on a metadata object.
    Parameters:
      `resource` - The resource string of the object to test. A resource string should be of the form OMSOBJ:obj_type/obj_ID (e.g., OMSOBJ:PhysicalTable/A5DRX6L4.AJ00001Z).
      `authorizations` - A List of `Authorization` objects defining the authorizations to set on the object.
      `flags` - Controls the behavior of the method. The only valid flag as of this writing is ISecurityAdmin.SECAD_ACT_CONTENTS. Check the documentation for the ISecurityAdmin interface for details.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getIdentitiesOnObj

    List getIdentitiesOnObj(String resource, int flags) throws ServiceException, RemoteException
    Get a List of identities associated with an object through authorizations.
    Parameters:
      `resource` - The resource string of the object to test. A resource string should be of the form OMSOBJ:obj_type/obj_ID (e.g., OMSOBJ:PhysicalTable/A5DRX6L4.AJ00001Z).
      `flags` - Zero or ISecurityAdmin.SECAD_ACT_CONTENTS. See the javadoc for ISecurityAdmin for more information.
    Returns:
      A List of identities as Strings in the form of type/name.

      examples:
      Person/Gary Williams IdentityGroup/PUBLIC

    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getACTsOnObj

    List getACTsOnObj(String resource) throws ServiceException, RemoteException
    Get the AccessControlTemplates that are associated to an object.
    Parameters:
      `resource` - The resource string of the object to test. A resource string should be of the form OMSOBJ:obj_type/obj_ID (e.g., OMSOBJ:PhysicalTable/A5DRX6L4.AJ00001Z).
    Returns:
      A List of ACTEntry objects describing the ACT's associated to the object.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of a remote object failure.

  - ### appyACTToObj

    void appyACTToObj(String resource, String act) throws ServiceException, RemoteException
    Apply an AccessControlTemplate to a metadata object.
    Parameters:
      `resource` - The resource string of the object to test. A resource string should be of the form OMSOBJ:obj_type/obj_ID (e.g., OMSOBJ:PhysicalTable/A5DRX6L4.AJ00001Z).
      `act` - The resource string representing the AccessControlTemplate. It's the same format as the resource parameter.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of a remote object failure.

  - ### removeACTFromObj

    void removeACTFromObj(String resource, String act) throws ServiceException, RemoteException
    Remove an AccessControlTemplate from a metadata object.
    Parameters:
      `resource` - The resource string of the object to modify. A resource string should be of the form OMSOBJ:obj_type/obj_ID (e.g., OMSOBJ:PhysicalTable/A5DRX6L4.AJ00001Z).
      `act` - The resource string representing the AccessControlTemplate. It's the same format as the resource parameter.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of a remote object failure.

  - ### getAccessControlTemplateList

    List getAccessControlTemplateList(int flags) throws ServiceException, RemoteException
    Get the list of AccessControlTemplates for this repository.
    Parameters:
      `flags` - zero or ISecurityAdmin.SECAD_REPOSITORY_DEPENDENCY_USES to get AccessControlTemplates for repositories up the dependency chain from this one.
    Returns:
      A List of ACTEntry objects with the information about the ACTs in this repository.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### createAccessControTemplate

    void createAccessControTemplate(ACTEntry act) throws ServiceException, RemoteException
    Create a new AccessControlTemplate in this repository.
    Parameters:
      `act` - An ACTEntry describing the new entry. The name must be set. The description may be set, and the use parameter should be left null, or set to "REPOS" if this is to become the new repository default ACT (if you have permission to perform that operation).
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### destroyAccessControlTemplate

    void destroyAccessControlTemplate(String act) throws ServiceException, RemoteException
    Destroy an AccessControlTemplate in the repository.
    Parameters:
      `act` - The resource ID of the ACT. A resource string should be of the form OMSOBJ:obj_type/obj_ID (e.g., OMSOBJ:AccessControlTemplate/A5DRX6L4.AJ00001Z).
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setAccessControlTemplateAttribs

    void setAccessControlTemplateAttribs(ACTEntry act) throws ServiceException, RemoteException
    Set attributes on an AccessControlTemplate. I'm assuming that ACT names and descriptions don't really change that much, so I guess the main use for this method is to make an existing ACT the repository default;
    Parameters:
      `act` - An ACTEntry object with the new information about the ACT. Set the use parameter in the ACTEntry to "REPOS" to make it the repository default, and be sure you have the necessary permissions to do it or expect an exception.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getAccessControlTemplateAttribs

    ACTEntry getAccessControlTemplateAttribs(String act) throws ServiceException, RemoteException
    Get attributes for an AccessControlTemplate.
    Parameters:
      `act` - The resource ID of the ACT. A resource string should be of the form OMSOBJ:obj_type/obj_ID (e.g., OMSOBJ:AccessControlTemplate/A5DRX6L4.AJ00001Z).
    Returns:
      An ACTEntry with the information about the ACT.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getOMRVersion

    int getOMRVersion() throws ServiceException, RemoteException
    Get the version of the Metadata Server we're taking to. It should be an int of the form: major * 1000 + minor * 100 + patch * 10 + SP So 9.1.3 SP3 is 9133 and 9.2 is 9200.
    Returns:
      An integer representing the metadata server version.
    Throws:
      `ServiceException` - If a server error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getPermissions

    List getPermissions() throws ServiceException, RemoteException
    Get a List of Permission objects from the metadata server. This method's only purpose for existing is to support the method that adds permissions on a metadata object. Since the permissions are quite static, if the Repository instance reads them and saves them, it can save a lot of trips to the server.
    Returns:
      A List of `MetadataInterface` objects representing the Permissions in the metadata server.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getPredefinedPropertyTypes

    List getPredefinedPropertyTypes() throws ServiceException, RemoteException
    Get the PropertyType objects from the "Entity Property Types" group. This group has, as its members, a set of commonly used property types for shared use.
    Returns:
      A List of `MetadataInterface` objects representing the defined property types.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### addToCache

    void addToCache(MetadataInterface newMetadata) throws ServiceException, RemoteException
    Add a MetadataInterface object to a repository's cache. This will normally be called only from a smart object's constructor, not by client code.
    Parameters:
      `newMetadata` - The new metadata object to add to the cache.
    Throws:
      `ServiceException` - If an error occurs while adding the new object to the cache.
      `RemoteException` - In the event of remote object failure.