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

Package com.sas.services.information.metadata

# Interface PropertyGroupInterface

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

@SASScope("ALL") @BinaryCompatibilityOnly public interface PropertyGroupInterface extends MetadataInterface

- ## 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`
  `addCustomizer(SoftwareComponentInterface softcom)`
  Add a `SoftwareComponentInterface` object as a customizer of this PropertyGroup.
  `void`
  `addGroupedProperty(AbstractPropertyInterface property)`
  Add a `AbstractPropertyInterface` to the collection grouped by this PropertyGroup.
  `void`
  `addSubpropertyGroup(PropertyGroupInterface group)`
  Add a subproperty group.
  `List`
  `getCustomizers()`
  Get the List of `SoftwareComponentInterface` objects which act as customizers to this group.
  `List`
  `getGroupedProperties()`
  Get the List of `AbstractPropertyInterface` objects grouped by this PropertyGroup.
  `int`
  `getMaximum()`
  Get the maximum number of properties in this group that may have values.
  `int`
  `getMinimum()`
  Get the minimum number of properties in this group that must have values.
  `PortalProperties`
  `getPortalProperties()`
  The portal uses this special method after a search using a special partial filter.
  `List`
  `getSubpropertyGroups()`
  Get the subproperty groups.
  `boolean`
  `isVisible()`
  Should this group be displayed in a UI?
  `void`
  `removeCustomizer(SoftwareComponentInterface softcom)`
  Remove a `SoftwareComponentInterface` from the list of customizers of this PropertyGroup.
  `void`
  `removeGroupedProperty(AbstractPropertyInterface property)`
  Remove a `AbstractPropertyInterface` object from the group.
  `void`
  `removeSubpropertyGroup(PropertyGroupInterface group)`
  Remove a subproperty group.
  `void`
  `setCustomizers(List softcoms)`
  Set the list of `SoftwareComponentInterface` objects to act as customizers on this PropertyGroup.
  `void`
  `setGroupedProperties(List properties)`
  Set the collection of `AbstractPropertyInterface` objects grouped by this PropertyGroup.
  `void`
  `setIsVisible(boolean isVisible)`
  Set flag indicating whether this group should be displayed in a UI.
  `void`
  `setMaximum(int maximum)`
  Set the maximum allowed number of properties in this group.
  `void`
  `setMinimum(int minimum)`
  Set the minimum number of properties in this group that must have values.
  `void`
  `setSubpropertyGroups(List groups)`
  Set the list of subproperty groups.

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

  - ### isVisible

    boolean isVisible() throws ServiceException, RemoteException
    Should this group be displayed in a UI?
    Returns:
      true or false.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setIsVisible

    void setIsVisible(boolean isVisible) throws ServiceException, RemoteException
    Set flag indicating whether this group should be displayed in a UI.
    Parameters:
      `isVisible` - True if this is a group to be displayed.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getMinimum

    int getMinimum() throws ServiceException, RemoteException
    Get the minimum number of properties in this group that must have values.
    Returns:
      The minimum number of properties with values.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setMinimum

    void setMinimum(int minimum) throws ServiceException, RemoteException
    Set the minimum number of properties in this group that must have values.
    Parameters:
      `minimum` - The minimum number of properties with values.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getMaximum

    int getMaximum() throws ServiceException, RemoteException
    Get the maximum number of properties in this group that may have values.
    Returns:
      The maximum allowed properties in this group.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setMaximum

    void setMaximum(int maximum) throws ServiceException, RemoteException
    Set the maximum allowed number of properties in this group.
    Parameters:
      `maximum` - The maximum allowed number of properties in this group.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getSubpropertyGroups

    List getSubpropertyGroups() throws ServiceException, RemoteException
    Get the subproperty groups.
    Returns:
      A List of PropertyGroupInterface objects that are subproperty groups.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### addSubpropertyGroup

    void addSubpropertyGroup(PropertyGroupInterface group) throws ServiceException, RemoteException
    Add a subproperty group.
    Parameters:
      `group` - A PropertyGroupInterface object to make a subproperty group of this one.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### removeSubpropertyGroup

    void removeSubpropertyGroup(PropertyGroupInterface group) throws ServiceException, RemoteException
    Remove a subproperty group.
    Parameters:
      `group` - The PropertyGroup to remove as a subproperty group.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setSubpropertyGroups

    void setSubpropertyGroups(List groups) throws ServiceException, RemoteException
    Set the list of subproperty groups.
    Parameters:
      `groups` - A List of PropertyGroupInterface objects to make the current list of subproperty groups.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getCustomizers

    List getCustomizers() throws ServiceException, RemoteException
    Get the List of `SoftwareComponentInterface` objects which act as customizers to this group.
    Returns:
      A List of `SoftwareComponentInterface` objects which are the customizers of this PropertyGroup.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### addCustomizer

    void addCustomizer(SoftwareComponentInterface softcom) throws ServiceException, RemoteException
    Add a `SoftwareComponentInterface` object as a customizer of this PropertyGroup.
    Parameters:
      `softcom` - The `SoftwareComponentInterface` object to make a customizer.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### removeCustomizer

    void removeCustomizer(SoftwareComponentInterface softcom) throws ServiceException, RemoteException
    Remove a `SoftwareComponentInterface` from the list of customizers of this PropertyGroup.
    Parameters:
      `softcom` - The `SoftwareComponentInterface` to remove from the list of customizers on this PropertyGroup.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setCustomizers

    void setCustomizers(List softcoms) throws ServiceException, RemoteException
    Set the list of `SoftwareComponentInterface` objects to act as customizers on this PropertyGroup.
    Parameters:
      `softcoms` - The List of `SoftwareComponentInterface` objects.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getGroupedProperties

    List getGroupedProperties() throws ServiceException, RemoteException
    Get the List of `AbstractPropertyInterface` objects grouped by this PropertyGroup.
    Returns:
      A List of `AbstractPropertyInterface` objects grouped by this PropertyGroup.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### addGroupedProperty

    void addGroupedProperty(AbstractPropertyInterface property) throws ServiceException, RemoteException
    Add a `AbstractPropertyInterface` to the collection grouped by this PropertyGroup.
    Parameters:
      `property` - A `AbstractPropertyInterface` object to add to this group.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### removeGroupedProperty

    void removeGroupedProperty(AbstractPropertyInterface property) throws ServiceException, RemoteException
    Remove a `AbstractPropertyInterface` object from the group.
    Parameters:
      `property` - The `AbstractPropertyInterface` to remove from the group.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setGroupedProperties

    void setGroupedProperties(List properties) throws ServiceException, RemoteException
    Set the collection of `AbstractPropertyInterface` objects grouped by this PropertyGroup.
    Parameters:
      `properties` - The List of `AbstractPropertyInterface` objects grouped by this PropertyGroup.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getPortalProperties

    PortalProperties getPortalProperties() throws ServiceException, RemoteException
    The portal uses this special method after a search using a special partial filter. This sets the objects state to AL_PARTIALSET so that jOMA knows that if someone else asks for it, to refetch the data. It then gets the groupedProperties, customizers without allowing a trip to the server, getting only what's already in the object store, and requests the Properties forcing a trip to the server, then returns them in the PortalProperties object.
    Returns:
      A PortalProperties object with the cached values in the GroupedProperties, Customizers, and Properties associations.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.