Interface IRegionScope


public interface IRegionScope
A set of region subtrees, used as either a send's target-region selector or an operator's authorization scope.

A scope is a set of subtree roots; a region node is "in scope" if it lies within any of them (IRegionNode.isWithin(IRegionNode)). The same type expresses two different guards in the routing plan: as a selector it decides whether a matched subscription is targeted or DeliveryOutcome.EXCLUDED_BY_REGION; as an authorization scope it decides whether a matched subscription is permitted or DeliveryOutcome.UNAUTHORIZED_REGION. Both reduce to the same containment test.

Author:
IIZI
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Tests whether a region node is within this scope.
    boolean
    Reports whether this scope places no restriction — i.e.
  • Method Details

    • contains

      boolean contains(IRegionNode node)
      Tests whether a region node is within this scope.
      Parameters:
      node - The node to test.
      Returns:
      true if node lies within any of this scope's subtrees.
    • isUnrestricted

      boolean isUnrestricted()
      Reports whether this scope places no restriction — i.e. it contains the root and therefore every node. A send with an unrestricted selector targets all regions (subject still to authorization); an operator with an unrestricted authorization scope may act on any region.
      Returns:
      true if this scope contains every node.