Package dev.cel.parser
Class CelExprFactory
- java.lang.Object
-
- dev.cel.parser.CelExprFactory
-
public abstract class CelExprFactory extends java.lang.ObjectAssists with the expansion ofCelMacroin a manner which is consistent with the source position and expression ID generation code leveraged by both the parser and type-checker.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract CelSourceLocationcurrentSourceLocationForMacro()Returns the current (last known) source location.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 abstract CelSourceLocationgetSourceLocation(long exprId)Retrieves the source location for the givenCelExprID.CelSourceLocationgetSourceLocation(CelExpr expr)Retrieves the source location for the givenCelExprID.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(ByteString value)Creates a new constantCelExprfor a bytes value.CelExprnewBytesLiteral(java.lang.String value)Creates a new constantCelExprfor a bytes value.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.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.CelCreateStruct.Entry... entries)Creates a new mapCelExprcomprised of the entries.CelExprnewMap(java.lang.Iterable<CelExpr.CelCreateStruct.Entry> entries)Creates a new mapCelExprcomprised of the entries.CelExpr.CelCreateStruct.EntrynewMapEntry(CelExpr key, CelExpr value)Creates a new mapCelExpr.CelCreateStruct.Entrycomprised of the given key and value.CelExprnewMessage(java.lang.String typeName, CelExpr.CelCreateStruct.Entry... fields)Creates a new messageCelExprof the given type comprised of the given fields.CelExprnewMessage(java.lang.String typeName, java.lang.Iterable<CelExpr.CelCreateStruct.Entry> fields)Creates a new messageCelExprof the given type comprised of the given fields.CelExpr.CelCreateStruct.EntrynewMessageField(java.lang.String field, CelExpr value)Creates a new messageCelExpr.CelCreateStruct.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 abstract longnextExprIdForMacro()Returns the next unique expression ID.abstract CelExprreportError(CelIssue error)CelExprreportError(java.lang.String message)CelExprreportError(java.lang.String format, java.lang.Object... args)
-
-
-
Method Detail
-
newBoolLiteral
public final CelExpr newBoolLiteral(boolean value)
Creates a new constantCelExprfor a bool value.
-
newBytesLiteral
public final CelExpr newBytesLiteral(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.CelCreateStruct.Entry... entries)
Creates a new mapCelExprcomprised of the entries.
-
newMap
public final CelExpr newMap(java.lang.Iterable<CelExpr.CelCreateStruct.Entry> entries)
Creates a new mapCelExprcomprised of the entries.
-
newMapEntry
public final CelExpr.CelCreateStruct.Entry newMapEntry(CelExpr key, CelExpr value)
Creates a new mapCelExpr.CelCreateStruct.Entrycomprised of the given key and value.
-
newMessage
public final CelExpr newMessage(java.lang.String typeName, CelExpr.CelCreateStruct.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.CelCreateStruct.Entry> fields)
Creates a new messageCelExprof the given type comprised of the given fields.
-
newMessageField
public final CelExpr.CelCreateStruct.Entry newMessageField(java.lang.String field, CelExpr value)
Creates a new messageCelExpr.CelCreateStruct.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.
-
getSourceLocation
public final CelSourceLocation getSourceLocation(CelExpr expr)
Retrieves the source location for the givenCelExprID.
-
getSourceLocation
protected abstract CelSourceLocation getSourceLocation(long exprId)
Retrieves the source location for the givenCelExprID.
-
reportError
@FormatMethod public final CelExpr reportError(@FormatString java.lang.String format, java.lang.Object... args)
-
reportError
public final CelExpr reportError(java.lang.String message)
-
nextExprIdForMacro
protected abstract long nextExprIdForMacro()
Returns the next unique expression ID. This should only be used for macros.
-
currentSourceLocationForMacro
protected abstract CelSourceLocation currentSourceLocationForMacro()
Returns the current (last known) source location. This should only be used for macros.
-
-