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 TypeMethodDescriptionbooleancontains(IRegionNode node) Tests whether a region node is within this scope.booleanReports whether this scope places no restriction — i.e.
Method Details
contains
Tests whether a region node is within this scope.- Parameters:
node- The node to test.- Returns:
trueifnodelies 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:
trueif this scope contains every node.