All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.cloudevents.sql.impl.expressions.BaseUnaryExpression Maven / Gradle / Ivy

There is a newer version: 4.0.1
Show newest version
package io.cloudevents.sql.impl.expressions;

import io.cloudevents.CloudEvent;
import io.cloudevents.sql.EvaluationRuntime;
import io.cloudevents.sql.impl.ExceptionThrower;
import io.cloudevents.sql.impl.ExpressionInternal;
import io.cloudevents.sql.impl.ExpressionInternalVisitor;
import org.antlr.v4.runtime.misc.Interval;

public abstract class BaseUnaryExpression extends BaseExpression {

    protected ExpressionInternal internal;

    public BaseUnaryExpression(Interval expressionInterval, String expressionText, ExpressionInternal internal) {
        super(expressionInterval, expressionText);
        this.internal = internal;
    }

    public abstract Object evaluate(EvaluationRuntime runtime, Object value, ExceptionThrower exceptions);

    @Override
    public Object evaluate(EvaluationRuntime runtime, CloudEvent event, ExceptionThrower thrower) {
        return evaluate(runtime, internal.evaluate(runtime, event, thrower), thrower);
    }

    @Override
    public  T visit(ExpressionInternalVisitor visitor) {
        return visitor.visitBaseUnaryExpression(this);
    }

    public ExpressionInternal getOperand() {
        return internal;
    }

    public BaseUnaryExpression setOperand(ExpressionInternal internal) {
        this.internal = internal;
        return this;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy