Module com.darkcollective.relix.ast
Package com.darkcollective.relix.ast
Record Class PatternPredicate
java.lang.Object
java.lang.Record
com.darkcollective.relix.ast.PatternPredicate
- Record Components:
operand- the expression whose string value is tested; must not be nullpattern- the LIKE pattern string literal; must not be nullnegated-truefor NOT LIKE,falsefor LIKElocation- the source location of this predicate; never null
- All Implemented Interfaces:
Predicate
public record PatternPredicate(Operand operand, Operand pattern, boolean negated, SourceLocation location)
extends Record
implements Predicate
Represents a pattern-matching predicate:
operand LIKE pattern or
operand NOT LIKE pattern.
The LIKE pattern uses SQL wildcard syntax:
%— matches any sequence of zero or more characters._— matches exactly one character.- All other characters — match literally (case-sensitive).
Examples:
σ name LIKE "%smith%" (Users) σ email NOT LIKE "%@example.com" (Users)
-
Constructor Summary
ConstructorsConstructorDescriptionPatternPredicate(Operand operand, Operand pattern, boolean negated) Convenience constructor for tests; usesSourceLocation.UNKNOWN.PatternPredicate(Operand operand, Operand pattern, boolean negated, SourceLocation location) Creates an instance of aPatternPredicaterecord class. -
Method Summary
Modifier and TypeMethodDescription<R> Raccept(PredicateVisitor<R> visitor) final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.location()Returns the value of thelocationrecord component.booleannegated()Returns the value of thenegatedrecord component.operand()Returns the value of theoperandrecord component.pattern()Returns the value of thepatternrecord component.final StringtoString()Returns a string representation of this record class.
-
Constructor Details
-
PatternPredicate
Creates an instance of aPatternPredicaterecord class. -
PatternPredicate
Convenience constructor for tests; usesSourceLocation.UNKNOWN.
-
-
Method Details
-
accept
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared withObjects::equals(Object,Object); primitive components are compared with '=='. -
operand
Returns the value of theoperandrecord component.- Returns:
- the value of the
operandrecord component
-
pattern
Returns the value of thepatternrecord component.- Returns:
- the value of the
patternrecord component
-
negated
public boolean negated()Returns the value of thenegatedrecord component.- Returns:
- the value of the
negatedrecord component
-
location
Returns the value of thelocationrecord component.
-