Package eu.bandm.tools.paisley
Class Transform<A,B>
java.lang.Object
eu.bandm.tools.paisley.Pattern<B>
eu.bandm.tools.paisley.Unary<B,A>
eu.bandm.tools.paisley.Transform<A,B>
- Type Parameters:
A
- the target type of the containing patternB
- the target type of the contained subpattern
- All Implemented Interfaces:
Serializable
,Cloneable
- Direct Known Subclasses:
RestrictedTransform
,TotalTransform
Abstract base class for patterns that delegate transformed targets
to a subpattern.
Subclasses must implement the apply(A)
and
Pattern#isApplicable
methods.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class eu.bandm.tools.paisley.Pattern
Pattern.Either<A>
-
Field Summary
Fields inherited from class eu.bandm.tools.paisley.Pattern
_left_matched, _target_save, none
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract B
Transforms a target to be matched into a target for the subpattern.protected void
compileApply
(CompilationContext context) Methods inherited from class eu.bandm.tools.paisley.Unary
binds, clear, clone, compileClear, compileCut, cut, getBody, isDeterministic, matchAgain, preserves, preserves, setBody, toString
Methods inherited from class eu.bandm.tools.paisley.Pattern
all, all, all, all, all, and, andThen, andThen, any, aside, both, clear, compile, compileClear, compileCut, compileIsDeterministic, compileMatch, compileMatchAgain, compileSubPattern, compileThis, compileUpTo, cut, DEBUG, either, enPassant, flatten, limit, main, match, matchOnce, matchVar, narrow, newAll, noMatch, none, of, or, orElse, orElse, repeat, some, some, some, some, someMatch, startCompile, uniquely, variable, variable
-
Constructor Details
-
Transform
Creates a new pattern.
-
-
Method Details
-
apply
Transforms a target to be matched into a target for the subpattern.- Parameters:
target
- the target for this pattern to be matched against.- Returns:
- a target for
Unary.body
to be matched against.
-
compileApply
-