Package com.orchestranetworks.userservice.declaration

# Interface ActivationContextWithDatasetSet<S extends DatasetEntitySelection>

Type Parameters:
  `S` - Defined by the sub-interface to specify the type of entity selection associated with the declared user service.

All Superinterfaces:
  `ActivationContext<S>`, `DatasetSet`, `DataspaceSet`

All Known Subinterfaces:
  `ActivationContextOnAssociation`, `ActivationContextOnAssociationRecord`, `ActivationContextOnDataset`, `ActivationContextOnHierarchy`, `ActivationContextOnHierarchyNode`, `ActivationContextOnRecord`, `ActivationContextOnTableView`, `ActivationContextWithSchemaNodeSet<S>`

public interface ActivationContextWithDatasetSet<S extends DatasetEntitySelection> extends ActivationContext<S>, DataspaceSet, DatasetSet
Provides common methods for activation contexts related to datasets. All these contexts can define a set of datasets in which the service is activated.

### Dataset maximum scope for activation

The maximum activation scope for the set of datasets depends on the type of user declaration:

- when the registration is done in the context of a data model definition, the maximum scope is all datasets that are an instance of the current data model;
- when the registration is done in the context of a module registration, the maximum scope is all datasets of the repository.

Since:
  5.8.0

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from interface com.orchestranetworks.schema.types.dataset.DatasetSet

  `DatasetSet.DatasetChildrenPolicy`

  ## Nested classes/interfaces inherited from interface com.orchestranetworks.schema.types.dataspace.DataspaceSet

  `DataspaceSet.DataspaceChildrenPolicy, DataspaceSet.DataspaceType`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `SchemaNode`
  `getDataModelRootNode()`
  Returns the root node of the current data model, `null` if the service is being registered in the context of a module.
  `void`
  `setActivationRule(ServiceActivationRuleForDataset anActivationRule)`
  Activates the service using an advanced rule based on the current dataset.

  ### Methods inherited from interface com.orchestranetworks.userservice.declaration.ActivationContext

  `getAvailableToolbarLocations, setDefaultPermission, setDisplayForAllLocations, setDisplayForLocations, setPermissionRule`

  ### Methods inherited from interface com.orchestranetworks.schema.types.dataset.DatasetSet

  `excludeDatasetsMatching, excludeDatasetsMatching, includeAllDatasets, includeDatasetsMatching, includeDatasetsMatching`

  ### Methods inherited from interface com.orchestranetworks.schema.types.dataspace.DataspaceSet

  `excludeDataspacesMatching, excludeDataspacesMatching, includeAllDataspaces, includeDataspacesMatching, includeDataspacesMatching, setIgnoreDataspacesDefaultExcludes`

- ## Method Details

  - ### getDataModelRootNode

    SchemaNode getDataModelRootNode()
    Returns the root node of the current data model, `null` if the service is being registered in the context of a module.

  - ### setActivationRule

    void setActivationRule(ServiceActivationRuleForDataset anActivationRule)
    Activates the service using an advanced rule based on the current dataset.

    Deactivated user services are unavailable in the specified context, including in permission UI screens.

    When a service is activated dynamically for a given dataset, the service default permission is set for all profiles in this dataset (see `ActivationContext.setDefaultPermission(UserServicePermission)`).