Package dev.vortex.api.expressions
Class Not
java.lang.Object
dev.vortex.api.expressions.Not
- All Implemented Interfaces:
Expression
Represents a logical NOT expression that negates the boolean result of its child expression.
This expression applies the logical NOT operation to the result of evaluating its single child expression.
-
Nested Class Summary
Nested classes/interfaces inherited from interface dev.vortex.api.Expression
Expression.Visitor<T>
-
Method Summary
Modifier and TypeMethodDescription<T> T
accept
(Expression.Visitor<T> visitor) Accepts a visitor and dispatches to the appropriate visit method based on the expression type.children()
Returns the children of this expression.boolean
getChild()
Returns the child expression that will be negated by this Not expression.int
hashCode()
id()
The globally unique identifier for this type of expression.Optional<byte[]>
metadata()
Returns the serialized metadata for this expression, or empty if serialization is not supported.static Not
of
(Expression child) Creates a new Not expression that negates the given child expression.static Not
parse
(byte[] metadata, List<Expression> children) Parses a Not expression from serialized metadata and child expressions.toString()
-
Method Details
-
parse
Parses a Not expression from serialized metadata and child expressions. This method is used during deserialization of Vortex expressions.- Parameters:
metadata
- the serialized metadata, must be empty for Not expressionschildren
- the child expressions, must contain exactly one element- Returns:
- a new Not expression parsed from the provided data
- Throws:
RuntimeException
- if the number of children is not exactly one, or if metadata is not empty
-
of
Creates a new Not expression that negates the given child expression.- Parameters:
child
- the expression to negate- Returns:
- a new Not expression
-
equals
-
hashCode
public int hashCode() -
id
Description copied from interface:Expression
The globally unique identifier for this type of expression.- Specified by:
id
in interfaceExpression
-
children
Description copied from interface:Expression
Returns the children of this expression.- Specified by:
children
in interfaceExpression
-
metadata
Description copied from interface:Expression
Returns the serialized metadata for this expression, or empty if serialization is not supported.- Specified by:
metadata
in interfaceExpression
-
toString
-
getChild
Returns the child expression that will be negated by this Not expression.- Returns:
- the child expression
-
accept
Description copied from interface:Expression
Accepts a visitor and dispatches to the appropriate visit method based on the expression type. This method implements the visitor pattern, allowing different operations to be performed on expressions without modifying the expression classes themselves.- Specified by:
accept
in interfaceExpression
- Type Parameters:
T
- the return type of the visitor- Parameters:
visitor
- the visitor to accept- Returns:
- the result of the visitor's operation on this expression
-