Package dev.cel.common.ast
Class CelExprFactory
- java.lang.Object
-
- dev.cel.common.ast.CelExprFactory
-
- Direct Known Subclasses:
CelMacroExprFactory
@Internal public class CelExprFactory extends java.lang.Object
Factory for generating expression nodes.
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedCelExprFactory()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description CelExprfold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr.Builder accuInit, CelExpr.Builder condition, CelExpr.Builder step, CelExpr result)Fold creates a fold comprehension instruction.CelExprfold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr.Builder accuInit, CelExpr.Builder condition, CelExpr.Builder step, CelExpr.Builder result)Fold creates a fold comprehension instruction.CelExprfold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr.Builder accuInit, CelExpr.Builder condition, CelExpr step, CelExpr result)Fold creates a fold comprehension instruction.CelExprfold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr.Builder accuInit, CelExpr condition, CelExpr.Builder step, CelExpr result)Fold creates a fold comprehension instruction.CelExprfold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr.Builder accuInit, CelExpr condition, CelExpr step, CelExpr result)Fold creates a fold comprehension instruction.CelExprfold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr.Builder accuInit, CelExpr condition, CelExpr step, CelExpr.Builder result)Fold creates a fold comprehension instruction.CelExprfold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr.Builder condition, CelExpr.Builder step, CelExpr result)Fold creates a fold comprehension instruction.CelExprfold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr.Builder condition, CelExpr.Builder step, CelExpr.Builder result)Fold creates a fold comprehension instruction.CelExprfold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr.Builder condition, CelExpr step, CelExpr result)Fold creates a fold comprehension instruction.CelExprfold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr.Builder condition, CelExpr step, CelExpr.Builder result)Fold creates a fold comprehension instruction.CelExprfold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr condition, CelExpr.Builder step, CelExpr result)Fold creates a fold comprehension instruction.CelExprfold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr condition, CelExpr step, CelExpr result)Fold creates a fold comprehension instruction.CelExprfold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr condition, CelExpr step, CelExpr.Builder result)Fold creates a fold comprehension instruction.CelExprfold(java.lang.String iterVar, CelExpr iterRange, java.lang.String accuVar, CelExpr.Builder accuInit, CelExpr.Builder condition, CelExpr step, CelExpr result)Fold creates a fold comprehension instruction.CelExprfold(java.lang.String iterVar, CelExpr iterRange, java.lang.String accuVar, CelExpr.Builder accuInit, CelExpr condition, CelExpr.Builder step, CelExpr result)Fold creates a fold comprehension instruction.CelExprfold(java.lang.String iterVar, CelExpr iterRange, java.lang.String accuVar, CelExpr.Builder accuInit, CelExpr condition, CelExpr step, CelExpr result)Fold creates a fold comprehension instruction.CelExprfold(java.lang.String iterVar, CelExpr iterRange, java.lang.String accuVar, CelExpr.Builder accuInit, CelExpr condition, CelExpr step, CelExpr.Builder result)Fold creates a fold comprehension instruction.CelExprfold(java.lang.String iterVar, CelExpr iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr.Builder condition, CelExpr.Builder step, CelExpr result)Fold creates a fold comprehension instruction.CelExprfold(java.lang.String iterVar, CelExpr iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr.Builder condition, CelExpr step, CelExpr result)Fold creates a fold comprehension instruction.CelExprfold(java.lang.String iterVar, CelExpr iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr.Builder condition, CelExpr step, CelExpr.Builder result)Fold creates a fold comprehension instruction.CelExprfold(java.lang.String iterVar, CelExpr iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr condition, CelExpr.Builder step, CelExpr result)Fold creates a fold comprehension instruction.CelExprfold(java.lang.String iterVar, CelExpr iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr condition, CelExpr.Builder step, CelExpr.Builder result)Fold creates a fold comprehension instruction.CelExprfold(java.lang.String iterVar, CelExpr iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr condition, CelExpr step, CelExpr result)Fold creates a fold comprehension instruction.CelExprfold(java.lang.String iterVar, CelExpr iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr condition, CelExpr step, CelExpr.Builder result)Fold creates a fold comprehension instruction.protected voidmaybeDeleteId(long id)Attempts to decrement the next expr ID if possible.CelExprnewBoolLiteral(boolean value)Creates a new constantCelExprfor a bool value.CelExprnewBytesLiteral(byte[] value)Creates a new constantCelExprfor a bytes value.CelExprnewBytesLiteral(byte[] value, int offset, int size)Creates a new constantCelExprfor a bytes value.CelExprnewBytesLiteral(com.google.protobuf.ByteString value)Creates a new constantCelExprfor a bytes value.CelExprnewBytesLiteral(java.lang.String value)Creates a new constantCelExprfor a bytes value.CelExprnewConstant(CelConstant constant)Create a new constant expression.CelExprnewDoubleLiteral(double value)Creates a new constantCelExprfor a double value.CelExprnewGlobalCall(java.lang.String function, CelExpr... arguments)Creates a global (free) function callCelExprfor the given function and arguments.CelExprnewGlobalCall(java.lang.String function, java.lang.Iterable<CelExpr> arguments)Creates a global (free) function callCelExprfor the given function and arguments.CelExprnewIdentifier(java.lang.String name)Creates an identifierCelExprfor the given name.static CelExprFactorynewInstance()CelExprnewIntLiteral(long value)Creates a new constantCelExprfor an int value.CelExprnewList(CelExpr... elements)Creates a new listCelExprcomprised of the elements.CelExprnewList(java.lang.Iterable<CelExpr> elements)Creates a new listCelExprcomprised of the elements.CelExprnewMap(CelExpr.CelMap.Entry... entries)Creates a new mapCelExprcomprised of the entries.CelExprnewMap(java.lang.Iterable<CelExpr.CelMap.Entry> entries)Creates a new mapCelExprcomprised of the entries.CelExpr.CelMap.EntrynewMapEntry(CelExpr key, CelExpr value)Creates a new mapCelExpr.CelStruct.Entrycomprised of the given key and value.CelExprnewMessage(java.lang.String typeName, CelExpr.CelStruct.Entry... fields)Creates a new messageCelExprof the given type comprised of the given fields.CelExprnewMessage(java.lang.String typeName, java.lang.Iterable<CelExpr.CelStruct.Entry> fields)Creates a new messageCelExprof the given type comprised of the given fields.CelExpr.CelStruct.EntrynewMessageField(java.lang.String field, CelExpr value)Creates a new messageCelExpr.CelStruct.Entrycomprised of the given field and value.CelExprnewReceiverCall(java.lang.String function, CelExpr target, CelExpr... arguments)Creates a receiver-style function callCelExprfor the given function, target, and arguments.CelExprnewReceiverCall(java.lang.String function, CelExpr target, java.lang.Iterable<CelExpr> arguments)Creates a receiver-style function callCelExprfor the given function, target, and arguments.CelExprnewSelect(CelExpr operand, java.lang.String field, boolean testOnly)Creates a field traversal or field presence testCelExprfor the given operand and field.CelExprnewStringLiteral(java.lang.String value)Creates a new constantCelExprfor a string value.CelExprnewUintLiteral(long value)Creates a new constantCelExprfor a uint value.protected longnextExprId()Returns the next unique expression ID.
-
-
-
Method Detail
-
newInstance
public static CelExprFactory newInstance()
-
newConstant
public final CelExpr newConstant(CelConstant constant)
Create a new constant expression.
-
newBoolLiteral
public final CelExpr newBoolLiteral(boolean value)
Creates a new constantCelExprfor a bool value.
-
newBytesLiteral
public final CelExpr newBytesLiteral(com.google.protobuf.ByteString value)
Creates a new constantCelExprfor a bytes value.
-
newBytesLiteral
public final CelExpr newBytesLiteral(byte[] value)
Creates a new constantCelExprfor a bytes value.
-
newBytesLiteral
public final CelExpr newBytesLiteral(byte[] value, int offset, int size)
Creates a new constantCelExprfor a bytes value.
-
newBytesLiteral
public final CelExpr newBytesLiteral(java.lang.String value)
Creates a new constantCelExprfor a bytes value.
-
newDoubleLiteral
public final CelExpr newDoubleLiteral(double value)
Creates a new constantCelExprfor a double value.
-
newIntLiteral
public final CelExpr newIntLiteral(long value)
Creates a new constantCelExprfor an int value.
-
newStringLiteral
public final CelExpr newStringLiteral(java.lang.String value)
Creates a new constantCelExprfor a string value.
-
newUintLiteral
public final CelExpr newUintLiteral(long value)
Creates a new constantCelExprfor a uint value.
-
newList
public final CelExpr newList(CelExpr... elements)
Creates a new listCelExprcomprised of the elements.
-
newList
public final CelExpr newList(java.lang.Iterable<CelExpr> elements)
Creates a new listCelExprcomprised of the elements.
-
newMap
public final CelExpr newMap(CelExpr.CelMap.Entry... entries)
Creates a new mapCelExprcomprised of the entries.
-
newMap
public final CelExpr newMap(java.lang.Iterable<CelExpr.CelMap.Entry> entries)
Creates a new mapCelExprcomprised of the entries.
-
newMapEntry
public final CelExpr.CelMap.Entry newMapEntry(CelExpr key, CelExpr value)
Creates a new mapCelExpr.CelStruct.Entrycomprised of the given key and value.
-
newMessage
public final CelExpr newMessage(java.lang.String typeName, CelExpr.CelStruct.Entry... fields)
Creates a new messageCelExprof the given type comprised of the given fields.
-
newMessage
public final CelExpr newMessage(java.lang.String typeName, java.lang.Iterable<CelExpr.CelStruct.Entry> fields)
Creates a new messageCelExprof the given type comprised of the given fields.
-
newMessageField
public final CelExpr.CelStruct.Entry newMessageField(java.lang.String field, CelExpr value)
Creates a new messageCelExpr.CelStruct.Entrycomprised of the given field and value.
-
fold
public final CelExpr fold(java.lang.String iterVar, CelExpr iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr condition, CelExpr step, CelExpr result)
Fold creates a fold comprehension instruction.
-
fold
public final CelExpr fold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr condition, CelExpr step, CelExpr result)
Fold creates a fold comprehension instruction.
-
fold
public final CelExpr fold(java.lang.String iterVar, CelExpr iterRange, java.lang.String accuVar, CelExpr.Builder accuInit, CelExpr condition, CelExpr step, CelExpr result)
Fold creates a fold comprehension instruction.
-
fold
public final CelExpr fold(java.lang.String iterVar, CelExpr iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr.Builder condition, CelExpr step, CelExpr result)
Fold creates a fold comprehension instruction.
-
fold
public final CelExpr fold(java.lang.String iterVar, CelExpr iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr condition, CelExpr.Builder step, CelExpr result)
Fold creates a fold comprehension instruction.
-
fold
public final CelExpr fold(java.lang.String iterVar, CelExpr iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr condition, CelExpr step, CelExpr.Builder result)
Fold creates a fold comprehension instruction.
-
fold
public final CelExpr fold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr.Builder accuInit, CelExpr condition, CelExpr step, CelExpr result)
Fold creates a fold comprehension instruction.
-
fold
public final CelExpr fold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr.Builder condition, CelExpr step, CelExpr result)
Fold creates a fold comprehension instruction.
-
fold
public final CelExpr fold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr condition, CelExpr.Builder step, CelExpr result)
Fold creates a fold comprehension instruction.
-
fold
public final CelExpr fold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr condition, CelExpr step, CelExpr.Builder result)
Fold creates a fold comprehension instruction.
-
fold
public final CelExpr fold(java.lang.String iterVar, CelExpr iterRange, java.lang.String accuVar, CelExpr.Builder accuInit, CelExpr.Builder condition, CelExpr step, CelExpr result)
Fold creates a fold comprehension instruction.
-
fold
public final CelExpr fold(java.lang.String iterVar, CelExpr iterRange, java.lang.String accuVar, CelExpr.Builder accuInit, CelExpr condition, CelExpr.Builder step, CelExpr result)
Fold creates a fold comprehension instruction.
-
fold
public final CelExpr fold(java.lang.String iterVar, CelExpr iterRange, java.lang.String accuVar, CelExpr.Builder accuInit, CelExpr condition, CelExpr step, CelExpr.Builder result)
Fold creates a fold comprehension instruction.
-
fold
public final CelExpr fold(java.lang.String iterVar, CelExpr iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr.Builder condition, CelExpr.Builder step, CelExpr result)
Fold creates a fold comprehension instruction.
-
fold
public final CelExpr fold(java.lang.String iterVar, CelExpr iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr.Builder condition, CelExpr step, CelExpr.Builder result)
Fold creates a fold comprehension instruction.
-
fold
public final CelExpr fold(java.lang.String iterVar, CelExpr iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr condition, CelExpr.Builder step, CelExpr.Builder result)
Fold creates a fold comprehension instruction.
-
fold
public final CelExpr fold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr.Builder condition, CelExpr.Builder step, CelExpr result)
Fold creates a fold comprehension instruction.
-
fold
public final CelExpr fold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr.Builder condition, CelExpr step, CelExpr.Builder result)
Fold creates a fold comprehension instruction.
-
fold
public final CelExpr fold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr.Builder accuInit, CelExpr.Builder condition, CelExpr.Builder step, CelExpr result)
Fold creates a fold comprehension instruction.
-
fold
public final CelExpr fold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr.Builder accuInit, CelExpr condition, CelExpr step, CelExpr.Builder result)
Fold creates a fold comprehension instruction.
-
fold
public final CelExpr fold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr.Builder accuInit, CelExpr condition, CelExpr.Builder step, CelExpr result)
Fold creates a fold comprehension instruction.
-
fold
public final CelExpr fold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr.Builder accuInit, CelExpr.Builder condition, CelExpr step, CelExpr result)
Fold creates a fold comprehension instruction.
-
fold
public final CelExpr fold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr accuInit, CelExpr.Builder condition, CelExpr.Builder step, CelExpr.Builder result)
Fold creates a fold comprehension instruction.
-
fold
public final CelExpr fold(java.lang.String iterVar, CelExpr.Builder iterRange, java.lang.String accuVar, CelExpr.Builder accuInit, CelExpr.Builder condition, CelExpr.Builder step, CelExpr.Builder result)
Fold creates a fold comprehension instruction.
-
newIdentifier
public final CelExpr newIdentifier(java.lang.String name)
Creates an identifierCelExprfor the given name.
-
newGlobalCall
public final CelExpr newGlobalCall(java.lang.String function, CelExpr... arguments)
Creates a global (free) function callCelExprfor the given function and arguments.
-
newGlobalCall
public final CelExpr newGlobalCall(java.lang.String function, java.lang.Iterable<CelExpr> arguments)
Creates a global (free) function callCelExprfor the given function and arguments.
-
newReceiverCall
public final CelExpr newReceiverCall(java.lang.String function, CelExpr target, CelExpr... arguments)
Creates a receiver-style function callCelExprfor the given function, target, and arguments.
-
newReceiverCall
public final CelExpr newReceiverCall(java.lang.String function, CelExpr target, java.lang.Iterable<CelExpr> arguments)
Creates a receiver-style function callCelExprfor the given function, target, and arguments.
-
newSelect
public final CelExpr newSelect(CelExpr operand, java.lang.String field, boolean testOnly)
Creates a field traversal or field presence testCelExprfor the given operand and field.
-
nextExprId
protected long nextExprId()
Returns the next unique expression ID.
-
maybeDeleteId
protected void maybeDeleteId(long id)
Attempts to decrement the next expr ID if possible.
-
-