***  This class provides Binary Compatibility only, not Source Compatibility  ***

com.sas.services.information.metadata
Class VirtualMetadata

com.sas.services.information.metadata.VirtualMetadata
All Implemented Interfaces:
MetadataInterface, PublicObjectInterface, java.io.Serializable, java.rmi.Remote
Direct Known Subclasses:
AllUsersIdentity, AuthenticatedIdentity, DAVAccessControlEntry, PropertyIdentity, ReferenceIdentity, RepositoryMetadata, SelfIdentity, UnauthenticatedIdentity, VirtualFolder

public class VirtualMetadata
implements MetadataInterface, java.io.Serializable

See Also:
Serialized Form

Field Summary
 
Fields inherited from interface com.sas.services.information.metadata.MetadataInterface
METADATA_STATE_DELETED, METADATA_STATE_DESTROYED, METADATA_STATE_NEW, METADATA_STATE_NORMAL, PERMISSION_READMETADATA, PERMISSION_WRITEMETADATA
 
Constructor Summary
VirtualMetadata()
           
 
Method Summary
 void add()
          Add a new metadata item to the repository.
 void addAccessControl(AccessControlEntryInterface accessControl)
          Add an Access Control item to this object.
 void addAttribute(java.lang.String key, java.lang.String value)
          Add an attribute with the given name and value
 void addAttributes(java.util.Map attributeMap)
          Add a number of attributes - names and values are given in the map.
 void addDocument(DocumentInterface doc)
          Add an associated Document to this object.
 void addExtension(java.lang.String name, java.lang.String value, java.lang.String type)
          Add an extension to the current set of extensions
 void addGroup(GroupInterface group)
          Add this object to a group.
 void addImplementor(SoftwareComponentInterface softwareComponent)
          Add a SoftwareComponent as an implementor of this object.
 void addKeyword(java.lang.String keyword)
          Add a keyword to this object.
 void addObjectProperty(PropertyInterface property)
          Add a property to this object.
 void addObjectProperty(java.lang.String name, java.lang.String propertyName, java.lang.String value, java.lang.String type)
          Add a new property to this metadata object.
 void addPermissions(java.util.List identities, java.util.List permissions)
          Add a set of permissions for a set of identities for this metadata object.
 void addProcessorInterface(java.lang.String interfaceClassName, com.sas.services.information.publicobject.ProcessorInterface actionInterface)
          Add an action interface to this class.
 void addPrompt(BaseOMRPromptInterface prompt)
          Add a prompt to this object.
 void addPropertySet(PropertySetInterface propertySet)
          Add a property set to this object.
 void addRemark(RemarksInterface remark)
          Add a remark to this smart object
 void addResponsibleParty(com.sas.services.information.publicobject.Responsibility newResponsibility)
          Add a new responsibleParty to this object.
 void addTransactionListener(MetadataInterface mi)
          Add a listener to receive event notifications when a transaction is committed or rolled back.
 void addUsedByPrototype(MetadataInterface prototyped)
          Add an object which uses this object as a prototype.
 void checkin()
          Check in this item
 void checkout()
          Check out this item
 void commit()
          Commit changes that have been made to this object to the parent.
 MetadataInterface copyTo(FolderInterface folder, java.lang.String name)
          Make a copy of this object.
 int countAssociatedObjects(java.lang.String association)
          Count the objects associated to this one via a named association.
 void delete()
          Delete this object from its repository.
 void deleteAttribute(java.lang.String key)
          Delete a specific attribute
 void deleteAttributes(java.util.List attributes)
          Delete a list of attributes.
 void destroy()
          Destroy this object, clearing any object references, freeing any resources in use, and rendering it unusable for future use.
 java.util.List getAccessControls()
          Get a list of the Access Controls on this object.
 java.lang.String getAttribute(java.lang.String key)
          Get the value of the attribute with the given key/name.
 java.util.Map getAttributes()
          Get a list of all the attributes.
 AuthorizationUtilInterface getAuthorizationUtil()
          Get the AuthorizationUtil Interface for this object
 PublicObjectContainerInterface getContainer()
          Get the object which contains this object.
 java.util.Date getCreateDate()
          Get a Date object representing the time the metadata was created.
 java.lang.String getDescription()
          Get the description for this object.
 java.util.List getDocuments()
          Get the List of Documents associated with this object.
 java.lang.String getEntityKey()
          Get the entity key for this item.
 java.lang.String getEntityURL()
          Get a "standard" URL for a metadata object.
 java.util.List getExtensions()
          Get the extensions for this object.
 java.util.List getGroups()
          Get the list of groups this object is a member of.
 java.lang.String getGUID()
          Get the object GUID.
 java.lang.String getIdentifier()
          Get the unique ID of this object.
 java.util.List getIdentities()
          Get all the identities that are associated to this metadata object through permissions.
 java.util.List getImplementors()
          Get a List of the SoftwareComponent Implementors for this object.
 java.util.List getKeywords()
          Get a list of keywords associated with this object.
 java.lang.String getLockedBy()
          Get the value of the LockedBy attribute for a metadata object.
 java.util.Date getModifyDate()
          Get a Date object representing the time the metadata was last updated.
 java.lang.String getName()
          Get the name of this object.
 java.util.List getObjectProperties()
          Get the Property objects associated with this metadata object.
 java.net.URI getObjectURI()
          This method is currently not being implemented and is reserved for future use.
 FolderInterface getParent()
          Return the FolderInterface that contains this object.
 java.lang.String getParentPath(java.lang.String rootFolderName)
          Get the parent path for this object.
 java.util.List getParents()
          Return a List of Folder objects that represent the parent(s) of this object in the hierarchy.
 java.lang.String getPath(java.lang.String rootFolderName)
          Get the preferred path for this object.
 java.util.List getPaths(java.lang.String rootFolderName)
          Get all valid paths for this object.
 PathUrl getPathUrl()
          Get the SBIP URL.
 PathUrl getPathUrl(java.lang.String rootTreeName)
           
 PermissionInterface getPermission(IdentityInterface identity, PermissionInterface permission)
          Get a permission that matches the requested permission for the requested identity on this metadata object.
 java.util.List getPermissions(IdentityInterface identity)
          Get all the permissions that apply to this object.
 java.util.List getPermissions(IdentityInterface identity, java.lang.String[] inheritedPermissions)
          Get all the permissions that apply to this object.
 java.util.List getPreviousVersionNames()
          Gets a list of previous version names
 PropertyGroupInterface getPrimaryPropertyGroup()
          Get this object's primary PropertyGroup object.
 com.sas.services.information.publicobject.ProcessorInterface getProcessorInterface(java.lang.String interfaceClassName)
          Get the specified action interface.
 BaseOMRPromptInterface getPrompt()
          Get the first prompt on this object.
 java.util.List getPrompts()
          Get the List of prompts associated with this object.
 com.sas.services.information.metadata.propertybag.PropertyBagInterface getPropertyBag()
          Get a "bag" of properties from the metadata object.
 java.util.List getPropertySets()
          Get a List of the property sets that are associated with this object.
 java.util.List getRemarksList()
          Return a List of Remarks objects that represent the dicussion threads related to this object.
 java.lang.String getReposId()
          Get the repository ID for the item.
 RepositoryInterface getRepository()
          Get the handle to the repository for this object.
 java.lang.Object getRepositoryEntity()
          Get the object that was returned directly from the repository.
 java.lang.String getRepositoryName()
          Get the repository name that this object resides in.
 java.lang.String getReposKey()
          Get a String that can be passed directly to a RepositoryInterface.fetch method.
 java.util.List getResponsibleParties()
          Get the responsible parties for this object.
 int getState()
          Get the state of this metadata object.
 int getTrackingId()
          Get the tracking ID for this object.
 java.lang.String getType()
          Get the object type.
 TypeDescriptorInterface getTypeDescriptor()
          Get the type descriptor which should have the information from the Type Dictionary in metadata available for the clients.
 com.sas.util.UsageVersion getUsageVersion()
          Return the usage version of the metadata.
 java.util.List getUsedByPrototypes()
          Get the List of objects which use this object as a prototype.
 MetadataInterface getUsingPrototype()
          Get the prototype which this object uses for description/validation.
 MetadataInterface getVersion(java.lang.String versionName)
          Return a smart object that represents a particular version
 boolean isAuthorized(java.lang.String permission)
          Check for a specific permission on this object by the user that owns the connection to the repository.
 boolean isCompatible()
          Return a boolean indicating if this object is fully compatible with the version of the metadata.
 boolean isDeleted()
          Returns true if the delete method has been called on this object.
 boolean isDestroyed()
          Returns true if the backing connection, or infrastructure has been closed, rendering this object unusable.
 boolean isLoggingEnabled(int level, java.lang.String context)
           
 boolean isObjectAlive()
          Check to be sure the object still exists in the metadata server.
 boolean isReadCompatible()
          Return a boolean indicating if this object is read compatible with the version of the metadata.
 void logMessage(int level, java.lang.String context, java.lang.String message, java.lang.Throwable t)
           
 java.lang.String mapNameToFilesystem(int hostOS, java.lang.String prefix, java.lang.String suffix)
          Map the metadata object name to a file system path.
 java.lang.String mapUrlToFilesystem(int hostOS, java.lang.String prefix, java.lang.String suffix)
          Map the metadata object's SBIP Url to a file system path.
 void moveTo(FolderInterface folder)
          Move this object to a new folder.
 java.lang.Object newServiceObject()
          For objects that support it, get an "active" interface for the metadata object.
 void refresh()
          Refresh the data for this object from the repository.
 void removeAccessControl(AccessControlEntryInterface accessControl)
          Remove an Access Control item from this object.
 void removeDocument(DocumentInterface doc)
          Remove a document from this object's Documents association.
 void removeExtension(java.lang.String name)
          Remove an Extension from the current extension set.
 void removeGroup(GroupInterface group)
          Remove this object from a group.
 void removeImplementor(SoftwareComponentInterface softwareComponent)
          Remove a SoftwareComponent from the list of implementors on this object.
 void removeKeyword(java.lang.String keyword)
          Remove a keyword from this object.
 void removeObjectProperty(PropertyInterface property)
          Remove a Property from this object.
 void removePermissions(java.util.List identities, java.util.List permissions)
          Remove permissions matching the identities and permission list.
 void removePrompt(BaseOMRPromptInterface prompt)
          Remove a prompt from this object.
 void removePropertySet(PropertySetInterface propertySet)
          Remove a property set from this object.
 void removeResponsibleParty(com.sas.services.information.publicobject.Responsibility responsibility)
          Remove a responsible party from this metadata object.
 void removeUsedByPrototype(MetadataInterface prototyped)
          Remove an object from the list prototyped by this object.
 void rollback()
          Roll back changes to this object, and all objects that have been updated or created in the child repository.
 void setAttribute(java.lang.String key, java.lang.String value)
          Set the value of an attribute to the given value
 void setAttributes(java.util.Map attributeMap)
          Set a number of attributes - names and values are given in the map
 void setDeleted()
          Mark this object deleted.
 void setDescription(java.lang.String description)
          Sets the description for this object.
 void setDocuments(java.util.List docs)
          Set the list of Documents associated with this object.
 void setExtensions(java.util.List extensionList)
          Set the list of extensions on this metadata object.
 void setGroups(java.util.List groups)
          Set the list of groups this object belongs to.
 void setGUID(java.lang.String guid)
          Set the object GUID.
 void setKeywords(java.util.List keywords)
          Set the keyword collection on this object.
 void setName(java.lang.String name)
          Set this object's name.
 void setObjectProperties(java.util.List propertyList)
          Set the collection of Properties associated with this object.
 void setPermission(IdentityInterface identity, PermissionInterface permission)
          Set a new permission on this metadata object.
 void setPrimaryPropertyGroup(PropertyGroupInterface pgroup)
          Set this object's primary property group object.
 void setPrompt(BaseOMRPromptInterface prompt)
          Set the prompt on this object.
 void setPrompts(java.util.List prompts)
          Set the List of Prompts on this object.
 void setRemarksList(java.util.List threads)
          Sets the list of Remarks objects that represent the dicussion threads related to this object.
 void setRepository(RepositoryInterface repository)
          Set the repository that this item exists in.
 void setUsingPrototype(MetadataInterface prototype)
          Set the prototype which is used by this object for description/validation.
 MetadataInterface startTransaction()
          Start a Transaction for this Metadata object.
 byte[] toByteArray()
          Write the state of the object to a byte array.
 void transactionEvent(MetadataInterface mi)
          Notify this object that a child transaction has completed either because of a commit or a rollback.
 void uncheckout()
          Uncheckout this item
 void update()
          Persist any changes to the object back to the repository.
 void updateFromBag(com.sas.services.information.metadata.propertybag.PropertyBagInterface propertyBag)
           
 void version()
          Version this item
 

Constructor Detail

VirtualMetadata

public VirtualMetadata()
Method Detail

getState

public int getState()
             throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
Get the state of this metadata object.

Specified by:
getState in interface MetadataInterface
Returns:
An int represtenting the state of this object. Will be one of the Metadata.METADATA_STATE_* statics.
Throws:
java.rmi.RemoteException - in the event of remote object failure.

isDeleted

public boolean isDeleted()
                  throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
Returns true if the delete method has been called on this object.

Specified by:
isDeleted in interface MetadataInterface
Returns:
True if delete has been called, false otherwise.
Throws:
java.rmi.RemoteException

isDestroyed

public boolean isDestroyed()
                    throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
Returns true if the backing connection, or infrastructure has been closed, rendering this object unusable.

Specified by:
isDestroyed in interface MetadataInterface
Returns:
True if the object has been destroyed.
Throws:
java.rmi.RemoteException

destroy

public void destroy()
             throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
Destroy this object, clearing any object references, freeing any resources in use, and rendering it unusable for future use.

Specified by:
destroy in interface MetadataInterface
Throws:
java.rmi.RemoteException

getReposId

public java.lang.String getReposId()
                            throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
Get the repository ID for the item. This should be a string that uniquely identifies the object within this repository.

Specified by:
getReposId in interface MetadataInterface
Returns:
The repository identifier for this object.
Throws:
java.rmi.RemoteException - if an error occurs

getReposKey

public java.lang.String getReposKey()
                             throws ServiceException,
                                    java.rmi.RemoteException
Description copied from interface: MetadataInterface
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 "/").

Specified by:
getReposKey in interface MetadataInterface
Returns:
A String with the repository ID and type that can be passed to the fetch method.
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

getName

public java.lang.String getName()
                         throws java.rmi.RemoteException
Description copied from interface: PublicObjectInterface
Get the name of this object.

Specified by:
getName in interface PublicObjectInterface
Returns:
String
Throws:
java.rmi.RemoteException

setName

public void setName(java.lang.String name)
             throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
Set this object's name.

Specified by:
setName in interface MetadataInterface
Parameters:
name - a String for the object name.
Throws:
java.rmi.RemoteException - if an error occurs

getDescription

public java.lang.String getDescription()
                                throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
Get the description for this object.

Specified by:
getDescription in interface MetadataInterface
Returns:
The object description.
Throws:
java.rmi.RemoteException - if an error occurs

setDescription

public void setDescription(java.lang.String description)
                    throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
Sets the description for this object.

Specified by:
setDescription in interface MetadataInterface
Parameters:
description - The object description.
Throws:
java.rmi.RemoteException - if an error occurs

getGUID

public java.lang.String getGUID()
                         throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
Get the object GUID.

Specified by:
getGUID in interface MetadataInterface
Returns:
a string representing a unique ID for the object.
Throws:
java.rmi.RemoteException - if an error occurs

setGUID

public void setGUID(java.lang.String guid)
             throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
Set the object GUID. This doesn't allow the GUID to be changed. If the current GUID is non-null, it throws IllegalStateException.

Specified by:
setGUID in interface MetadataInterface
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:
java.rmi.RemoteException - if an error occurs

getType

public java.lang.String getType()
                         throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
Get the object type. Subclasses of Metadata will return a repository-neutral type string. If no subclass exists, Metadata returns the repository-specific type.

Specified by:
getType in interface MetadataInterface
Returns:
A type string for the object.
Throws:
java.rmi.RemoteException - if an error occurs

add

public void add()
         throws ServiceException,
                java.rmi.RemoteException
Description copied from interface: MetadataInterface
Add a new metadata item to the repository.

Specified by:
add in interface MetadataInterface
Throws:
ServiceException - If there's a repository error.
java.rmi.RemoteException - in the event of a network error.

update

public void update()
            throws ServiceException,
                   java.rmi.RemoteException
Description copied from interface: MetadataInterface
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.

Specified by:
update in interface MetadataInterface
Throws:
ServiceException - if an error occurs in the repository.
java.rmi.RemoteException - if an error occurs

refresh

public void refresh()
             throws ServiceException,
                    java.rmi.RemoteException
Description copied from interface: MetadataInterface
Refresh the data for this object from the repository.

Specified by:
refresh in interface MetadataInterface
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

delete

public void delete()
            throws ServiceException,
                   java.rmi.RemoteException
Description copied from interface: MetadataInterface
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.

Specified by:
delete in interface MetadataInterface
Throws:
ServiceException - in the event of a repository failure.
java.rmi.RemoteException - in the event of a network failure.

getTrackingId

public int getTrackingId()
                  throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
Get the tracking ID for this object. This is generated on a per-JVM basis, and incremented for every MetadataInterface object that gets instantiated.

Specified by:
getTrackingId in interface MetadataInterface
Returns:
The tracking ID.
Throws:
java.rmi.RemoteException - if an error occurs

getRepositoryEntity

public java.lang.Object getRepositoryEntity()
                                     throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
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.

Specified by:
getRepositoryEntity in interface MetadataInterface
Returns:
The repository-specific object.
Throws:
java.rmi.RemoteException - if an error occurs

getEntityKey

public java.lang.String getEntityKey()
                              throws java.lang.IllegalStateException,
                                     ServiceException,
                                     java.rmi.RemoteException
Description copied from interface: MetadataInterface
Get the entity key for this item. The key should have sufficient information to look up the object again at a later time.

Specified by:
getEntityKey in interface MetadataInterface
Returns:
The entity key.
Throws:
java.lang.IllegalStateException - If the repository hasn't been set on this object.
ServiceException - If an error occurs getting the repository URL.
java.rmi.RemoteException - if an error occurs

getEntityURL

public java.lang.String getEntityURL()
                              throws ServiceException,
                                     java.rmi.RemoteException
Description copied from interface: MetadataInterface
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.

Specified by:
getEntityURL in interface MetadataInterface
Returns:
A URL string representing this metadata object.
Throws:
ServiceException - In the event of a service failure.
java.rmi.RemoteException - In the event of remote object failure.

getPathUrl

public PathUrl getPathUrl()
                   throws java.lang.IllegalStateException,
                          ServiceException,
                          java.rmi.RemoteException
Description copied from interface: PublicObjectInterface
Get the SBIP URL. This is an object that contains the repository name, the path from a root to the object, the object's name and the object's type. In the SAS Metadata Server, an object is in a rooted Tree if it has a path to a Tree that's associated to a SoftwareComponent with a ClassIdentifier of "E5F27790-2149-11D6-8828-AA0004006D06", and a name of "BIP Service".

Specified by:
getPathUrl in interface PublicObjectInterface
Returns:
a PathUrl value with the object's location in a rooted tree. If the object isn't in a rooted tree, null is returned.
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - if a remote object error occurs.
java.lang.IllegalStateException

getPathUrl

public PathUrl getPathUrl(java.lang.String rootTreeName)
                   throws java.lang.IllegalStateException,
                          ServiceException,
                          java.rmi.RemoteException
Throws:
java.lang.IllegalStateException
ServiceException
java.rmi.RemoteException

setRepository

public void setRepository(RepositoryInterface repository)
                   throws java.lang.IllegalStateException,
                          java.rmi.RemoteException
Description copied from interface: MetadataInterface
Set the repository that this item exists in.

Specified by:
setRepository in interface MetadataInterface
Parameters:
repository - A handle to the repository for this object.
Throws:
java.lang.IllegalStateException - If the repository has already been set.
java.rmi.RemoteException - if an error occurs

getRepository

public RepositoryInterface getRepository()
                                  throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
Get the handle to the repository for this object.

Specified by:
getRepository in interface MetadataInterface
Returns:
A handle to the repository this item exists in.
Throws:
java.rmi.RemoteException - if an error occurs

getKeywords

public java.util.List getKeywords()
                           throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
Get a list of keywords associated with this object.

Specified by:
getKeywords in interface MetadataInterface
Returns:
A List of String keywords.
Throws:
java.rmi.RemoteException - if an error occurs

addKeyword

public void addKeyword(java.lang.String keyword)
                throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
Add a keyword to this object.

Specified by:
addKeyword in interface MetadataInterface
Parameters:
keyword - a new String to add as a keyword.
Throws:
java.rmi.RemoteException - if an error occurs

removeKeyword

public void removeKeyword(java.lang.String keyword)
                   throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
Remove a keyword from this object.

Specified by:
removeKeyword in interface MetadataInterface
Parameters:
keyword - The keyword to remove.
Throws:
java.rmi.RemoteException - if an error occurs

setKeywords

public void setKeywords(java.util.List keywords)
                 throws ServiceException,
                        java.rmi.RemoteException
Description copied from interface: MetadataInterface
Set the keyword collection on this object.

Specified by:
setKeywords in interface MetadataInterface
Parameters:
keywords - The list of keywords to set on this object.
Throws:
ServiceException - In the event of repository failure.
java.rmi.RemoteException - In the event of network failure.

getParentPath

public java.lang.String getParentPath(java.lang.String rootFolderName)
                               throws ServiceException,
                                      java.rmi.RemoteException
Description copied from interface: MetadataInterface
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.

Specified by:
getParentPath in interface MetadataInterface
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.
java.rmi.RemoteException - in the event of remote object failure.

getPath

public java.lang.String getPath(java.lang.String rootFolderName)
                         throws ServiceException,
                                java.rmi.RemoteException
Description copied from interface: MetadataInterface
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).

Specified by:
getPath in interface MetadataInterface
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
java.rmi.RemoteException - if an error occurs

getPaths

public java.util.List getPaths(java.lang.String rootFolderName)
                        throws ServiceException,
                               java.rmi.RemoteException
Description copied from interface: MetadataInterface
Get all valid paths for this object.

Specified by:
getPaths in interface MetadataInterface
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
java.rmi.RemoteException - if an error occurs

newServiceObject

public java.lang.Object newServiceObject()
                                  throws ServiceException,
                                         java.rmi.RemoteException
Description copied from interface: MetadataInterface
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.

Specified by:
newServiceObject in interface MetadataInterface
Returns:
The "active" object for this metadata.
Throws:
ServiceException - if an error occurs
java.rmi.RemoteException - if an error occurs

getParents

public java.util.List getParents()
                          throws ServiceException,
                                 java.rmi.RemoteException
Description copied from interface: MetadataInterface
Return a List of Folder objects that represent the parent(s) of this object in the hierarchy.

Specified by:
getParents in interface MetadataInterface
Returns:
a List value
Throws:
ServiceException - if an error occurs
java.rmi.RemoteException - if an error occurs

getCreateDate

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

Specified by:
getCreateDate in interface MetadataInterface
Returns:
a Date with the date/time the metadata was created.
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

getModifyDate

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

Specified by:
getModifyDate in interface MetadataInterface
Returns:
a Date with the time the metadata was last updated.
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

getRemarksList

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

Specified by:
getRemarksList in interface MetadataInterface
Returns:
List of Remarks. The discussion threads related to this object
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

setRemarksList

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

Specified by:
setRemarksList in interface MetadataInterface
Parameters:
threads - The discussion threads related to this object
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

addRemark

public void addRemark(RemarksInterface remark)
               throws ServiceException,
                      java.rmi.RemoteException
Add a remark to this smart object

Specified by:
addRemark in interface MetadataInterface
Parameters:
remark - The remark to be added to this smart object
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

getPermission

public PermissionInterface getPermission(IdentityInterface identity,
                                         PermissionInterface permission)
                                  throws ServiceException,
                                         java.rmi.RemoteException
Get a permission that matches the requested permission for the requested identity on this metadata object. If none exists, return null.

Specified by:
getPermission in interface MetadataInterface
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.
java.rmi.RemoteException - in the event of remote object failure.

setPermission

public void setPermission(IdentityInterface identity,
                          PermissionInterface permission)
                   throws ServiceException,
                          java.rmi.RemoteException
Set a new permission on this metadata object.

Specified by:
setPermission in interface MetadataInterface
Parameters:
identity - An IdentityInterface for the identity for the new permission.
permission - The new permission to add.
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

getPermissions

public java.util.List getPermissions(IdentityInterface identity)
                              throws ServiceException,
                                     java.rmi.RemoteException
Get all the permissions that apply to this object.

Specified by:
getPermissions in interface MetadataInterface
Parameters:
identity - The Identity to search
Returns:
a List of com.sas.services.security.Permission objects that apply to this object.
Throws:
ServiceException - in the event of repository error.
java.rmi.RemoteException - in the event of remote object failure.

getPermissions

public java.util.List getPermissions(IdentityInterface identity,
                                     java.lang.String[] inheritedPermissions)
                              throws ServiceException,
                                     java.rmi.RemoteException
Description copied from interface: MetadataInterface
Get all the permissions that apply to this object.

Specified by:
getPermissions in interface MetadataInterface
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.
java.rmi.RemoteException - in the event of remote object failure.

getIdentities

public java.util.List getIdentities()
                             throws ServiceException,
                                    java.rmi.RemoteException
Get all the identities that are associated to this metadata object through permissions.

Specified by:
getIdentities in interface MetadataInterface
Returns:
a List of IdentityInterface objects that have some permission defined for this object.
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

addPermissions

public void addPermissions(java.util.List identities,
                           java.util.List permissions)
                    throws ServiceException,
                           java.rmi.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.

Specified by:
addPermissions in interface MetadataInterface
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.
java.rmi.RemoteException - in the event of remote object failure.

removePermissions

public void removePermissions(java.util.List identities,
                              java.util.List permissions)
                       throws ServiceException,
                              java.rmi.RemoteException
Remove permissions matching the identities and permission list.

Specified by:
removePermissions in interface MetadataInterface
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.
java.rmi.RemoteException - in the event of remote object failure.

getAccessControls

public java.util.List getAccessControls()
                                 throws ServiceException,
                                        java.rmi.RemoteException
Get a list of the Access Controls on this object.

Specified by:
getAccessControls in interface MetadataInterface
Returns:
A List of AccessControlEntryInterface objects.
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

addAccessControl

public void addAccessControl(AccessControlEntryInterface accessControl)
                      throws ServiceException,
                             java.rmi.RemoteException
Add an Access Control item to this object.

Specified by:
addAccessControl in interface MetadataInterface
Parameters:
accessControl - An AccessControlInterface object to add to this object.
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

removeAccessControl

public void removeAccessControl(AccessControlEntryInterface accessControl)
                         throws ServiceException,
                                java.rmi.RemoteException
Remove an Access Control item from this object.

Specified by:
removeAccessControl in interface MetadataInterface
Parameters:
accessControl - An AccessControl object to remove from this object.
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

moveTo

public void moveTo(FolderInterface folder)
            throws ServiceException,
                   java.rmi.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, this object will be removed and no further action will be taken.

Specified by:
moveTo in interface MetadataInterface
Parameters:
folder - The new parent Folder of this object.
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

copyTo

public MetadataInterface copyTo(FolderInterface folder,
                                java.lang.String name)
                         throws ServiceException,
                                java.rmi.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.

Specified by:
copyTo in interface MetadataInterface
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.
java.rmi.RemoteException - in the event of remote object failure.

getExtensions

public java.util.List getExtensions()
                             throws ServiceException,
                                    java.rmi.RemoteException
Get the extensions for this object.

Specified by:
getExtensions in interface MetadataInterface
Returns:
a List of Extension objects.
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

addExtension

public void addExtension(java.lang.String name,
                         java.lang.String value,
                         java.lang.String type)
                  throws ServiceException,
                         java.rmi.RemoteException
Add an extension to the current set of extensions

Specified by:
addExtension in interface MetadataInterface
Parameters:
name - The new extension name.
value - The new extension value.
type - The new extension value type.
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

removeExtension

public void removeExtension(java.lang.String name)
                     throws ServiceException,
                            java.rmi.RemoteException
Remove an Extension from the current extension set.

Specified by:
removeExtension in interface MetadataInterface
Parameters:
name - The name of the extension to remove.
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

isAuthorized

public boolean isAuthorized(java.lang.String permission)
                     throws ServiceException,
                            java.rmi.RemoteException
Check for a specific permission on this object by the user that owns the connection to the repository.

Specified by:
isAuthorized in interface MetadataInterface
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.
java.rmi.RemoteException - in the event of remote object failure.

startTransaction

public MetadataInterface startTransaction()
                                   throws ServiceException,
                                          java.rmi.RemoteException
Description copied from interface: MetadataInterface
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.

Specified by:
startTransaction in interface MetadataInterface
Returns:
a new MetadataInterface object that exists in the temporary child repository.
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

commit

public void commit()
            throws ServiceException,
                   java.rmi.RemoteException
Description copied from interface: MetadataInterface
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.

Specified by:
commit in interface MetadataInterface
Throws:
ServiceException - if a repository error occurs. If a ServiceException is thrown, you must perform a rollback to close the transaction.
java.rmi.RemoteException - in the event of remote object failure.

rollback

public void rollback()
              throws ServiceException,
                     java.rmi.RemoteException
Description copied from interface: MetadataInterface
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.

Specified by:
rollback in interface MetadataInterface
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

logMessage

public void logMessage(int level,
                       java.lang.String context,
                       java.lang.String message,
                       java.lang.Throwable t)
                throws java.rmi.RemoteException
Specified by:
logMessage in interface MetadataInterface
Parameters:
level - The level at which to log this message: LoggerInterface.WARN, LoggerInterface.ERROR, etc.
context - The logging context for which to output this message. This is usually the fully qualified java class name.
message - The formatted message to output.
t - An optional exception to log.
Throws:
java.rmi.RemoteException - In the event of remote object failure.

isLoggingEnabled

public boolean isLoggingEnabled(int level,
                                java.lang.String context)
                         throws java.rmi.RemoteException
Specified by:
isLoggingEnabled in interface MetadataInterface
Parameters:
level - The level to check: LoggerInterface.WARN, LoggerInterface.ERROR, etc.
context - The logging context to check the level for. This is usually the fully qualified java class name.
Returns:
True if logging enabled at the given level for the given context.
Throws:
java.rmi.RemoteException - In the event of remote object failure.

mapNameToFilesystem

public java.lang.String mapNameToFilesystem(int hostOS,
                                            java.lang.String prefix,
                                            java.lang.String suffix)
                                     throws java.rmi.RemoteException,
                                            java.lang.IllegalArgumentException
Map the metadata object name to a file system path.

Specified by:
mapNameToFilesystem in interface MetadataInterface
Parameters:
hostOS - The host operating system.
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:
java.rmi.RemoteException - In the event of remote object failure.
java.lang.IllegalArgumentException - If a null name is specified or if an invalid host operating system value is specified.

mapUrlToFilesystem

public java.lang.String mapUrlToFilesystem(int hostOS,
                                           java.lang.String prefix,
                                           java.lang.String suffix)
                                    throws ServiceException,
                                           java.rmi.RemoteException,
                                           java.lang.IllegalArgumentException
Map the metadata object's SBIP Url to a file system path.

Specified by:
mapUrlToFilesystem in interface MetadataInterface
Parameters:
hostOS - The host operating system.
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.
java.rmi.RemoteException - In the event of remote object failure.
java.lang.IllegalArgumentException - If a null name is specified or if an invalid host operating system value is specified.

getPropertyBag

public com.sas.services.information.metadata.propertybag.PropertyBagInterface getPropertyBag()
                                                                                      throws ServiceException,
                                                                                             java.rmi.RemoteException
Description copied from interface: MetadataInterface
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.

Specified by:
getPropertyBag in interface MetadataInterface
Returns:
A Map of attributes for this object.
Throws:
ServiceException - If a repository error occurs.
java.rmi.RemoteException - In the event of remote object failure.

updateFromBag

public void updateFromBag(com.sas.services.information.metadata.propertybag.PropertyBagInterface propertyBag)
                   throws ServiceException,
                          java.rmi.RemoteException
Specified by:
updateFromBag in interface MetadataInterface
Throws:
ServiceException
java.rmi.RemoteException

getObjectProperties

public java.util.List getObjectProperties()
                                   throws ServiceException,
                                          java.rmi.RemoteException
Description copied from interface: MetadataInterface
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.

Specified by:
getObjectProperties in interface MetadataInterface
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.
java.rmi.RemoteException - In the event of remote object failure.

addObjectProperty

public void addObjectProperty(PropertyInterface property)
                       throws ServiceException,
                              java.rmi.RemoteException
Description copied from interface: MetadataInterface
Add a property to this object.

Specified by:
addObjectProperty in interface MetadataInterface
Parameters:
property - The Property to add.
Throws:
ServiceException - If a repository error occurs.
java.rmi.RemoteException - In the event of remote object failure.

removeObjectProperty

public void removeObjectProperty(PropertyInterface property)
                          throws ServiceException,
                                 java.rmi.RemoteException
Description copied from interface: MetadataInterface
Remove a Property from this object.

Specified by:
removeObjectProperty in interface MetadataInterface
Parameters:
property - The Property to remove.
Throws:
ServiceException - If a repository error occurs.
java.rmi.RemoteException - In the event of remote object failure.

getPropertySets

public java.util.List getPropertySets()
                               throws ServiceException,
                                      java.rmi.RemoteException
Description copied from interface: MetadataInterface
Get a List of the property sets that are associated with this object.

Specified by:
getPropertySets in interface MetadataInterface
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.
java.rmi.RemoteException - In the event of remote object failure.

addPropertySet

public void addPropertySet(PropertySetInterface propertySet)
                    throws ServiceException,
                           java.rmi.RemoteException
Description copied from interface: MetadataInterface
Add a property set to this object.

Specified by:
addPropertySet in interface MetadataInterface
Parameters:
propertySet - A PropertySetInterface to associate with this object.
Throws:
ServiceException - If a repository error occurs.
java.rmi.RemoteException - In the event of remote object failure.

removePropertySet

public void removePropertySet(PropertySetInterface propertySet)
                       throws ServiceException,
                              java.rmi.RemoteException
Description copied from interface: MetadataInterface
Remove a property set from this object.

Specified by:
removePropertySet in interface MetadataInterface
Parameters:
propertySet - The PropertySet to remote from this object.
Throws:
ServiceException - If a repository error occurs.
java.rmi.RemoteException - In the event of remote object failure.

addTransactionListener

public void addTransactionListener(MetadataInterface mi)
                            throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
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.

Specified by:
addTransactionListener in interface MetadataInterface
Parameters:
mi - The metadata object to alert that a transaction has committed or rolled back.
Throws:
java.rmi.RemoteException - In the event of remote object failure.

transactionEvent

public void transactionEvent(MetadataInterface mi)
                      throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
Notify this object that a child transaction has completed either because of a commit or a rollback.

Specified by:
transactionEvent in interface MetadataInterface
Parameters:
mi - The child object that has completed its transaction.
Throws:
java.rmi.RemoteException - In the event of remote object failure.

getAttribute

public java.lang.String getAttribute(java.lang.String key)
                              throws ServiceException,
                                     java.rmi.RemoteException
Get the value of the attribute with the given key/name.

Specified by:
getAttribute in interface MetadataInterface
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.
java.rmi.RemoteException - in the event of remote object failure.

getAttributes

public java.util.Map getAttributes()
                            throws ServiceException,
                                   java.rmi.RemoteException
Get a list of all the attributes.

Specified by:
getAttributes in interface MetadataInterface
Returns:
A Map of all the attributes of this object.
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

setAttribute

public void setAttribute(java.lang.String key,
                         java.lang.String value)
                  throws ServiceException,
                         java.rmi.RemoteException
Set the value of an attribute to the given value

Specified by:
setAttribute in interface MetadataInterface
Parameters:
key - The attribute name to set.
value - The value to set on the attribute.
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

addAttribute

public void addAttribute(java.lang.String key,
                         java.lang.String value)
                  throws ServiceException,
                         java.rmi.RemoteException
Add an attribute with the given name and value

Specified by:
addAttribute in interface MetadataInterface
Parameters:
key - The name of the attribute to set.
value - The value to set on the attribute.
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

deleteAttribute

public void deleteAttribute(java.lang.String key)
                     throws ServiceException,
                            java.rmi.RemoteException
Delete a specific attribute

Specified by:
deleteAttribute in interface MetadataInterface
Parameters:
key - The name of the attribute to delete.
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

setAttributes

public void setAttributes(java.util.Map attributeMap)
                   throws ServiceException,
                          java.rmi.RemoteException
Set a number of attributes - names and values are given in the map

Specified by:
setAttributes in interface MetadataInterface
Parameters:
attributeMap - A Map of attributes to set on the object.
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

addAttributes

public void addAttributes(java.util.Map attributeMap)
                   throws ServiceException,
                          java.rmi.RemoteException
Add a number of attributes - names and values are given in the map.

Specified by:
addAttributes in interface MetadataInterface
Parameters:
attributeMap - A Map of attributes to add to the object.
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

deleteAttributes

public void deleteAttributes(java.util.List attributes)
                      throws ServiceException,
                             java.rmi.RemoteException
Delete a list of attributes.

Specified by:
deleteAttributes in interface MetadataInterface
Parameters:
attributes - List (of String) property names
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

toByteArray

public byte[] toByteArray()
                   throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
Write the state of the object to a byte array.

Specified by:
toByteArray in interface MetadataInterface
Returns:
The byte array containing the state of the object.
Throws:
java.rmi.RemoteException - In the event of remote object failure.

getPreviousVersionNames

public java.util.List getPreviousVersionNames()
                                       throws ServiceException,
                                              java.rmi.RemoteException
Gets a list of previous version names

Specified by:
getPreviousVersionNames in interface MetadataInterface
Returns:
List of previous version names
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

getVersion

public MetadataInterface getVersion(java.lang.String versionName)
                             throws ServiceException,
                                    java.rmi.RemoteException
Return a smart object that represents a particular version

Specified by:
getVersion in interface MetadataInterface
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.
java.rmi.RemoteException - in the event of remote object failure.

version

public void version()
             throws ServiceException,
                    java.rmi.RemoteException
Version this item

Specified by:
version in interface MetadataInterface
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

checkout

public void checkout()
              throws ServiceException,
                     java.rmi.RemoteException
Check out this item

Specified by:
checkout in interface MetadataInterface
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

checkin

public void checkin()
             throws ServiceException,
                    java.rmi.RemoteException
Check in this item

Specified by:
checkin in interface MetadataInterface
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

uncheckout

public void uncheckout()
                throws ServiceException,
                       java.rmi.RemoteException
Uncheckout this item

Specified by:
uncheckout in interface MetadataInterface
Throws:
ServiceException - if a repository error occurs.
java.rmi.RemoteException - in the event of remote object failure.

countAssociatedObjects

public int countAssociatedObjects(java.lang.String association)
                           throws ServiceException,
                                  java.rmi.RemoteException
Description copied from interface: MetadataInterface
Count the objects associated to this one via a named association. This count is done without security checks on.

Specified by:
countAssociatedObjects in interface MetadataInterface
Parameters:
association - The association name to count.
Returns:
The count of objects in the association.
Throws:
ServiceException
java.rmi.RemoteException

addDocument

public void addDocument(DocumentInterface doc)
                 throws ServiceException,
                        java.rmi.RemoteException
Description copied from interface: MetadataInterface
Add an associated Document to this object.

Specified by:
addDocument in interface MetadataInterface
Parameters:
doc - The document to associate with this object.
Throws:
ServiceException - If a service level error occurs.
java.rmi.RemoteException - In the event of remote object failure.

removeDocument

public void removeDocument(DocumentInterface doc)
                    throws ServiceException,
                           java.rmi.RemoteException
Description copied from interface: MetadataInterface
Remove a document from this object's Documents association.

Specified by:
removeDocument in interface MetadataInterface
Parameters:
doc - The document to remove from the Documents association.
Throws:
ServiceException - If a service level error occurs.
java.rmi.RemoteException - In the event of remote object failure.

setDocuments

public void setDocuments(java.util.List docs)
                  throws ServiceException,
                         java.rmi.RemoteException
Description copied from interface: MetadataInterface
Set the list of Documents associated with this object.

Specified by:
setDocuments in interface MetadataInterface
Parameters:
docs - A List of DocumentInterface objects to associate with this object.
Throws:
ServiceException - If a service level error occurs.
java.rmi.RemoteException - In the event of remote object failure.

getDocuments

public java.util.List getDocuments()
                            throws ServiceException,
                                   java.rmi.RemoteException
Description copied from interface: MetadataInterface
Get the List of Documents associated with this object.

Specified by:
getDocuments in interface MetadataInterface
Returns:
A List of DocumentInterface objects.
Throws:
ServiceException - If a service level error occurs.
java.rmi.RemoteException - In the event of remote object failure.

addGroup

public void addGroup(GroupInterface group)
              throws ServiceException,
                     java.rmi.RemoteException
Description copied from interface: MetadataInterface
Add this object to a group.

Specified by:
addGroup in interface MetadataInterface
Parameters:
group - The group to add this object to.
Throws:
ServiceException - If a service level error occurs.
java.rmi.RemoteException - In the event of remote object failure.

removeGroup

public void removeGroup(GroupInterface group)
                 throws ServiceException,
                        java.rmi.RemoteException
Description copied from interface: MetadataInterface
Remove this object from a group.

Specified by:
removeGroup in interface MetadataInterface
Parameters:
group - The group to remove this object from.
Throws:
ServiceException - If a service level error occurs.
java.rmi.RemoteException - In the event of remote object failure.

setGroups

public void setGroups(java.util.List groups)
               throws ServiceException,
                      java.rmi.RemoteException
Description copied from interface: MetadataInterface
Set the list of groups this object belongs to.

Specified by:
setGroups in interface MetadataInterface
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.
java.rmi.RemoteException - In the event of remote object failure.

getGroups

public java.util.List getGroups()
                         throws ServiceException,
                                java.rmi.RemoteException
Description copied from interface: MetadataInterface
Get the list of groups this object is a member of.

Specified by:
getGroups in interface MetadataInterface
Returns:
The List of GroupInterface objects this object is a member of.
Throws:
ServiceException - If a service level error occurs.
java.rmi.RemoteException - In the event of remote object failure.

getPrimaryPropertyGroup

public PropertyGroupInterface getPrimaryPropertyGroup()
                                               throws ServiceException,
                                                      java.rmi.RemoteException
Description copied from interface: MetadataInterface
Get this object's primary PropertyGroup object.

Specified by:
getPrimaryPropertyGroup in interface MetadataInterface
Returns:
A PropertyGroupInterface object; this object's primary property group.
Throws:
ServiceException - If a service level error occurs.
java.rmi.RemoteException - In the event of remote object failure.

setPrimaryPropertyGroup

public void setPrimaryPropertyGroup(PropertyGroupInterface pgroup)
                             throws ServiceException,
                                    java.rmi.RemoteException
Description copied from interface: MetadataInterface
Set this object's primary property group object.

Specified by:
setPrimaryPropertyGroup in interface MetadataInterface
Parameters:
pgroup - The PropertyGroupInterface object which is this object's primary property group.
Throws:
ServiceException - If a service level error occurs.
java.rmi.RemoteException - In the event of remote object failure.

setExtensions

public void setExtensions(java.util.List extensionList)
                   throws ServiceException,
                          java.rmi.RemoteException
Description copied from interface: MetadataInterface
Set the list of extensions on this metadata object. All existing extensions are deleted, and the new set is added.

Specified by:
setExtensions in interface MetadataInterface
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.
java.rmi.RemoteException - In the event of remote object failure.

setObjectProperties

public void setObjectProperties(java.util.List propertyList)
                         throws ServiceException,
                                java.rmi.RemoteException
Description copied from interface: MetadataInterface
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.

Specified by:
setObjectProperties in interface MetadataInterface
Parameters:
propertyList - The new List of Properties to associate with this object.
Throws:
ServiceException - If a repository error occurs.
java.rmi.RemoteException - In the event of remote object failure.

addObjectProperty

public void addObjectProperty(java.lang.String name,
                              java.lang.String propertyName,
                              java.lang.String value,
                              java.lang.String type)
                       throws ServiceException,
                              java.rmi.RemoteException
Description copied from interface: MetadataInterface
Add a new property to this metadata object. The new property metadata is created and associated to this metadata object.

Specified by:
addObjectProperty in interface MetadataInterface
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.
java.rmi.RemoteException - in the event of remote object failure.

getImplementors

public java.util.List getImplementors()
                               throws ServiceException,
                                      java.rmi.RemoteException
Description copied from interface: MetadataInterface
Get a List of the SoftwareComponent Implementors for this object.

Specified by:
getImplementors in interface MetadataInterface
Returns:
A List of SoftwareComponentInterface objects associated to this object as Implementors.
Throws:
ServiceException - If a repository error occurs.
java.rmi.RemoteException - In the event of remote object failure.

addImplementor

public void addImplementor(SoftwareComponentInterface softwareComponent)
                    throws ServiceException,
                           java.rmi.RemoteException
Description copied from interface: MetadataInterface
Add a SoftwareComponent as an implementor of this object.

Specified by:
addImplementor in interface MetadataInterface
Parameters:
softwareComponent - The SoftwareComponent implementor.
Throws:
ServiceException - If a repository error occurs.
java.rmi.RemoteException - In the event of remote object failure.

removeImplementor

public void removeImplementor(SoftwareComponentInterface softwareComponent)
                       throws ServiceException,
                              java.rmi.RemoteException
Description copied from interface: MetadataInterface
Remove a SoftwareComponent from the list of implementors on this object.

Specified by:
removeImplementor in interface MetadataInterface
Parameters:
softwareComponent - The SoftwareComponentInterface to remove from the implementors list.
Throws:
ServiceException - If a server error occurs.
java.rmi.RemoteException - In the event of remote object failure.

getUsingPrototype

public MetadataInterface getUsingPrototype()
                                    throws ServiceException,
                                           java.rmi.RemoteException
Description copied from interface: MetadataInterface
Get the prototype which this object uses for description/validation.

Specified by:
getUsingPrototype in interface MetadataInterface
Returns:
A MetadataInterface object which this object uses for its definition.
Throws:
ServiceException - If a server error occurs.
java.rmi.RemoteException - In the event of remote object failure.

setUsingPrototype

public void setUsingPrototype(MetadataInterface prototype)
                       throws ServiceException,
                              java.rmi.RemoteException
Description copied from interface: MetadataInterface
Set the prototype which is used by this object for description/validation.

Specified by:
setUsingPrototype in interface MetadataInterface
Parameters:
prototype - The MetadataInterface object which defines the parameters, associations, and properties appropriate to this object.
Throws:
ServiceException - If a server error occurs.
java.rmi.RemoteException - In the event of remote object failure.

getUsedByPrototypes

public java.util.List getUsedByPrototypes()
                                   throws ServiceException,
                                          java.rmi.RemoteException
Description copied from interface: MetadataInterface
Get the List of objects which use this object as a prototype.

Specified by:
getUsedByPrototypes in interface MetadataInterface
Returns:
A List of objects that use this object as a prototype.
Throws:
ServiceException - If a server error occurs.
java.rmi.RemoteException - In the event of remote object failure.

addUsedByPrototype

public void addUsedByPrototype(MetadataInterface prototyped)
                        throws ServiceException,
                               java.rmi.RemoteException
Description copied from interface: MetadataInterface
Add an object which uses this object as a prototype.

Specified by:
addUsedByPrototype in interface MetadataInterface
Parameters:
prototyped - An object which is prototyped by this object.
Throws:
ServiceException - If a server error occurs.
java.rmi.RemoteException - In the event of remote object failure.

removeUsedByPrototype

public void removeUsedByPrototype(MetadataInterface prototyped)
                           throws ServiceException,
                                  java.rmi.RemoteException
Description copied from interface: MetadataInterface
Remove an object from the list prototyped by this object.

Specified by:
removeUsedByPrototype in interface MetadataInterface
Parameters:
prototyped - The object which is no longer prototyped by this object.
Throws:
ServiceException - If a server error occurs.
java.rmi.RemoteException - In the event of remote object failure.

getPrompts

public java.util.List getPrompts()
                          throws ServiceException,
                                 java.rmi.RemoteException
Description copied from interface: MetadataInterface
Get the List of prompts associated with this object.

Specified by:
getPrompts in interface MetadataInterface
Returns:
A List of BaseOMRPromptInterface objects associated with this object.
Throws:
ServiceException - If a server error occurs.
java.rmi.RemoteException - In the event of remote object failure.

setPrompts

public void setPrompts(java.util.List prompts)
                throws ServiceException,
                       java.rmi.RemoteException
Description copied from interface: MetadataInterface
Set the List of Prompts on this object.

Specified by:
setPrompts in interface MetadataInterface
Parameters:
prompts - A List of BaseOMRPromptInterface objects.
Throws:
ServiceException - If a server error occurs.
java.rmi.RemoteException - In the event of remote object failure.

addPrompt

public void addPrompt(BaseOMRPromptInterface prompt)
               throws ServiceException,
                      java.rmi.RemoteException
Description copied from interface: MetadataInterface
Add a prompt to this object.

Specified by:
addPrompt in interface MetadataInterface
Parameters:
prompt - A BaseOMRPromptInterface object to add to this object.
Throws:
ServiceException - If a server error occurs.
java.rmi.RemoteException - In the event of remote object failure.

removePrompt

public void removePrompt(BaseOMRPromptInterface prompt)
                  throws ServiceException,
                         java.rmi.RemoteException
Description copied from interface: MetadataInterface
Remove a prompt from this object.

Specified by:
removePrompt in interface MetadataInterface
Parameters:
prompt - The BaseOMRPromptInterface to remove from this object.
Throws:
ServiceException - If a server error occurs.
java.rmi.RemoteException - In the event of remote object failure.

getPrompt

public BaseOMRPromptInterface getPrompt()
                                 throws ServiceException,
                                        java.rmi.RemoteException
Description copied from interface: MetadataInterface
Get the first prompt on this object. If more than one prompt is associated to this object, only the first one is returned.

Specified by:
getPrompt in interface MetadataInterface
Returns:
The first prompt associated to this object.
Throws:
ServiceException - If a server error occurs.
java.rmi.RemoteException - In the event of remote object failure.

setPrompt

public void setPrompt(BaseOMRPromptInterface prompt)
               throws ServiceException,
                      java.rmi.RemoteException
Description copied from interface: MetadataInterface
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.

Specified by:
setPrompt in interface MetadataInterface
Parameters:
prompt - The prompt object to associate to this object.
Throws:
ServiceException - If a server error occurs.
java.rmi.RemoteException - In the event of remote object failure.

getRepositoryName

public java.lang.String getRepositoryName()
                                   throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
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.

Specified by:
getRepositoryName in interface MetadataInterface
Returns:
The repository name.
Throws:
java.rmi.RemoteException - In the event of remote object failure.

addProcessorInterface

public void addProcessorInterface(java.lang.String interfaceClassName,
                                  com.sas.services.information.publicobject.ProcessorInterface actionInterface)
                           throws ServiceException,
                                  java.rmi.RemoteException
Description copied from interface: PublicObjectInterface
Add an action interface to this class.

Specified by:
addProcessorInterface in interface PublicObjectInterface
Throws:
ServiceException
java.rmi.RemoteException

getProcessorInterface

public com.sas.services.information.publicobject.ProcessorInterface getProcessorInterface(java.lang.String interfaceClassName)
                                                                                   throws ServiceException,
                                                                                          java.rmi.RemoteException
Description copied from interface: PublicObjectInterface
Get the specified action interface.

Specified by:
getProcessorInterface in interface PublicObjectInterface
Returns:
ProcessorInterface
Throws:
ServiceException
java.rmi.RemoteException

getIdentifier

public java.lang.String getIdentifier()
                               throws ServiceException,
                                      java.rmi.RemoteException
Description copied from interface: PublicObjectInterface
Get the unique ID of this object.

Specified by:
getIdentifier in interface PublicObjectInterface
Returns:
String
Throws:
ServiceException
java.rmi.RemoteException

getContainer

public PublicObjectContainerInterface getContainer()
                                            throws ServiceException,
                                                   java.rmi.RemoteException
Description copied from interface: PublicObjectInterface
Get the object which contains this object.

Specified by:
getContainer in interface PublicObjectInterface
Returns:
PublicObjectContainerInterface
Throws:
ServiceException
java.rmi.RemoteException

getObjectURI

public java.net.URI getObjectURI()
                          throws ServiceException
Description copied from interface: PublicObjectInterface
This method is currently not being implemented and is reserved for future use.

Get the location of this object in the SAS Tree. This should be of the form sasds://xxx/xxx/xxx/

Specified by:
getObjectURI in interface PublicObjectInterface
Returns:
java.net.URI
Throws:
ServiceException

getTypeDescriptor

public TypeDescriptorInterface getTypeDescriptor()
                                          throws ServiceException,
                                                 java.rmi.RemoteException
Description copied from interface: PublicObjectInterface
Get the type descriptor which should have the information from the Type Dictionary in metadata available for the clients.

Specified by:
getTypeDescriptor in interface PublicObjectInterface
Returns:
TypeDescriptorInterface
Throws:
ServiceException
java.rmi.RemoteException

addResponsibleParty

public void addResponsibleParty(com.sas.services.information.publicobject.Responsibility newResponsibility)
                         throws ServiceException,
                                java.rmi.RemoteException
Description copied from interface: MetadataInterface
Add a new responsibleParty to this object.

Specified by:
addResponsibleParty in interface MetadataInterface
Parameters:
newResponsibility - The new responsible party to add.
Throws:
ServiceException - If a server error occurs.
java.rmi.RemoteException - In the event of remote object failure.

getResponsibleParties

public java.util.List getResponsibleParties()
                                     throws ServiceException,
                                            java.rmi.RemoteException
Description copied from interface: MetadataInterface
Get the responsible parties for this object.

Specified by:
getResponsibleParties in interface MetadataInterface
Returns:
A List of Responsibility objects representing the responsible parties for this object.
Throws:
ServiceException - If a server error occurs.
java.rmi.RemoteException - In the event of remote object failure.

removeResponsibleParty

public void removeResponsibleParty(com.sas.services.information.publicobject.Responsibility responsibility)
                            throws ServiceException,
                                   java.rmi.RemoteException
Description copied from interface: MetadataInterface
Remove a responsible party from this metadata object.

Specified by:
removeResponsibleParty in interface MetadataInterface
Parameters:
responsibility - The responsible party to remove.
Throws:
ServiceException - If a server error occurs.
java.rmi.RemoteException - In the event of remote object failure.

getUsageVersion

public com.sas.util.UsageVersion getUsageVersion()
                                          throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
Return the usage version of the metadata.

Specified by:
getUsageVersion in interface MetadataInterface
Returns:
The metadata usage version.
Throws:
java.rmi.RemoteException - In the event of remote object failure.

isCompatible

public boolean isCompatible()
                     throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
Return a boolean indicating if this object is fully compatible with the version of the metadata.

Specified by:
isCompatible in interface MetadataInterface
Returns:
true if the metadata and object are fully compatible, false otherwise.
Throws:
java.rmi.RemoteException - In the event of remote object failure.

isReadCompatible

public boolean isReadCompatible()
                         throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
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.

Specified by:
isReadCompatible in interface MetadataInterface
Returns:
true if the metadata and object are read compatible, false otherwise.
Throws:
java.rmi.RemoteException - In the event of remote object failure.

isObjectAlive

public boolean isObjectAlive()
                      throws ServiceException,
                             java.rmi.RemoteException
Description copied from interface: MetadataInterface
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.

Specified by:
isObjectAlive in interface MetadataInterface
Returns:
true if the object is found. False otherwise.
Throws:
ServiceException - In the event of repository failure.
java.rmi.RemoteException - In the event of remote object failure.

getParent

public FolderInterface getParent()
                          throws ServiceException,
                                 java.rmi.RemoteException
Description copied from interface: MetadataInterface
Return the FolderInterface that contains this object. For objects in the SAS Folder hierarchy, there should be exactly one parent folder.

Specified by:
getParent in interface MetadataInterface
Returns:
The FolderInterface that contains this object as a member.
Throws:
ServiceException - if an error occurs
java.rmi.RemoteException - if an error occurs

setDeleted

public void setDeleted()
                throws java.rmi.RemoteException
Description copied from interface: MetadataInterface
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.

Specified by:
setDeleted in interface MetadataInterface
Throws:
java.rmi.RemoteException - In the event of remote object failure.

getLockedBy

public java.lang.String getLockedBy()
                             throws ServiceException,
                                    java.rmi.RemoteException
Description copied from interface: MetadataInterface
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.

Specified by:
getLockedBy in interface MetadataInterface
Returns:
The user with the object checked out, or "".
Throws:
ServiceException - If a repository error occurs.
java.rmi.RemoteException - In the event of remote object failure.

getAuthorizationUtil

public AuthorizationUtilInterface getAuthorizationUtil()
                                                throws ServiceException,
                                                       java.rmi.RemoteException
Description copied from interface: MetadataInterface
Get the AuthorizationUtil Interface for this object

Specified by:
getAuthorizationUtil in interface MetadataInterface
Returns:
an AuthorizationUtilInterface
Throws:
ServiceException - If a metadata server error occurs.
java.rmi.RemoteException - In the event of remote object failure.

***  This class provides Binary Compatibility only, not Source Compatibility  ***




Copyright © 2009 SAS Institute Inc. All Rights Reserved.