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

se.kuseman.payloadbuilder.api.catalog.OperatorFunctionInfo Maven / Gradle / Ivy

package se.kuseman.payloadbuilder.api.catalog;

import se.kuseman.payloadbuilder.api.catalog.Column.Type;
import se.kuseman.payloadbuilder.api.execution.IExecutionContext;
import se.kuseman.payloadbuilder.api.execution.TupleVector;
import se.kuseman.payloadbuilder.api.execution.ValueVector;

/** Base class for operator functions */
public abstract class OperatorFunctionInfo extends FunctionInfo
{
    public OperatorFunctionInfo(String name)
    {
        super(name, FunctionType.OPERATOR);
    }

    /** Evaluate this function against input vector. */
    public abstract ValueVector eval(IExecutionContext context, String catalogAlias, TupleVector input);

    /** Return the return type that this function will produce */
    public ResolvedType getType(Schema input)
    {
        return ResolvedType.of(Type.Any);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy