A - the target type of the containing patternB - the target type of the contained subpatternpublic abstract class MultiTransform<A,B> extends FlatMultiTransform<A,B>
Subclasses must implement the apply(A) method.
| Modifier | Constructor and Description |
|---|---|
protected |
MultiTransform(Pattern<? super B> body)
Creates a new pattern.
|
| Modifier and Type | Method and Description |
|---|---|
abstract Iterable<B> |
apply(A target)
Transforms a target to be matched into an enumeration of targets
for the subpattern.
|
void |
close() |
protected void |
compileApply(eu.bandm.tools.paisley.CompilationContext context) |
protected void |
compileClose(eu.bandm.tools.paisley.CompilationContext context) |
protected void |
compileHasNext(eu.bandm.tools.paisley.CompilationContext context) |
protected void |
compileNext(eu.bandm.tools.paisley.CompilationContext context) |
protected void |
compileOpen(eu.bandm.tools.paisley.CompilationContext context) |
boolean |
hasNext() |
B |
next() |
void |
open(A target) |
compileMatch, compileMatchAgain, compileMatchNext, compileMatchNextBody, cut, match, matchAgainbinds, clear, clone, compileClear, compileCut, getBody, isDeterministic, preserves, preserves, setBody, toStringall, all, all, all, all, and, andThen, andThen, any, any, aside, both, clear, compareTo, compile, compileClear, compileCut, compileIsDeterministic, compileSubPattern, compileThis, compileUpTo, cut, DEBUG, either, enPassant, eq, eqNull, equal, filter, flatten, forInstancesOf, limit, main, matchOnce, matchVar, narrow, neq, neqNull, newAll, noMatch, none, or, orElse, orElse, repeat, some, some, some, some, someMatch, startCompile, test, transform, uniquely, variable, variablepublic abstract Iterable<B> apply(A target)
target - the target for this pattern to be matched against.Unary.body to be matched against.public void open(A target)
open in class FlatMultiTransform<A,B>public void close()
close in class FlatMultiTransform<A,B>public boolean hasNext()
hasNext in class FlatMultiTransform<A,B>public B next()
next in class FlatMultiTransform<A,B>protected void compileOpen(eu.bandm.tools.paisley.CompilationContext context)
compileOpen in class FlatMultiTransform<A,B>protected void compileClose(eu.bandm.tools.paisley.CompilationContext context)
compileClose in class FlatMultiTransform<A,B>protected void compileHasNext(eu.bandm.tools.paisley.CompilationContext context)
compileHasNext in class FlatMultiTransform<A,B>protected void compileNext(eu.bandm.tools.paisley.CompilationContext context)
compileNext in class FlatMultiTransform<A,B>protected void compileApply(eu.bandm.tools.paisley.CompilationContext context)
see also the complete user documentation .