Package eu.bandm.tools.paisley
Class Atomic<A>
java.lang.Object
eu.bandm.tools.paisley.AbstractPattern<A>
eu.bandm.tools.paisley.Atomic<A>
- Type Parameters:
A- the target type
- All Implemented Interfaces:
Pattern<A>,Serializable,Cloneable
- Direct Known Subclasses:
Constraint
@Generated(generator="eu.bandm.tools.expander",
version="",
timestamp="2026-01-24T11:39:07")
public abstract class Atomic<A>
extends AbstractPattern<A>
Abstract base class for patterns that contain no subpatterns.
Subclasses of this class must represent deterministic patterns that
affect no variable.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionA pattern that matches anything. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanChecks whether a variable is bound by this pattern.fork()Return a reference that behaves like a copy of this pattern.final booleanChecks whether this pattern is deterministic.final booleanAttempts to re-match this pattern against a previously matched object.static <A> Atomic<A> final booleanChecks whether a variable is preserved by this pattern unconditionally.final booleanChecks whether a variable is preserved by this pattern, conditionally on success or failure.Methods inherited from class eu.bandm.tools.paisley.AbstractPattern
clone, doclone
-
Field Details
-
anyObject
A pattern that matches anything. This pattern may be shared and reused concurrently.
-
-
Constructor Details
-
Atomic
protected Atomic()Creates a new atomic pattern.
-
-
Method Details
-
of
-
matchAgain
public final boolean matchAgain()Attempts to re-match this pattern against a previously matched object.If the class of this pattern imposes a specific order on matches, they are chosen in that order, beginning with the second one. The behaviour of this method is unspecified if the last matching attempt of this pattern has not been successful.
Patterns classes that do not override this method are deterministic. Pattern classes that overwrite this method to provide additional matches should also override
Pattern.isDeterministic().- Returns:
false- See Also:
-
binds
Checks whether a variable is bound by this pattern.The default implementation returns
false.- Parameters:
v- a pattern variable- Returns:
false
-
preserves
Checks whether a variable is preserved by this pattern, conditionally on success or failure.The default implementation returns
false.- Parameters:
v- a pattern variablesuccess- specifies preservation on success or failure- Returns:
true
-
preserves
Checks whether a variable is preserved by this pattern unconditionally.The default implementation returns
false.- Parameters:
v- a pattern variable- Returns:
true
-
isDeterministic
public final boolean isDeterministic()Checks whether this pattern is deterministic.The default implementation returns
false.- Returns:
true- See Also:
-
fork
Return a reference that behaves like a copy of this pattern. This implementation asserts that no duplication is required, and always returnsthis.
-