cascading.flow.planner.iso.expression

## Class ScopeExpression

- java.lang.Object
- - cascading.flow.planner.iso.expression.ScopeExpression

All Implemented Interfaces:
  Expression<Scope>

Direct Known Subclasses:
  EquivalentTapsScopeExpression, JoinEdgesSameSourceScopeExpression, OrdinalScopeExpression, PathScopeExpression

    public abstract class ScopeExpression
    extends java.lang.Object
    implements Expression<Scope>

If ScopeExpression is the only edge, the `ScopeExpression.Applies` enum will apply, otherwise the number of edges on the target graph must match the number of edges in the expression.

### Nested Class Summary

Nested Classes
`static class` `ScopeExpression.Applies`

### Field Summary

Fields
`static PathScopeExpression` `ALL` Where this expression applies between ALL edges between two nodes.
`static PathScopeExpression` `ANY` Where this expression applies between ANY edge between two nodes.
`protected ScopeExpression.Applies` `applies`
`protected boolean` `capture`
`static PathScopeExpression` `EACH`
`static PathScopeExpression` `NO_CAPTURE` Match the edge, but do not capture it.

### Constructor Summary

Constructors
`protected` `ScopeExpression()`
`` `ScopeExpression(boolean capture, ScopeExpression.Applies applies)`
`protected` `ScopeExpression(ScopeExpression.Applies applies)`

### Method Summary

Methods
`boolean` `acceptsAll()` True if there is at least one edge between the candidate nodes.
`boolean` `appliesToAllPaths()` This match must apply to all the edges between the two candidate nodes for the match to be true.
`boolean` `appliesToAnyPath()` This match must apply to at least one edge between the two candidate nodes for the match to be true.
`boolean` `appliesToEachPath()` This match is applied to each edge, at least one edge between the two candidate nodes must apply for the match to be true.
`ScopeExpression.Applies` `getApplies()`
`boolean` `isCapture()`
`java.lang.String` `toString()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface cascading.flow.planner.iso.expression.Expression

`applies`

### Field Detail

#### ANY

    public static final PathScopeExpression ANY

Where this expression applies between ANY edge between two nodes.

#### ALL

    public static final PathScopeExpression ALL

Where this expression applies between ALL edges between two nodes.

#### EACH

    public static final PathScopeExpression EACH

#### NO_CAPTURE

    public static final PathScopeExpression NO_CAPTURE

Match the edge, but do not capture it. Only works if the edge matched in the contracted graph is exactly present in the original graph. If the edge is a contraction of a more complex path, the edges/path won't be discarded.

#### capture

    protected boolean capture

#### applies

    protected ScopeExpression.Applies applies

### Constructor Detail

#### ScopeExpression

    protected ScopeExpression()

#### ScopeExpression

    protected ScopeExpression(ScopeExpression.Applies applies)

#### ScopeExpression

    public ScopeExpression(boolean capture,
                   ScopeExpression.Applies applies)

### Method Detail

#### isCapture

    public boolean isCapture()

#### appliesToAllPaths

    public boolean appliesToAllPaths()

This match must apply to all the edges between the two candidate nodes for the match to be true.

#### appliesToAnyPath

    public boolean appliesToAnyPath()

This match must apply to at least one edge between the two candidate nodes for the match to be true.

The first to apply is captured.

#### appliesToEachPath

    public boolean appliesToEachPath()

This match is applied to each edge, at least one edge between the two candidate nodes must apply for the match to be true.

Each edge that applies is captured.

#### acceptsAll

    public boolean acceptsAll()

True if there is at least one edge between the candidate nodes.

#### getApplies

    public ScopeExpression.Applies getApplies()

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`