Package com.orchestranetworks.schema.types.dataspace

# Interface DataspaceSet

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

public interface DataspaceSet
Declarative definition of a set of dataspaces thanks to a list of include and exclude subsets.

By default, if no include/exclude is provided, the set contains all the opened non-technical branches of the repository. As soon as an exclude restriction is set, an include restriction must also be specified.

It is worth noticing that the order of the declaration of the includes/excludes does not matter.

Since:
  5.8.0

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static enum`
  `DataspaceSet.DataspaceChildrenPolicy`
  Inclusion policies for the children of a current dataspace in a current subset.
  `static enum`
  `DataspaceSet.DataspaceType`
  Defines all the types that a dataspace can be.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `excludeDataspacesMatching(HomeKey aHomeKey, DataspaceSet.DataspaceChildrenPolicy aChildrenPolicy)`
  From the set of dataspaces created thanks to the include methods, excludes the dataspace matching the given key and its descendants according to the provided children policy.
  `void`
  `excludeDataspacesMatching(Pattern aPattern, DataspaceSet.DataspaceType aType, DataspaceSet.DataspaceChildrenPolicy aChildrenPolicy)`
  From the set of dataspaces created thanks to the include methods, excludes the dataspaces matching the specified pattern of the specified type, and its descendants according to the provided children policy.
  `void`
  `includeAllDataspaces(DataspaceSet.DataspaceType aType)`
  Includes all the dataspaces of the specified type.
  `void`
  `includeDataspacesMatching(HomeKey aHomeKey, DataspaceSet.DataspaceChildrenPolicy aChildrenPolicy)`
  Includes the dataspace matching the given key and its descendants according to the provided children policy.
  `void`
  `includeDataspacesMatching(Pattern aPattern, DataspaceSet.DataspaceType aType, DataspaceSet.DataspaceChildrenPolicy aChildrenPolicy)`
  Includes the dataspaces matching the specified pattern of the specified type, and its descendants according to the provided children policy.
  `void`
  `setIgnoreDataspacesDefaultExcludes(boolean ignoreDefaultExcludes)`
  By default, the reserved branches and snapshots are not taken into account by the includes and excludes.

- ## Method Details

  - ### includeAllDataspaces

    void includeAllDataspaces(DataspaceSet.DataspaceType aType)
    Includes all the dataspaces of the specified type.

    Nevertheless, it is still possible to exclude a subset of dataspaces thanks to the methods `excludeDataspacesMatching(HomeKey, DataspaceChildrenPolicy)` or `excludeDataspacesMatching(Pattern, DataspaceType, DataspaceChildrenPolicy)`.

    Reserved branches and snapshots won't be included until `setIgnoreDataspacesDefaultExcludes(boolean)` is called.

  - ### includeDataspacesMatching

    void includeDataspacesMatching(HomeKey aHomeKey, DataspaceSet.DataspaceChildrenPolicy aChildrenPolicy)
    Includes the dataspace matching the given key and its descendants according to the provided children policy.

    Nevertheless, it is still possible to exclude a subset of dataspaces thanks to the methods `excludeDataspacesMatching(HomeKey, DataspaceChildrenPolicy)` or `excludeDataspacesMatching(Pattern, DataspaceType, DataspaceChildrenPolicy)`.

    Reserved branches and snapshots won't be included until `setIgnoreDataspacesDefaultExcludes(boolean)` is called.

    Parameters:
      `aHomeKey` - the home key which will be included.
      `aChildrenPolicy` - the policy that will be applied to the matching dataspaces.

  - ### includeDataspacesMatching

    void includeDataspacesMatching(Pattern aPattern, DataspaceSet.DataspaceType aType, DataspaceSet.DataspaceChildrenPolicy aChildrenPolicy)
    Includes the dataspaces matching the specified pattern of the specified type, and its descendants according to the provided children policy.

    Nevertheless, it is still possible to exclude an subset of dataspaces thanks to the method `excludeDataspacesMatching(HomeKey, DataspaceChildrenPolicy)` or `excludeDataspacesMatching(Pattern, DataspaceType, DataspaceChildrenPolicy)`.

    Reserved branches and snapshots won't be included until `setIgnoreDataspacesDefaultExcludes(boolean)` is called.

    Parameters:
      `aPattern` - the pattern that will be applied.
      `aType` - the type of dataspaces that must match.
      `aChildrenPolicy` - the policy applied to the children.

  - ### excludeDataspacesMatching

    void excludeDataspacesMatching(HomeKey aHomeKey, DataspaceSet.DataspaceChildrenPolicy aChildrenPolicy)
    From the set of dataspaces created thanks to the include methods, excludes the dataspace matching the given key and its descendants according to the provided children policy.
    Parameters:
      `aHomeKey` - the home key which will be excluded.
      `aChildrenPolicy` - the policy that will be applied to the matching dataspaces. Note that if `aHomeKey` targets a dataspace, the associated initial snapshot is not concerned by this exclude children policy.
    See Also:
      - `includeDataspacesMatching(HomeKey, DataspaceChildrenPolicy)`
      - `includeDataspacesMatching(Pattern, DataspaceType, DataspaceChildrenPolicy)`

  - ### excludeDataspacesMatching

    void excludeDataspacesMatching(Pattern aPattern, DataspaceSet.DataspaceType aType, DataspaceSet.DataspaceChildrenPolicy aChildrenPolicy)
    From the set of dataspaces created thanks to the include methods, excludes the dataspaces matching the specified pattern of the specified type, and its descendants according to the provided children policy.
    Parameters:
      `aPattern` - the pattern that will be applied.
      `aType` - the type of dataspaces that must match.
      `aChildrenPolicy` - the policy applied to the children.
    See Also:
      - `includeDataspacesMatching(HomeKey, DataspaceChildrenPolicy)`
      - `includeDataspacesMatching(Pattern, DataspaceType, DataspaceChildrenPolicy)`

  - ### setIgnoreDataspacesDefaultExcludes

    void setIgnoreDataspacesDefaultExcludes(boolean ignoreDefaultExcludes)
    By default, the reserved branches and snapshots are not taken into account by the includes and excludes. This method allows to override this default behavior.
    Parameters:
      `ignoreDefaultExcludes` - `false` by default. Set to `true` so that the reserved branches and snapshots are no longer excluded.