Package io.substrait.expression.proto
Class ExpressionProtoConverter
java.lang.Object
io.substrait.expression.proto.ExpressionProtoConverter
- All Implemented Interfaces:
ExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException>
public class ExpressionProtoConverter
extends Object
implements ExpressionVisitor<Expression,EmptyVisitationContext,RuntimeException>
Converts from
Expression to Expression-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final ExtensionCollectorprotected final RelProtoConverterprotected final TypeProtoConverter -
Constructor Summary
ConstructorsConstructorDescriptionExpressionProtoConverter(ExtensionCollector extensionCollector, RelProtoConverter relProtoConverter) -
Method Summary
Modifier and TypeMethodDescriptionstatic FunctionOptionfrom(FunctionOption option) toProto(Expression expression) protected Relprotected TypetoProto(List<Expression> expressions) visit(Expression.BinaryLiteral expr, EmptyVisitationContext context) Visit a binary literal.visit(Expression.BoolLiteral expr, EmptyVisitationContext context) Visit a boolean literal.visit(Expression.Cast expr, EmptyVisitationContext context) Visit a cast.visit(Expression.DateLiteral expr, EmptyVisitationContext context) Visit a date literal.visit(Expression.DecimalLiteral expr, EmptyVisitationContext context) Visit a decimal literal.visit(Expression.EmptyListLiteral expr, EmptyVisitationContext context) Visit an empty list literal.visit(Expression.EmptyMapLiteral expr, EmptyVisitationContext context) Visit an empty map literal.visit(Expression.FixedBinaryLiteral expr, EmptyVisitationContext context) Visit a fixed-length binary literal.visit(Expression.FixedCharLiteral expr, EmptyVisitationContext context) Visit a fixed-length char literal.visit(Expression.FP32Literal expr, EmptyVisitationContext context) Visit a 32-bit floating-point literal.visit(Expression.FP64Literal expr, EmptyVisitationContext context) Visit a 64-bit floating-point literal.visit(Expression.I16Literal expr, EmptyVisitationContext context) Visit a 16-bit integer literal.visit(Expression.I32Literal expr, EmptyVisitationContext context) Visit a 32-bit integer literal.visit(Expression.I64Literal expr, EmptyVisitationContext context) Visit a 64-bit integer literal.visit(Expression.I8Literal expr, EmptyVisitationContext context) Visit an 8-bit integer literal.visit(Expression.IfThen expr, EmptyVisitationContext context) Visit an if-then expression.visit(Expression.InPredicate expr, EmptyVisitationContext context) Visit an IN predicate.visit(Expression.IntervalCompoundLiteral expr, EmptyVisitationContext context) Visit a compound interval literal.visit(Expression.IntervalDayLiteral expr, EmptyVisitationContext context) Visit a day/time interval literal.visit(Expression.IntervalYearLiteral expr, EmptyVisitationContext context) Visit a year/month interval literal.visit(Expression.Lambda expr, EmptyVisitationContext context) Visit a Lambda expression.visit(Expression.ListLiteral expr, EmptyVisitationContext context) Visit a list literal.visit(Expression.MapLiteral expr, EmptyVisitationContext context) Visit a map literal.visit(Expression.MultiOrList expr, EmptyVisitationContext context) Visit a multi-or-list expression.visit(Expression.NestedList expr, EmptyVisitationContext context) Visit a nested list.visit(Expression.NestedStruct expr, EmptyVisitationContext context) Visit a nested struct.visit(Expression.NullLiteral expr, EmptyVisitationContext context) Visit a NULL literal.visit(Expression.PrecisionTimeLiteral expr, EmptyVisitationContext context) Visit a precision time literal.visit(Expression.PrecisionTimestampLiteral expr, EmptyVisitationContext context) Visit a precision timestamp literal.visit(Expression.PrecisionTimestampTZLiteral expr, EmptyVisitationContext context) Visit a precision timestamp-with-timezone literal.visit(Expression.ScalarFunctionInvocation expr, EmptyVisitationContext context) Visit a scalar function invocation.visit(Expression.ScalarSubquery expr, EmptyVisitationContext context) Visit a scalar subquery.visit(Expression.SetPredicate expr, EmptyVisitationContext context) Visit a set predicate.visit(Expression.SingleOrList expr, EmptyVisitationContext context) Visit a single-or-list expression.visit(Expression.StrLiteral expr, EmptyVisitationContext context) Visit a string literal.visit(Expression.StructLiteral expr, EmptyVisitationContext context) Visit a struct literal.visit(Expression.Switch expr, EmptyVisitationContext context) Visit a switch expression.visit(Expression.TimeLiteral expr, EmptyVisitationContext context) Visit a time literal.visit(Expression.TimestampLiteral expr, EmptyVisitationContext context) Visit a timestamp literal.visit(Expression.TimestampTZLiteral expr, EmptyVisitationContext context) Visit a timestamp-with-timezone literal.visit(Expression.UserDefinedAnyLiteral expr, EmptyVisitationContext context) Visit a user-defined any literal.visit(Expression.UserDefinedStructLiteral expr, EmptyVisitationContext context) Visit a user-defined struct literal.visit(Expression.UUIDLiteral expr, EmptyVisitationContext context) Visit a UUID literal.visit(Expression.VarCharLiteral expr, EmptyVisitationContext context) Visit a variable-length char literal.visit(Expression.WindowFunctionInvocation expr, EmptyVisitationContext context) Visit a window function invocation.visit(FieldReference expr, EmptyVisitationContext context) Visit a field reference.
-
Field Details
-
relProtoConverter
-
typeProtoConverter
-
extensionCollector
-
-
Constructor Details
-
ExpressionProtoConverter
public ExpressionProtoConverter(ExtensionCollector extensionCollector, RelProtoConverter relProtoConverter)
-
-
Method Details
-
getRelProtoConverter
-
getTypeProtoConverter
-
toProto
-
toProto
-
toProto
-
toProto
-
visit
Description copied from interface:ExpressionVisitorVisit a NULL literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the NULL literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a boolean literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the boolean literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit an 8-bit integer literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the i8 literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a 16-bit integer literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the i16 literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a 32-bit integer literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the i32 literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a 64-bit integer literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the i64 literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a 32-bit floating-point literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the fp32 literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a 64-bit floating-point literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the fp64 literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a string literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the string literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a binary literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the binary literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a time literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the time literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a precision time literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the precision time literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a date literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the date literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a timestamp literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the timestamp literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a timestamp-with-timezone literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the timestamp TZ literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a precision timestamp literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the precision timestamp literalcontext- visitation context- Returns:
- visit result
-
visit
public Expression visit(Expression.PrecisionTimestampTZLiteral expr, EmptyVisitationContext context) Description copied from interface:ExpressionVisitorVisit a precision timestamp-with-timezone literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the precision timestamp TZ literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a year/month interval literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the interval (year) literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a day/time interval literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the interval (day) literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a compound interval literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the compound interval literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a UUID literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the UUID literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a fixed-length char literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the fixed char literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a variable-length char literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the varchar literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a fixed-length binary literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the fixed binary literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a decimal literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the decimal literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a map literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the map literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit an empty map literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the empty map literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a list literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the list literalcontext- visitation context- Returns:
- visit result
-
visit
public Expression visit(Expression.EmptyListLiteral expr, EmptyVisitationContext context) throws RuntimeException Description copied from interface:ExpressionVisitorVisit an empty list literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the empty list literalcontext- visitation context- Returns:
- visit result
- Throws:
RuntimeException
-
visit
Description copied from interface:ExpressionVisitorVisit a struct literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the struct literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a nested struct.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the nested structcontext- visitation context- Returns:
- visit result
-
visit
public Expression visit(Expression.Lambda expr, EmptyVisitationContext context) throws RuntimeException Description copied from interface:ExpressionVisitorVisit a Lambda expression.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the Lambda expressioncontext- visitation context- Returns:
- visit result
- Throws:
RuntimeException
-
visit
Description copied from interface:ExpressionVisitorVisit a user-defined any literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the user-defined literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a user-defined struct literal.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the user-defined literalcontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a switch expression.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the switch expressioncontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit an if-then expression.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the if-then expressioncontext- visitation context- Returns:
- visit result
-
visit
Description copied from interface:ExpressionVisitorVisit a scalar function invocation.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the scalar function invocationcontext- visitation context- Returns:
- visit result
-
from
-
visit
Description copied from interface:ExpressionVisitorVisit a cast.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the cast expressioncontext- visitation context- Returns:
- visit result
-
visit
public Expression visit(Expression.SingleOrList expr, EmptyVisitationContext context) throws RuntimeException Description copied from interface:ExpressionVisitorVisit a single-or-list expression.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the single-or-list expressioncontext- visitation context- Returns:
- visit result
- Throws:
RuntimeException
-
visit
public Expression visit(Expression.MultiOrList expr, EmptyVisitationContext context) throws RuntimeException Description copied from interface:ExpressionVisitorVisit a multi-or-list expression.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the multi-or-list expressioncontext- visitation context- Returns:
- visit result
- Throws:
RuntimeException
-
visit
public Expression visit(Expression.NestedList expr, EmptyVisitationContext context) throws RuntimeException Description copied from interface:ExpressionVisitorVisit a nested list.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the nested listcontext- visitation context- Returns:
- visit result
- Throws:
RuntimeException
-
visit
Description copied from interface:ExpressionVisitorVisit a field reference.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the field referencecontext- visitation context- Returns:
- visit result
-
visit
public Expression visit(Expression.SetPredicate expr, EmptyVisitationContext context) throws RuntimeException Description copied from interface:ExpressionVisitorVisit a set predicate.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the set predicatecontext- visitation context- Returns:
- visit result
- Throws:
RuntimeException
-
visit
public Expression visit(Expression.ScalarSubquery expr, EmptyVisitationContext context) throws RuntimeException Description copied from interface:ExpressionVisitorVisit a scalar subquery.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the scalar subquerycontext- visitation context- Returns:
- visit result
- Throws:
RuntimeException
-
visit
public Expression visit(Expression.InPredicate expr, EmptyVisitationContext context) throws RuntimeException Description copied from interface:ExpressionVisitorVisit an IN predicate.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the IN predicatecontext- visitation context- Returns:
- visit result
- Throws:
RuntimeException
-
visit
public Expression visit(Expression.WindowFunctionInvocation expr, EmptyVisitationContext context) throws RuntimeException Description copied from interface:ExpressionVisitorVisit a window function invocation.- Specified by:
visitin interfaceExpressionVisitor<Expression,EmptyVisitationContext, RuntimeException> - Parameters:
expr- the window function invocationcontext- visitation context- Returns:
- visit result
- Throws:
RuntimeException
-