Interface MetadataInterface

All Superinterfaces:
PublicObjectInterface, Remote
All Known Subinterfaces:
AbstractPropertyInterface, AccessControlEntryInterface, AccessControlTemplateInterface, ActionInterface, AnalyticTableInterface, ApplicationInterface, ArchiveInterface, AssociationPropertyInterface, AttributePropertyInterface, AuthenticationDomainInterface, BaseOMRPromptInterface, BookmarkEntryInterface, ChannelInterface, ClassifierInterface, ColumnContainerInterface, ColumnHierarchyInterface, ColumnInterface, COMConnectionInterface, ConditionActionSetInterface, ConditionInterface, ConfigurationXMLTextStoreInterface, ConfiguredComponentInterface, ConnectionInterface, ConnectServerInterface, ConnectSpawnerInterface, ContentInterface, ContentSubscriberGroupInterface, ContentSubscriberInterface, CubeInterface, DatabaseCatalogInterface, DatabaseSchemaInterface, DataExplorationEntryInterface, DataStepBatchServerInterface, DataTableInterface, DataTableRoleInterface, DavBinaryPackageInterface, com.sas.services.information.metadata.DeployedDataPackageInterface, DirectiveInterface, DirectoryInterface, DocumentInterface, EmailInterface, EventInterface, EventSubscriberGroupInterface, EventSubscriberInterface, ExtensionInterface, ExternalIdentityInterface, ExternalTableInterface, FavoritesContainer, FavoritesFolder, FavoritesGroup, FileInterface, FilteredFolderInterface, FilteredRepositoryInterface, FolderInterface, ForeignKeyInterface, FtpServerInterface, GeneratedTransformInterface, GridApplicationInterface, GridMonitoringServerInterface, GridServerInterface, GroupInterface, HostInterface, HttpServerInterface, IdentityGroupInterface, IdentityInterface, IndexInterface, JavaBatchServerInterface, JobInterface, KeyAssociationInterface, LocationInterface, LogicalConnectServerInterface, LogicalDataStepBatchServerInteface, LogicalGridServerInterface, LogicalJavaBatchServerInterface, LogicalOSServerInterface, LogicalServerInterface, LoginInterface, MessageQueueInterface, MSMQQueueManagerInterface, MyDocumentsInterface, MyInboxInterface, MyResultsInterface, NoteInterface, OLAPSchemaInterface, OMRPromptGroupInterface, OperatingSystemServerInterface, OracleServerInterface, PackageEventInterface, PackageInterface, PersonalRepositoryInterface, PersonInterface, PhoneNumberInterface, PhysicalTableInterface, ProfileReportInterface, PropertyGroupInterface, PropertyInterface, PropertySetInterface, PrototypeInterface, PrototypePropertyInterface, ProxyInterface, ProxyListInterface, PublishDirectoryInterface, QueryClauseInterface, QueueManagerInterface, RelationalKeyInterface, RelationalSchemaInterface, RelationalTableInterface, RemarksInterface, RoleInterface, RootFolderInterface, SASClientConnectionInterface, SasInProcessServerInterface, SASLibraryInterface, SearchFolder, ServerComponentInterface, ServerContextInterface, ServerInterface, ServiceTypeInterface, SharedDimensionInterface, ShareServerInterface, SoftwareComponentInterface, SPDSServerInterface, StoredProcessAlertItemInterface, StoredProcessInterface, SubscriberInterface, TableServerInterface, TCPIPConnectionInterface, TextStoreInterface, TransformationInterface, VirtualFolderInterface, WebsphereQueueManagerInterface
All Known Implementing Classes:
AllUsersIdentity, Application, AuthenticatedIdentity, Content, DAVAccessControlEntry, DavBinaryPackage, DavEvent, DavPerson, FilteredFolder, FilteredRepository, Folder, Metadata, MyDocuments, MyInbox, MyResults, com.sas.services.information.metadata.OMRConnection, OMRDatabaseServer, OMRGridApplication, OMRHadoopServer, OMRHost, OMRPostgresServer, OMRPromptDefinition, OMRPromptGroup, OMRProxy, OMRProxyList, OMRSAPServer, com.sas.services.information.metadata.OMRServer, com.sas.services.information.metadata.OMRServerComponent, com.sas.services.information.metadata.OMRSoftwareComponent, OMRSPDSServer, com.sas.services.information.metadata.OMRTCPIPConnection, OMRTransformation, PersonalRepository, PropertyIdentity, ReferenceIdentity, Remarks, RepositoryMetadata, SelfIdentity, ServerVirtualFolder, StoredProcessAlertItem, UnauthenticatedIdentity, VirtualFolder, VirtualMetadata

public interface MetadataInterface extends PublicObjectInterface
This is a generic interface for "smart" classes that bridge the gap between disparate repositories.
Since:
1.0
  • Field Details

    • METADATA_STATE_NEW

      static final int METADATA_STATE_NEW
      The object has been created, but not persisted to the metadata store.
      See Also:
    • METADATA_STATE_NORMAL

      static final int METADATA_STATE_NORMAL
      The object is backed by a persisted representation in the store. This does not indicate that the object has or has not been modified.
      See Also:
    • METADATA_STATE_DELETED

      static final int METADATA_STATE_DELETED
      The object has been deleted from the backing store and (possibly pending an update) is no longer represented there.
      See Also:
    • METADATA_STATE_DESTROYED

      static final int METADATA_STATE_DESTROYED
      The object's backing infrastructure (repository connection, etc.) has been closed and this object can no longer be expected to operate in a predictable manner.
      See Also:
    • PERMISSION_READMETADATA

      static final String PERMISSION_READMETADATA
      Permission string for read metadata permission.
      See Also:
    • PERMISSION_WRITEMETADATA

      static final String PERMISSION_WRITEMETADATA
      Permission string for write metadata permission.
      See Also:
  • Method Details

    • getReposId

      String getReposId() throws RemoteException
      Get the repository ID for the item. This should be a string that uniquely identifies the object within this repository.

      Returns:
      The repository identifier for this object.
      Throws:
      RemoteException - if an error occurs
    • getRepositoryName

      String getRepositoryName() throws RemoteException
      Get the repository name that this object resides in. If this is an OMR object, it returns the repository name, otherwise it returns the repository's Information Service configured name.
      Returns:
      The repository name.
      Throws:
      RemoteException - In the event of remote object failure.
    • getState

      int getState() throws RemoteException
      Get the state of this metadata object.
      Returns:
      An int represtenting the state of this object. Will be one of the Metadata.METADATA_STATE_* statics.
      Throws:
      RemoteException - in the event of remote object failure.
    • isDeleted

      boolean isDeleted() throws RemoteException
      Returns true if the delete method has been called on this object.
      Returns:
      True if delete has been called, false otherwise.
      Throws:
      RemoteException
    • setDeleted

      void setDeleted() throws RemoteException
      Mark this object deleted. This gets done automatically if delete is called through the MetadataInterface, but if the object is deleted through some other mechanism, this will indicate that the smart object is no longer usable. Clients should generally not use this method. It doesn't actually delete the object. Use the delete method for that.
      Throws:
      RemoteException - In the event of remote object failure.
    • isDestroyed

      boolean isDestroyed() throws RemoteException
      Returns true if the backing connection, or infrastructure has been closed, rendering this object unusable.
      Returns:
      True if the object has been destroyed.
      Throws:
      RemoteException
    • destroy

      void destroy() throws RemoteException
      Destroy this object, clearing any object references, freeing any resources in use, and rendering it unusable for future use.
      Throws:
      RemoteException
    • setName

      void setName(String name) throws RemoteException
      Set this object's name.

      Parameters:
      name - a String for the object name.
      Throws:
      RemoteException - if an error occurs
    • getDescription

      String getDescription() throws RemoteException
      Get the description for this object.

      Returns:
      The object description.
      Throws:
      RemoteException - if an error occurs
    • setDescription

      void setDescription(String description) throws RemoteException
      Sets the description for this object.

      Parameters:
      description - The object description.
      Throws:
      RemoteException - if an error occurs
    • getGUID

      String getGUID() throws RemoteException
      Get the object GUID.
      Returns:
      a string representing a unique ID for the object.
      Throws:
      RemoteException - if an error occurs
    • setGUID

      void setGUID(String guid) throws RemoteException, IllegalStateException
      Set the object GUID. This doesn't allow the GUID to be changed. If the current GUID is non-null, it throws IllegalStateException.

      Parameters:
      guid - A string representing a Globally Unique Identifier. This class won't generate or verify the GUID, so be sure it's valid.
      Throws:
      RemoteException - if an error occurs
      IllegalStateException - if the GUID has already been set.
    • getType

      String getType() throws RemoteException
      Get the object type. Subclasses of Metadata will return a repository-neutral type string. If no subclass exists, Metadata returns the repository-specific type.
      Returns:
      A type string for the object.
      Throws:
      RemoteException - if an error occurs
    • add

      void add() throws ServiceException, RemoteException
      Add a new metadata item to the repository.

      Throws:
      ServiceException - If there's a repository error.
      RemoteException - in the event of a network error.
    • update

      void update() throws ServiceException, RemoteException
      Persist any changes to the object back to the repository. This is not done automatically in most cases. Any change to metadata requires an update call to write it to the back end server.

      Throws:
      ServiceException - if an error occurs in the repository.
      RemoteException - if an error occurs
    • refresh

      void refresh() throws ServiceException, RemoteException
      Refresh the data for this object from the repository.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • delete

      void delete() throws ServiceException, RemoteException
      Delete this object from its repository. This may be overridden by subclasses to perform clean up operations on other objects that may be dependent on this one.

      Throws:
      ServiceException - in the event of a repository failure.
      RemoteException - in the event of a network failure.
    • getTrackingId

      int getTrackingId() throws RemoteException
      Get the tracking ID for this object. This is generated on a per-JVM basis, and incremented for every MetadataInterface object that gets instantiated.

      Returns:
      The tracking ID.
      Throws:
      RemoteException - if an error occurs
    • getRepositoryEntity

      Object getRepositoryEntity() throws RemoteException
      Get the object that was returned directly from the repository. In the case of OMR data, this will be a CMetadata subclass. For LDAP, it will be a com.sas.services.information.metadata.ldap.LdapEntity subclass.

      Returns:
      The repository-specific object.
      Throws:
      RemoteException - if an error occurs
    • getEntityKey

      String getEntityKey() throws IllegalStateException, ServiceException, RemoteException
      Get the entity key for this item. The key should have sufficient information to look up the object again at a later time.

      Returns:
      The entity key.
      Throws:
      IllegalStateException - If the repository hasn't been set on this object.
      ServiceException - If an error occurs getting the repository URL.
      RemoteException - if an error occurs
    • getEntityURL

      String getEntityURL() throws ServiceException, RemoteException
      Get a "standard" URL for a metadata object. The entity key, while in a URL-ish format, has some extra stuff on it. This method returns a string that can be passed as-is to the Information Service fetchEntityByURL method.
      Returns:
      A URL string representing this metadata object.
      Throws:
      ServiceException - In the event of a service failure.
      RemoteException - In the event of remote object failure.
    • setRepository

      void setRepository(RepositoryInterface repository) throws IllegalStateException, RemoteException
      Set the repository that this item exists in.

      Parameters:
      repository - A handle to the repository for this object.
      Throws:
      IllegalStateException - If the repository has already been set.
      RemoteException - if an error occurs
    • getRepository

      RepositoryInterface getRepository() throws RemoteException
      Get the handle to the repository for this object.

      Returns:
      A handle to the repository this item exists in.
      Throws:
      RemoteException - if an error occurs
    • getKeywords

      List getKeywords() throws RemoteException
      Get a list of keywords associated with this object.

      Returns:
      A List of String keywords.
      Throws:
      RemoteException - if an error occurs
    • addKeyword

      void addKeyword(String keyword) throws ServiceException, RemoteException
      Add a keyword to this object.

      Parameters:
      keyword - a new String to add as a keyword.
      Throws:
      ServiceException - if an error occurs in the repository.
      RemoteException - if an error occurs
    • removeKeyword

      void removeKeyword(String keyword) throws RemoteException
      Remove a keyword from this object.

      Parameters:
      keyword - The keyword to remove.
      Throws:
      RemoteException - if an error occurs
    • setKeywords

      void setKeywords(List keywords) throws ServiceException, RemoteException
      Set the keyword collection on this object.

      Parameters:
      keywords - The list of keywords to set on this object.
      Throws:
      ServiceException - In the event of repository failure.
      RemoteException - In the event of network failure.
    • getPath

      String getPath(String rootFolderName) throws ServiceException, RemoteException
      Get the preferred path for this object.

      Find the preferred path from the specified root folder to the current object. A single object may have multiple valid paths. Use the getPaths method to find all valid paths.

      The path is intended to be a user friendly name for an object. Applications that do not require user-visible URLs to objects should probably use the repository ID of the object instead of the path. An object path can easily be invalidated by renaming the object or any of the folders in the path.

      Note: For OMR, Folders are modeled with the Tree object. This method must trace up the Trees association from the current object, through any intermediate Tree objects until it finds a root Tree object with the proper name. A root Tree will have no Trees associations. The path is contructed by concatenating all of the intervening Tree objects (not including the root Tree) and the current object using a forward slash as a delimiting character. The preferred path is the first path found by a depth-first scan of the Trees associations starting at the current object.

      Note also that a path alone is not sufficient to find an object. You must have a repository, a root folder, a path and an object type to find a valid object (or objects if name uniqueness is not enforced).

      Parameters:
      rootFolderName - Name of the root folder for the path.
      Returns:
      A string path or null if no valid path exists from the specified root folder to the current object.
      Throws:
      ServiceException - if an error occurs
      RemoteException - if an error occurs
    • getParentPath

      String getParentPath(String rootFolderName) throws ServiceException, RemoteException
      Get the parent path for this object. It includes the path from the root tree object to the folder that contains this object. The object name itself isn't included.

      Parameters:
      rootFolderName - Name of the root folder for the path. If null is passed in, the default BIP tree name is used.
      Returns:
      A string path or null if no valid path exists from the specified root folder to the current object.
      Throws:
      ServiceException - in the event of repository errors.
      RemoteException - in the event of remote object failure.
    • getPaths

      List getPaths(String rootFolderName) throws ServiceException, RemoteException
      Get all valid paths for this object.

      Parameters:
      rootFolderName - Name of the root folder for the path.
      Returns:
      A List of String paths or null if no valid path exists from the specified root folder to the current object.
      Throws:
      ServiceException - if an error occurs
      RemoteException - if an error occurs
    • newServiceObject

      Object newServiceObject() throws ServiceException, RemoteException
      For objects that support it, get an "active" interface for the metadata object. For instance, com.sas.services.information.metadata.StoredProcess returns a com.sas.services.storedProcess.StoredProcess object.

      Returns:
      The "active" object for this metadata.
      Throws:
      ServiceException - if an error occurs
      RemoteException - if an error occurs
    • getParents

      List getParents() throws ServiceException, RemoteException
      Return a List of Folder objects that represent the parent(s) of this object in the hierarchy.
      Returns:
      a List value
      Throws:
      ServiceException - if an error occurs
      RemoteException - if an error occurs
    • getParent

      FolderInterface getParent() throws ServiceException, RemoteException
      Return the FolderInterface that contains this object. For objects in the SAS Folder hierarchy, there should be exactly one parent folder.
      Returns:
      The FolderInterface that contains this object as a member.
      Throws:
      ServiceException - if an error occurs
      RemoteException - if an error occurs
    • getCreateDate

      Date getCreateDate() throws ServiceException, RemoteException
      Get a Date object representing the time the metadata was created.

      Returns:
      a Date with the date/time the metadata was created.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • getCreatedBy

      String getCreatedBy() throws ServiceException, RemoteException
      Gets the name of the user that created the object.
      Returns:
      created by name
      Throws:
      ServiceException
      RemoteException
    • getModifyDate

      Date getModifyDate() throws ServiceException, RemoteException
      Get a Date object representing the time the metadata was last updated.

      Returns:
      a Date with the time the metadata was last updated.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • getModifiedBy

      String getModifiedBy() throws ServiceException, RemoteException
      Gets the name of the user that modified the object.
      Returns:
      modified by name
      Throws:
      ServiceException
      RemoteException
    • getRemarksList

      List getRemarksList() throws ServiceException, RemoteException
      Return a List of Remarks objects that represent the dicussion threads related to this object.

      Returns:
      List of Remarks. The discussion threads related to this object
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • setRemarksList

      void setRemarksList(List threads) throws ServiceException, RemoteException
      Sets the list of Remarks objects that represent the dicussion threads related to this object.

      Parameters:
      threads - The discussion threads related to this object
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • addRemark

      void addRemark(RemarksInterface remark) throws ServiceException, RemoteException
      Add a remark to this smart object
      Parameters:
      remark - The remark to be added to this smart object
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • getPermission

      PermissionInterface getPermission(IdentityInterface identity, PermissionInterface permission) throws ServiceException, RemoteException
      Get a permission that matches the requested permission for the requested identity on this metadata object. If none exists, return null.
      Parameters:
      identity - An IdentityInterface for the identity to find the permission for.
      permission - The permission to look for.
      Returns:
      A matching Permission, or null if none was found.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • setPermission

      void setPermission(IdentityInterface identity, PermissionInterface permission) throws ServiceException, RemoteException
      Set a new permission on this metadata object.
      Parameters:
      identity - An IdentityInterface for the identity for the new permission.
      permission - The new permission to add.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • getPermissions

      List getPermissions(IdentityInterface identity) throws ServiceException, RemoteException
      Get all the permissions that apply to this object.
      Parameters:
      identity - The identity to get permissions for.
      Returns:
      a List of com.sas.services.security.Permission objects that apply to this object.
      Throws:
      ServiceException - in the event of repository error.
      RemoteException - in the event of remote object failure.
    • getPermissions

      List getPermissions(IdentityInterface identity, String[] inheritedPermissions) throws ServiceException, RemoteException
      Get all the permissions that apply to this object.
      Parameters:
      identity - The identity to get permissions for.
      inheritedPermissions - An array of Strings containing the inherited permissions to look for.
      Returns:
      a List of com.sas.services.security.Permission objects that apply to this object.
      Throws:
      ServiceException - in the event of repository error.
      RemoteException - in the event of remote object failure.
    • getIdentities

      List getIdentities() throws ServiceException, RemoteException
      Get all the identities that are associated to this metadata object through permissions.
      Returns:
      a List of IdentityInterface objects that have some permission defined for this object.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • addPermissions

      void addPermissions(List identities, List permissions) throws ServiceException, RemoteException
      Add a set of permissions for a set of identities for this metadata object. All the identities in the List will get all the permissions provided.
      Parameters:
      identities - A List of IdentityInterface objects for whom to set the provided permissions.
      permissions - a List of com.sas.services.security.Permission objects that specify the permissions to set for these identities.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • removePermissions

      void removePermissions(List identities, List permissions) throws ServiceException, RemoteException
      Remove permissions matching the identities and permission list.
      Parameters:
      identities - The identities for whom to remove the permissions.
      permissions - The permissions to remove for the identities.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • getAccessControls

      List getAccessControls() throws ServiceException, RemoteException
      Get a list of the Access Controls on this object.
      Returns:
      A List of AccessControlEntryInterface objects.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • addAccessControl

      void addAccessControl(AccessControlEntryInterface ace) throws ServiceException, RemoteException
      Add an Access Control item to this object.
      Parameters:
      ace - An AccessControlInterface object to add to this object.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • removeAccessControl

      void removeAccessControl(AccessControlEntryInterface ace) throws ServiceException, RemoteException
      Remove an Access Control item from this object.
      Parameters:
      ace - An AccessControl object to remove from this object.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • countAssociatedObjects

      int countAssociatedObjects(String association) throws ServiceException, RemoteException
      Count the objects associated to this one via a named association. This count is done without security checks on.
      Parameters:
      association - The association name to count.
      Returns:
      The count of objects in the association.
      Throws:
      ServiceException
      RemoteException
    • moveTo

      void moveTo(FolderInterface folder) throws ServiceException, RemoteException
      Move this object to a new folder. Any current parent folders will be removed, and replaced with the one provided. If folder is null, no action will be taken.
      Parameters:
      folder - The new parent Folder of this object.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • copyTo

      MetadataInterface copyTo(FolderInterface folder, String name) throws ServiceException, RemoteException
      Make a copy of this object. A new object will be created with all attributes, and keywords copied from the original. The new object's name will be set from the name argument. If the folder is null, if this object has only one parent, the new object will have the same parent Folder. If it has no parent, or more than one, the new object will not have a parent.
      Parameters:
      folder - The folder to be the parent of the new object.
      name - The name of the new object.
      Returns:
      The new copy of this object.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • getExtensions

      List getExtensions() throws ServiceException, RemoteException
      Get the extensions for this object.
      Returns:
      a List of Extension objects.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • addExtension

      void addExtension(String name, String value, String type) throws ServiceException, RemoteException
      Add an extension to the current set of extensions
      Parameters:
      name - The new extension name.
      value - The new extension value.
      type - The new extension value type.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • removeExtension

      void removeExtension(String name) throws ServiceException, RemoteException
      Remove an Extension from the current extension set.
      Parameters:
      name - The name of the extension to remove.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • setExtensions

      void setExtensions(List extensionList) throws ServiceException, RemoteException
      Set the list of extensions on this metadata object. All existing extensions are deleted, and the new set is added.
      Parameters:
      extensionList - A List of ExtensionInterface objects. The order of creation needs to be create all of the Extensions, then call this method, then call update.
      Throws:
      ServiceException - If a repository error occurs.
      RemoteException - In the event of remote object failure.
    • getObjectProperties

      List getObjectProperties() throws ServiceException, RemoteException
      Get the Property objects associated with this metadata object. This method only returns the properties that are directly associated with this object, not through PropertySets or PropertGroups.
      Returns:
      A List of PropertyInterface objects. If there are no properties associated with this object, an empty list will be returned.
      Throws:
      ServiceException - In the event of repository errors.
      RemoteException - In the event of remote object failure.
    • addObjectProperty

      void addObjectProperty(PropertyInterface property) throws ServiceException, RemoteException
      Add a property to this object.
      Parameters:
      property - The Property to add.
      Throws:
      ServiceException - If a repository error occurs.
      RemoteException - In the event of remote object failure.
    • addObjectProperty

      void addObjectProperty(String name, String propertyName, String value, String type) throws ServiceException, RemoteException
      Add a new property to this metadata object. The new property metadata is created and associated to this metadata object.
      Parameters:
      name - The name of the property object.
      propertyName - The PropertyName attribute of the property.
      value - The DefaultValue attribute of the property.
      type - The Type from ISDefs. This should be one of: PROPERTYTYPE_BOOLEAN, PROPERTYTYPE_INTEGER, PROPERTYTYPE_STRING, PROPERTYTYPE_MULTILINE, PROPERTYTYPE_FLOAT, PROPERTYTYPE_DATE, PROPERTYTYPE_COLOR, PROPERTYTYPE_FILENAME, PROPERTYTYPE_GENERIC.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • removeObjectProperty

      void removeObjectProperty(PropertyInterface property) throws ServiceException, RemoteException
      Remove a Property from this object.
      Parameters:
      property - The Property to remove.
      Throws:
      ServiceException - If a repository error occurs.
      RemoteException - In the event of remote object failure.
    • setObjectProperties

      void setObjectProperties(List propertyList) throws ServiceException, RemoteException
      Set the collection of Properties associated with this object. Any properties currently associated with this object that aren't in the list will be deleted if they would be orphaned.
      Parameters:
      propertyList - The new List of Properties to associate with this object.
      Throws:
      ServiceException - If a repository error occurs.
      RemoteException - In the event of remote object failure.
    • getPropertySets

      List getPropertySets() throws ServiceException, RemoteException
      Get a List of the property sets that are associated with this object.
      Returns:
      A List of PropertySetInterface objects. If no property sets are associated with this object, an empty list is returned.
      Throws:
      ServiceException - If a repository error occurs.
      RemoteException - In the event of remote object failure.
    • addPropertySet

      void addPropertySet(PropertySetInterface propertySet) throws ServiceException, RemoteException
      Add a property set to this object.
      Parameters:
      propertySet - A PropertySetInterface to associate with this object.
      Throws:
      ServiceException - If a repository error occurs.
      RemoteException - In the event of remote object failure.
    • removePropertySet

      void removePropertySet(PropertySetInterface propertySet) throws ServiceException, RemoteException
      Remove a property set from this object.
      Parameters:
      propertySet - The PropertySet to remote from this object.
      Throws:
      ServiceException - If a repository error occurs.
      RemoteException - In the event of remote object failure.
    • isAuthorized

      boolean isAuthorized(String permission) throws ServiceException, RemoteException
      Check for a specific permission on this object by the user that owns the connection to the repository.
      Parameters:
      permission - The permission string to check for.
      Returns:
      true if the permission is granted by the server, false otherwise.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • getReposKey

      String getReposKey() throws ServiceException, RemoteException
      Get a String that can be passed directly to a RepositoryInterface.fetch method. This string will have the repository ID plus the type (separated by a "/").
      Returns:
      A String with the repository ID and type that can be passed to the fetch method.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • startTransaction

      MetadataInterface startTransaction() throws ServiceException, RemoteException
      Start a Transaction for this Metadata object. This will create a child repository to the current repository, move a copy of this object to the child, and return the new MetadataInterface object. This new object can be updated without changing the current cache. The updates can be committed, or rolled back.
      Returns:
      a new MetadataInterface object that exists in the temporary child repository.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • commit

      void commit() throws ServiceException, RemoteException
      Commit changes that have been made to this object to the parent. This will update the parent cache and disable the child repository that this object is using. If this object isn't in a child repository, a ServiceException will be thrown. If an exception is thrown during commit, you must perform a rollback to close the transaction.
      Throws:
      ServiceException - if a repository error occurs. If a ServiceException is thrown, you must perform a rollback to close the transaction.
      RemoteException - in the event of remote object failure.
    • rollback

      void rollback() throws ServiceException, RemoteException
      Roll back changes to this object, and all objects that have been updated or created in the child repository. This will dispose of the changes and disable the child repository. If this object isn't in a child repository, a ServiceException will be thrown.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • addTransactionListener

      void addTransactionListener(MetadataInterface mi) throws RemoteException
      Add a listener to receive event notifications when a transaction is committed or rolled back. This method is intended for use by the Metadata class, and should not be used by external classes.
      Parameters:
      mi - The metadata object to alert that a transaction has committed or rolled back.
      Throws:
      RemoteException - In the event of remote object failure.
    • transactionEvent

      void transactionEvent(MetadataInterface mi) throws RemoteException
      Notify this object that a child transaction has completed either because of a commit or a rollback.
      Parameters:
      mi - The child object that has completed its transaction.
      Throws:
      RemoteException - In the event of remote object failure.
    • mapNameToFilesystem

      String mapNameToFilesystem(int hostOS, String prefix, String suffix) throws RemoteException, IllegalArgumentException
      Throws:
      RemoteException
      IllegalArgumentException
    • mapUrlToFilesystem

      String mapUrlToFilesystem(int hostOS, String prefix, String suffix) throws ServiceException, RemoteException, IllegalArgumentException
      Map the metadata object's SBIP Url to a file system path.
      Parameters:
      hostOS - The host operating system. Valid values include Names.UNKNOWN, Names.WINDOWS, Names.UNIX, Names.ZOS_HFS, Names.ZOS_PDS and Names.WEBDAV.
      prefix - The prefix to use when creating the file system path.
      suffix - The suffix to use when creating the file system path.
      Returns:
      String The file system path.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - In the event of remote object failure.
      IllegalArgumentException - If a null name is specified or if an invalid host operating system value is specified.
    • getPropertyBag

      PropertyBagInterface getPropertyBag() throws ServiceException, RemoteException
      Get a "bag" of properties from the metadata object. A Map contains the attributes applicable to the metadata object. The default implementation is to load the map with the default simple attributes. All the values are String objects. Subclasses may override this and return complex objects.
      Returns:
      A Map of attributes for this object.
      Throws:
      ServiceException - If a repository error occurs.
      RemoteException - In the event of remote object failure.
    • updateFromBag

      void updateFromBag(PropertyBagInterface propertyBag) throws ServiceException, RemoteException
      Throws:
      ServiceException
      RemoteException
    • getAttribute

      String getAttribute(String key) throws ServiceException, RemoteException
      Get the value of the attribute with the given key/name.
      Parameters:
      key - The name of the attribute to return.
      Returns:
      The value of the named attribute. Null if none exists.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • getAttributes

      Map getAttributes() throws ServiceException, RemoteException
      Get a list of all the attributes.
      Returns:
      A Map of all the attributes of this object.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • setAttribute

      void setAttribute(String key, String value) throws ServiceException, RemoteException
      Set the value of an attribute to the given value
      Parameters:
      key - The attribute name to set.
      value - The value to set on the attribute.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • addAttribute

      void addAttribute(String key, String value) throws ServiceException, RemoteException
      Add an attribute with the given name and value
      Parameters:
      key - The name of the attribute to set.
      value - The value to set on the attribute.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • deleteAttribute

      void deleteAttribute(String key) throws ServiceException, RemoteException
      Delete a specific attribute
      Parameters:
      key - The name of the attribute to delete.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • setAttributes

      void setAttributes(Map attributeMap) throws ServiceException, RemoteException
      Set a number of attributes - names and values are given in the map
      Parameters:
      attributeMap - A Map of attributes to set on the object.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • addAttributes

      void addAttributes(Map attributeMap) throws ServiceException, RemoteException
      Add a number of attributes - names and values are given in the map.
      Parameters:
      attributeMap - A Map of attributes to add to the object.
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • deleteAttributes

      void deleteAttributes(List attributes) throws ServiceException, RemoteException
      Delete a list of attributes.

      Parameters:
      attributes - List (of String) property names
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • toByteArray

      byte[] toByteArray() throws RemoteException
      Write the state of the object to a byte array.
      Returns:
      The byte array containing the state of the object.
      Throws:
      RemoteException - In the event of remote object failure.
    • getPreviousVersionNames

      List getPreviousVersionNames() throws ServiceException, RemoteException
      Gets a list of previous version names
      Returns:
      List of previous version names
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • getVersion

      MetadataInterface getVersion(String versionName) throws ServiceException, RemoteException
      Return a smart object that represents a particular version
      Parameters:
      versionName - The name of the version to return
      Returns:
      MetadataInterface A smart object representing the requested version
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • version

      void version() throws ServiceException, RemoteException
      Version this item
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • checkout

      void checkout() throws ServiceException, RemoteException
      Check out this item
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • checkin

      void checkin() throws ServiceException, RemoteException
      Check in this item
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • uncheckout

      void uncheckout() throws ServiceException, RemoteException
      Uncheckout this item
      Throws:
      ServiceException - if a repository error occurs.
      RemoteException - in the event of remote object failure.
    • addDocument

      void addDocument(DocumentInterface doc) throws ServiceException, RemoteException
      Add an associated Document to this object.
      Parameters:
      doc - The document to associate with this object.
      Throws:
      ServiceException - If a service level error occurs.
      RemoteException - In the event of remote object failure.
    • removeDocument

      void removeDocument(DocumentInterface doc) throws ServiceException, RemoteException
      Remove a document from this object's Documents association.
      Parameters:
      doc - The document to remove from the Documents association.
      Throws:
      ServiceException - If a service level error occurs.
      RemoteException - In the event of remote object failure.
    • setDocuments

      void setDocuments(List docs) throws ServiceException, RemoteException
      Set the list of Documents associated with this object.
      Parameters:
      docs - A List of DocumentInterface objects to associate with this object.
      Throws:
      ServiceException - If a service level error occurs.
      RemoteException - In the event of remote object failure.
    • getDocuments

      List getDocuments() throws ServiceException, RemoteException
      Get the List of Documents associated with this object.
      Returns:
      A List of DocumentInterface objects.
      Throws:
      ServiceException - If a service level error occurs.
      RemoteException - In the event of remote object failure.
    • addNoteTextStore

      void addNoteTextStore(TextStoreInterface note) throws ServiceException, RemoteException
      Add an associated TextStore note to this object.
      Parameters:
      note - The TextStore to associate with this object.
      Throws:
      ServiceException - If a service level error occurs or if a TextStore with the same Name and TextRole already exists on this object.
      RemoteException - In the event of remote object failure.
    • addNoteTextStore

      TextStoreInterface addNoteTextStore(String name, String role, String type, String text) throws ServiceException, RemoteException
      Creates a TextStore note and adds it to this object.
      Parameters:
      name - note name
      role - note TextRole
      type - note TextType
      text - note text
      Returns:
      TextStoreInterface for new note
      Throws:
      ServiceException - If a service level error occurs or if a TextStore with the same Name and TextRole already exists on this object.
      RemoteException - In the event of remote object failure.
    • removeNoteTextStore

      void removeNoteTextStore(TextStoreInterface note) throws ServiceException, RemoteException
      Remove a TextStore note from this object's Notes association.
      Parameters:
      note - The TextStore to remove from the Notes association.
      Throws:
      ServiceException - If a service level error occurs.
      RemoteException - In the event of remote object failure.
    • setNoteTextStores

      void setNoteTextStores(List<TextStoreInterface> notes) throws ServiceException, RemoteException
      Set the list of TextStores associated as Notes for this object.
      Parameters:
      notes - A List of TextStoreInterface objects to associate with this object.
      Throws:
      ServiceException - If a service level error occurs.
      RemoteException - In the event of remote object failure.
    • getNoteTextStores

      List<TextStoreInterface> getNoteTextStores() throws ServiceException, RemoteException
      Get the List of TextStore notes associated with this object.
      Returns:
      A List of TextStoreInterface objects.
      Throws:
      ServiceException - If a service level error occurs.
      RemoteException - In the event of remote object failure.
    • getNoteTextStoresByRole

      List<TextStoreInterface> getNoteTextStoresByRole(String textRoleFilter) throws ServiceException, RemoteException
      Return a list of TextStore notes associated with this object filtered by TextRole.
      Parameters:
      textRoleFilter - returned TextStore notes must have the specified TextRole attribute.
      Returns:
      A list of TextStoreInterface objects.
      Throws:
      ServiceException - If a service level error occurs.
      RemoteException - In the event of remote object failure.
    • getNoteTextStore

      TextStoreInterface getNoteTextStore(String name, String textRole) throws ServiceException, RemoteException
      Return a named TextStore note associated with this object or null if the TextStore does not exist. The first matched TextStore is returned if more than one matching TextStore is found.
      Parameters:
      name - name of the TextStore note.
      textRole - TextRole attribute of the named TextStore note. May be null if the TextRole value is not known.
      Returns:
      named TextStore note
      Throws:
      ServiceException - If a service level error occurs.
      RemoteException - In the event of remote object failure.
    • addGroup

      void addGroup(GroupInterface group) throws ServiceException, RemoteException
      Add this object to a group.
      Parameters:
      group - The group to add this object to.
      Throws:
      ServiceException - If a service level error occurs.
      RemoteException - In the event of remote object failure.
    • removeGroup

      void removeGroup(GroupInterface group) throws ServiceException, RemoteException
      Remove this object from a group.
      Parameters:
      group - The group to remove this object from.
      Throws:
      ServiceException - If a service level error occurs.
      RemoteException - In the event of remote object failure.
    • setGroups

      void setGroups(List groups) throws ServiceException, RemoteException
      Set the list of groups this object belongs to.
      Parameters:
      groups - The set of groups this object belongs to. Upon successful completion, this object will be a member of the listed groups, and no others. If this list is empty, or null, the object will be removed from all groups.
      Throws:
      ServiceException - If a service level error occurs.
      RemoteException - In the event of remote object failure.
    • getGroups

      List getGroups() throws ServiceException, RemoteException
      Get the list of groups this object is a member of.
      Returns:
      The List of GroupInterface objects this object is a member of.
      Throws:
      ServiceException - If a service level error occurs.
      RemoteException - In the event of remote object failure.
    • getPrimaryPropertyGroup

      PropertyGroupInterface getPrimaryPropertyGroup() throws ServiceException, RemoteException
      Get this object's primary PropertyGroup object.
      Returns:
      A PropertyGroupInterface object; this object's primary property group.
      Throws:
      ServiceException - If a service level error occurs.
      RemoteException - In the event of remote object failure.
    • setPrimaryPropertyGroup

      void setPrimaryPropertyGroup(PropertyGroupInterface pgroup) throws ServiceException, RemoteException
      Set this object's primary property group object.
      Parameters:
      pgroup - The PropertyGroupInterface object which is this object's primary property group.
      Throws:
      ServiceException - If a service level error occurs.
      RemoteException - In the event of remote object failure.
    • getImplementors

      List getImplementors() throws ServiceException, RemoteException
      Get a List of the SoftwareComponent Implementors for this object.
      Returns:
      A List of SoftwareComponentInterface objects associated to this object as Implementors.
      Throws:
      ServiceException - If a repository error occurs.
      RemoteException - In the event of remote object failure.
    • addImplementor

      void addImplementor(SoftwareComponentInterface softwareComponent) throws ServiceException, RemoteException
      Add a SoftwareComponent as an implementor of this object.
      Parameters:
      softwareComponent - The SoftwareComponent implementor.
      Throws:
      ServiceException - If a repository error occurs.
      RemoteException - In the event of remote object failure.
    • removeImplementor

      void removeImplementor(SoftwareComponentInterface softwareComponent) throws ServiceException, RemoteException
      Remove a SoftwareComponent from the list of implementors on this object.
      Parameters:
      softwareComponent - The SoftwareComponentInterface to remove from the implementors list.
      Throws:
      ServiceException - If a server error occurs.
      RemoteException - In the event of remote object failure.
    • getUsingPrototype

      MetadataInterface getUsingPrototype() throws ServiceException, RemoteException
      Get the prototype which this object uses for description/validation.
      Returns:
      A MetadataInterface object which this object uses for its definition.
      Throws:
      ServiceException - If a server error occurs.
      RemoteException - In the event of remote object failure.
    • setUsingPrototype

      void setUsingPrototype(MetadataInterface prototype) throws ServiceException, RemoteException
      Set the prototype which is used by this object for description/validation.
      Parameters:
      prototype - The MetadataInterface object which defines the parameters, associations, and properties appropriate to this object.
      Throws:
      ServiceException - If a server error occurs.
      RemoteException - In the event of remote object failure.
    • getUsedByPrototypes

      List getUsedByPrototypes() throws ServiceException, RemoteException
      Get the List of objects which use this object as a prototype.
      Returns:
      A List of objects that use this object as a prototype.
      Throws:
      ServiceException - If a server error occurs.
      RemoteException - In the event of remote object failure.
    • addUsedByPrototype

      void addUsedByPrototype(MetadataInterface prototyped) throws ServiceException, RemoteException
      Add an object which uses this object as a prototype.
      Parameters:
      prototyped - An object which is prototyped by this object.
      Throws:
      ServiceException - If a server error occurs.
      RemoteException - In the event of remote object failure.
    • removeUsedByPrototype

      void removeUsedByPrototype(MetadataInterface prototyped) throws ServiceException, RemoteException
      Remove an object from the list prototyped by this object.
      Parameters:
      prototyped - The object which is no longer prototyped by this object.
      Throws:
      ServiceException - If a server error occurs.
      RemoteException - In the event of remote object failure.
    • getPrompts

      List getPrompts() throws ServiceException, RemoteException
      Get the List of prompts associated with this object.
      Returns:
      A List of BaseOMRPromptInterface objects associated with this object.
      Throws:
      ServiceException - If a server error occurs.
      RemoteException - In the event of remote object failure.
    • setPrompts

      void setPrompts(List prompts) throws ServiceException, RemoteException
      Set the List of Prompts on this object.
      Parameters:
      prompts - A List of BaseOMRPromptInterface objects.
      Throws:
      ServiceException - If a server error occurs.
      RemoteException - In the event of remote object failure.
    • addPrompt

      void addPrompt(BaseOMRPromptInterface prompt) throws ServiceException, RemoteException
      Add a prompt to this object.
      Parameters:
      prompt - A BaseOMRPromptInterface object to add to this object.
      Throws:
      ServiceException - If a server error occurs.
      RemoteException - In the event of remote object failure.
    • removePrompt

      void removePrompt(BaseOMRPromptInterface prompt) throws ServiceException, RemoteException
      Remove a prompt from this object.
      Parameters:
      prompt - The BaseOMRPromptInterface to remove from this object.
      Throws:
      ServiceException - If a server error occurs.
      RemoteException - In the event of remote object failure.
    • getPrompt

      BaseOMRPromptInterface getPrompt() throws ServiceException, RemoteException
      Get the first prompt on this object. If more than one prompt is associated to this object, only the first one is returned.
      Returns:
      The first prompt associated to this object.
      Throws:
      ServiceException - If a server error occurs.
      RemoteException - In the event of remote object failure.
    • setPrompt

      void setPrompt(BaseOMRPromptInterface prompt) throws ServiceException, RemoteException
      Set the prompt on this object. If there are already prompts associated with this object, they are removed and only this prompt will be associated to the object.
      Parameters:
      prompt - The prompt object to associate to this object.
      Throws:
      ServiceException - If a server error occurs.
      RemoteException - In the event of remote object failure.
    • getResponsibleParties

      List getResponsibleParties() throws ServiceException, RemoteException
      Get the responsible parties for this object.
      Returns:
      A List of Responsibility objects representing the responsible parties for this object.
      Throws:
      ServiceException - If a server error occurs.
      RemoteException - In the event of remote object failure.
    • addResponsibleParty

      void addResponsibleParty(Responsibility newResponsibility) throws ServiceException, RemoteException
      Add a new responsibleParty to this object.
      Parameters:
      newResponsibility - The new responsible party to add.
      Throws:
      ServiceException - If a server error occurs.
      RemoteException - In the event of remote object failure.
    • removeResponsibleParty

      void removeResponsibleParty(Responsibility responsibility) throws ServiceException, RemoteException
      Deprecated.
      Use removeResponsibleParty2, as it fixes a bug that can remove the wrong responsible party.
      Remove a responsible party from this metadata object.
      Parameters:
      responsibility - The responsible party to remove.
      Throws:
      ServiceException - If a server error occurs.
      RemoteException - In the event of remote object failure.
    • removeResponsiblePartyByIdentity

      void removeResponsiblePartyByIdentity(Responsibility responsibility) throws ServiceException, RemoteException
      Remove a responsible party from this metadata object. The identity of the responsibility as well as the role must match a responsible party in metadata for it to be removed.
      Parameters:
      responsibility - The responsible party to remove.
      Throws:
      ServiceException - If a server error occurs.
      RemoteException - In the event of remote object failure.
    • isCompatible

      boolean isCompatible() throws RemoteException
      Return a boolean indicating if this object is fully compatible with the version of the metadata.
      Returns:
      true if the metadata and object are fully compatible, false otherwise.
      Throws:
      RemoteException - In the event of remote object failure.
    • isReadCompatible

      boolean isReadCompatible() throws RemoteException
      Return a boolean indicating if this object is read compatible with the version of the metadata. Read compatibility is a subset of full compatibility. A fully compatible object is always read compatible, but a read compatible object is not always fully compatible.
      Returns:
      true if the metadata and object are read compatible, false otherwise.
      Throws:
      RemoteException - In the event of remote object failure.
    • getUsageVersion

      com.sas.util.UsageVersion getUsageVersion() throws RemoteException
      Return the usage version of the metadata.
      Returns:
      The metadata usage version.
      Throws:
      RemoteException - In the event of remote object failure.
    • isObjectAlive

      boolean isObjectAlive() throws ServiceException, RemoteException
      Check to be sure the object still exists in the metadata server. This forces a trip to the server, but does not update the object in memory. If you want to refresh the object, use refresh. It only checks to see if the object is still there, but not that the user can still read it.
      Returns:
      true if the object is found. False otherwise.
      Throws:
      ServiceException - In the event of repository failure.
      RemoteException - In the event of remote object failure.
    • getLockedBy

      String getLockedBy() throws ServiceException, RemoteException
      Get the value of the LockedBy attribute for a metadata object. This represents the user who has checked an object out. If the object is not checked out, this will return an empty string.
      Returns:
      The user with the object checked out, or "".
      Throws:
      ServiceException - If a repository error occurs.
      RemoteException - In the event of remote object failure.
    • getAuthorizationUtil

      AuthorizationUtilInterface getAuthorizationUtil() throws ServiceException, RemoteException
      Get the AuthorizationUtil Interface for this object
      Returns:
      an AuthorizationUtilInterface
      Throws:
      ServiceException - If a metadata server error occurs.
      RemoteException - In the event of remote object failure.