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

Package com.sas.services.information.metadata

# Interface RemarksInterface

All Superinterfaces:
  `MetadataInterface`, `PublicObjectInterface`, `Remote`

All Known Implementing Classes:
  `Remarks`

@SASScope("ALL") @BinaryCompatibilityOnly public interface RemarksInterface extends MetadataInterface, Remote
Remarks are a list of comments, which forms a way of grouping comments on a related topic together. A list of remarks can be obtained from a metadata object using the `getRemarksList` on corresponding metadata objects.

- ## 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`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addComment(CommentInterface comment)`
  Add a comment - as long as user is an allowed participant
  `void`
  `addReferral(String entityKey)`
  Sets the referral, which is the item that refers to this remark.
  `void`
  `clear()`
  Clear the list of comments - only owner is allowed to do this
  `CommentInterface`
  `getComment(CommentFilterInterface filter)`
  Get a comment that satisfies the filter.
  `List`
  `getComments(CommentFilterInterface filter)`
  Get a list of all comments that satisfy the filter.
  `String`
  `getOwner()`
  Gets the owner of the discussion thread
  `String`
  `getProperty(String propertyName)`
  Returns the value of a property.
  `Date`
  `getStarted()`
  Returns the date the discussion thread was started
  `String`
  `getStarted(DateFormat df)`
  Returns the date the discussion thread was started
  `String`
  `getThreadId()`
  Get the thread identifier for this remark
  `String`
  `getTopic()`
  Gets the topic of discussion
  `void`
  `setOwner(UserContextInterface user)`
  Sets the owner of the discussion thread.
  `void`
  `setProperty(String propertyName, String propertyValue)`
  Sets the value of a property
  `void`
  `setThreadId(String threadId)`
  Sets the thread identifier for this remark.
  `void`
  `setTopic(String topic)`
  Sets the topic of discussion.

  ### Methods inherited from interface com.sas.services.information.metadata.MetadataInterface

  `add, addAccessControl, addAttribute, addAttributes, addDocument, addExtension, addGroup, addImplementor, addKeyword, addNoteTextStore, addNoteTextStore, addObjectProperty, addObjectProperty, addPermissions, addPrompt, addPropertySet, addRemark, addResponsibleParty, addTransactionListener, addUsedByPrototype, checkin, checkout, commit, copyTo, countAssociatedObjects, delete, deleteAttribute, deleteAttributes, destroy, getAccessControls, getAttribute, getAttributes, getAuthorizationUtil, getCreateDate, getCreatedBy, getDescription, getDocuments, getEntityKey, getEntityURL, getExtensions, getGroups, getGUID, getIdentities, getImplementors, getKeywords, getLockedBy, getModifiedBy, getModifyDate, getNoteTextStore, getNoteTextStores, getNoteTextStoresByRole, getObjectProperties, getParent, getParentPath, getParents, getPath, getPaths, getPermission, getPermissions, getPermissions, getPreviousVersionNames, getPrimaryPropertyGroup, getPrompt, getPrompts, getPropertyBag, getPropertySets, getRemarksList, getReposId, getRepository, getRepositoryEntity, getRepositoryName, getReposKey, getResponsibleParties, getState, getTrackingId, getType, getUsageVersion, getUsedByPrototypes, getUsingPrototype, getVersion, isAuthorized, isCompatible, isDeleted, isDestroyed, isObjectAlive, isReadCompatible, mapNameToFilesystem, mapUrlToFilesystem, moveTo, newServiceObject, refresh, removeAccessControl, removeDocument, removeExtension, removeGroup, removeImplementor, removeKeyword, removeNoteTextStore, removeObjectProperty, removePermissions, removePrompt, removePropertySet, removeResponsibleParty, removeResponsiblePartyByIdentity, removeUsedByPrototype, rollback, setAttribute, setAttributes, setDeleted, setDescription, setDocuments, setExtensions, setGroups, setGUID, setKeywords, setName, setNoteTextStores, setObjectProperties, setPermission, setPrimaryPropertyGroup, setPrompt, setPrompts, setRemarksList, setRepository, setUsingPrototype, startTransaction, toByteArray, transactionEvent, uncheckout, update, updateFromBag, version`

  ### Methods inherited from interface com.sas.services.information.publicobject.PublicObjectInterface

  `addProcessorInterface, getContainer, getIdentifier, getName, getObjectURI, getPathUrl, getProcessorInterface, getTypeDescriptor`

- ## Method Details

  - ### addComment

    void addComment(CommentInterface comment) throws RemoteException
    Add a comment - as long as user is an allowed participant
    Parameters:
      `comment` - A comment to add to the discussion thread. The comment may contain attachments
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### getComment

    CommentInterface getComment(CommentFilterInterface filter) throws RemoteException
    Get a comment that satisfies the filter. No filter is attained by passing a null filter or setting NOMODIFIER in the CommentFilter.
    Parameters:
      `filter` - A filter to determine which comment in the discussion thread should be returned.
    Returns:
      CommentInterface A comment in the discussion thread
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### getComments

    List getComments(CommentFilterInterface filter) throws RemoteException
    Get a list of all comments that satisfy the filter. No filter is attained by passing a null filter or setting NOMODIFIER in the CommentFilter.
    Parameters:
      `filter` - A filter to determine which comments in the discussion thread should be returned.
    Returns:
      List(of CommentInterface) A list of comments in the discussion thread
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### clear

    void clear() throws RemoteException
    Clear the list of comments - only owner is allowed to do this
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### getOwner

    String getOwner() throws RemoteException
    Gets the owner of the discussion thread
    Returns:
      String The owner/creator of the discussion thread
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### getTopic

    String getTopic() throws RemoteException
    Gets the topic of discussion
    Returns:
      String The topic of discussion
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### setOwner

    void setOwner(UserContextInterface user) throws IllegalStateException, RemoteException
    Sets the owner of the discussion thread. If the owner is already set then an IllegalStateException is thrown.
    Parameters:
      `user` - The user context that represents the owner/creator of the discussion thread
    Throws:
      `IllegalStateException` - If the owner is already set
      `RemoteException` - In the event of remote object failure.

  - ### setTopic

    void setTopic(String topic) throws IllegalStateException, RemoteException
    Sets the topic of discussion. If the topic is already set then an IllegalStateException is thrown.
    Parameters:
      `topic` - The topic for this discussion thread
    Throws:
      `IllegalStateException` - If the topic is already set
      `RemoteException` - In the event of remote object failure.

  - ### getStarted

    Date getStarted() throws RemoteException
    Returns the date the discussion thread was started
    Returns:
      Date The date the discussion thread was started
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### getStarted

    String getStarted(DateFormat df) throws RemoteException
    Returns the date the discussion thread was started
    Parameters:
      `df` - A dateformat to apply to the date for formatting
    Returns:
      String The date the discussion thread was started
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### getProperty

    String getProperty(String propertyName) throws RemoteException
    Returns the value of a property. If the property does not exist then return null.
    Parameters:
      `propertyName` - The name of the property. Use the format "{namespaceURI}name". If the property is not in any namespace then use either "{}name" or just "name".
    Returns:
      String The value of the property requested.
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### setProperty

    void setProperty(String propertyName, String propertyValue) throws RemoteException
    Sets the value of a property
    Parameters:
      `propertyName` - The name of the property. Use the format "{namespaceURI}name". If the property is not in any namespace then use either "{}name" or just "name".
      `propertyValue` - The value for the property.
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### setThreadId

    void setThreadId(String threadId) throws RemoteException
    Sets the thread identifier for this remark.
    Parameters:
      `threadId` - Thread identifier for this remark.
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### getThreadId

    String getThreadId() throws RemoteException
    Get the thread identifier for this remark
    Returns:
      String The thread identifier for this remark
    Throws:
      `RemoteException` - In the event of remote object failure.

  - ### addReferral

    void addReferral(String entityKey) throws RemoteException
    Sets the referral, which is the item that refers to this remark. There can be more than one referral.
    Parameters:
      `entityKey` - The entityKey of the smart object that refers to this remark.
    Throws:
      `RemoteException` - In the event of remote object failure.