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

Package com.sas.services.information.metadata

# Interface GroupInterface

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

All Known Subinterfaces:
  `ContentSubscriberGroupInterface`, `EventSubscriberGroupInterface`

@SASScope("ALL") @BinaryCompatibilityOnly public interface GroupInterface extends MetadataInterface
This is a generic interface for objects coming out of the repositories that represent groups. A generic group can be a collection of any type of metadata object.

Since:
  1.0

- ## 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`
  `addMember(MetadataInterface member)`
  Add a new member to the group.
  `void`
  `addMemberOrdered(MetadataInterface member)`
  Add a new member to the group such that it will be ordered even if it's in another repository (This is primarily for OMR groups).
  `void`
  `addOwner(PersonInterface owner)`
  Add a person as an owner of the group.
  `List`
  `getMembers()`
  Get the members of the group.
  `List`
  `getMembersAllRepositories()`
  Get all the members of the group, including those that may be in dependent repositories.
  `List`
  `getOwners()`
  Get the list of owners for this list.
  `List`
  `members()`
  Get the members of the group.
  `boolean`
  `removeMember(MetadataInterface member)`
  Remove a member from the group.
  `void`
  `removeOwner(PersonInterface owner)`
  Remove a person from the owner list.

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

  - ### members

    List members() throws ServiceException, RemoteException
    Get the members of the group.

    Returns:
      a List of `MetadataInterface` objects representing the members of the group.
    Throws:
      `ServiceException` - if a service level error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### getMembers

    List getMembers() throws ServiceException, RemoteException
    Get the members of the group.

    Returns:
      a List of `MetadataInterface` objects representing the members of the group.
    Throws:
      `ServiceException` - if a service level error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### getMembersAllRepositories

    List getMembersAllRepositories() throws ServiceException, RemoteException
    Get all the members of the group, including those that may be in dependent repositories.
    Returns:
      A List of `MetadataInterface` objects representing the members of the group.
    Throws:
      `ServiceException` - In the event of repository errors.
      `RemoteException` - In the event of remote object failure.

  - ### addMember

    void addMember(MetadataInterface member) throws ServiceException, RemoteException
    Add a new member to the group.

    Parameters:
      `member` - The new member to add.
    Throws:
      `ServiceException` - if a service level error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### addMemberOrdered

    void addMemberOrdered(MetadataInterface member) throws ServiceException, RemoteException
    Add a new member to the group such that it will be ordered even if it's in another repository (This is primarily for OMR groups).
    Parameters:
      `member` - The new member to add.
    Throws:
      `ServiceException` - if a service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### removeMember

    boolean removeMember(MetadataInterface member) throws ServiceException, RemoteException
    Remove a member from the group.

    Parameters:
      `member` - The member to remove.
    Returns:
      true if the member was removed, false otherwise.
    Throws:
      `ServiceException` - if a service level error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### getOwners

    List getOwners() throws ServiceException, RemoteException
    Get the list of owners for this list.

    Returns:
      a List of com.sas.services.information.metadata.Person objects representing the owner(s) of the group.
    Throws:
      `ServiceException` - if a service level error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### addOwner

    void addOwner(PersonInterface owner) throws ServiceException, RemoteException
    Add a person as an owner of the group.

    Parameters:
      `owner` - The person to add as an owner.
    Throws:
      `ServiceException` - if a service level error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### removeOwner

    void removeOwner(PersonInterface owner) throws ServiceException, RemoteException
    Remove a person from the owner list.

    Parameters:
      `owner` - The person to remove from the list of owners.
    Throws:
      `ServiceException` - if a service level error occurs.
      `RemoteException` - in the event of remote object failure.