APIdia Launch Partner
Top Inners Fields Constructors Methods
io.github.spannm.jackcess.impl.expr

pack-priv final Class ExpressionTokenizer

extends Object
Class Inheritance
Imports
io.github.spannm.jackcess.JackcessRuntimeException, io.github.spannm.jackcess.expr.LocaleContext, .ParseException, .TemporalConfig, .Value, io.github.spannm.jackcess.impl.ColumnImpl, io.github.spannm.jackcess.impl.expr.Expressionator.ParseContext, io.github.spannm.jackcess.util.StringUtil, java.math.BigDecimal, java.time.DateTimeException, .LocalDate, .LocalDateTime, .LocalTime, java.time.format.DateTimeFormatter, java.time.temporal.TemporalAccessor, java.util.AbstractMap, .ArrayList, .Arrays, .Collections, .EnumMap, .HashSet, .List, .Map, .Set

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class
pack-priv static class
pack-priv static enum

Field Summary

Modifier and TypeField and Description
private static final byte[]
private static final char
private static final int
private static final char
private static final byte
private static final byte
private static final byte
private static final byte
private static final byte
private static final char
private static final char
pack-priv static final char
private static final char
private static final Set<String>

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
private static void
pack-priv static TemporalConfig.Type
private static byte
getCharFlag(char c)

private static boolean
hasFlag(byte charFlag, byte flag)

private static boolean
hasSuffix(String str, String suffStr)

private static boolean
isDigit(int c)

private static boolean
isSpecialChar(char c)

private static ExpressionTokenizer.Token
pack-priv static <K, V> Map.Entry<K, V>
newEntry(K a, V b)

private static String
private static String
private static ExpressionTokenizer.Token
private static String
private static String
private static String
pack-priv static String
parseStringUntil(ExpressionTokenizer.ExprBuf buf, Character startChar, char endChar, boolean allowDoubledEscape)

pack-priv static StringBuilder
parseStringUntil(ExpressionTokenizer.ExprBuf buf, Character startChar, char endChar, boolean allowDoubledEscape, StringBuilder sb)

private static void
setCharFlag(byte flag, char... chars)

pack-priv static List<ExpressionTokenizer.Token>
tokenize(Expressionator.Type exprType, String exprStr, Expressionator.ParseContext context)

Tokenizes an expression string of the given type and (optionally) in the context of the relevant database.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

CHAR_FLAGSback to summary
private static final byte[] CHAR_FLAGS
DATE_LIT_QUOTE_CHARback to summary
private static final char DATE_LIT_QUOTE_CHAR
EOFback to summary
private static final int EOF
EQUALS_CHARback to summary
private static final char EQUALS_CHAR
IS_COMP_FLAGback to summary
private static final byte IS_COMP_FLAG
IS_DELIM_FLAGback to summary
private static final byte IS_DELIM_FLAG
IS_OP_FLAGback to summary
private static final byte IS_OP_FLAG
IS_QUOTE_FLAGback to summary
private static final byte IS_QUOTE_FLAG
IS_SPACE_FLAGback to summary
private static final byte IS_SPACE_FLAG
OBJ_NAME_END_CHARback to summary
private static final char OBJ_NAME_END_CHAR
OBJ_NAME_START_CHARback to summary
private static final char OBJ_NAME_START_CHAR
QUOTED_STR_CHARback to summary
pack-priv static final char QUOTED_STR_CHAR
SINGLE_QUOTED_STR_CHARback to summary
private static final char SINGLE_QUOTED_STR_CHAR
TWO_CHAR_COMP_OPSback to summary
private static final Set<String> TWO_CHAR_COMP_OPS

Constructor Detail

ExpressionTokenizerback to summary
private ExpressionTokenizer()

Method Detail

consumeWhitespaceback to summary
private static void consumeWhitespace(ExpressionTokenizer.ExprBuf buf)
determineDateTypeback to summary
pack-priv static TemporalConfig.Type determineDateType(String dateStr, LocaleContext ctx)
getCharFlagback to summary
private static byte getCharFlag(char c)
hasFlagback to summary
private static boolean hasFlag(byte charFlag, byte flag)
hasSuffixback to summary
private static boolean hasSuffix(String str, String suffStr)
isDigitback to summary
private static boolean isDigit(int c)
isSpecialCharback to summary
private static boolean isSpecialChar(char c)
maybeParseNumberLiteralback to summary
private static ExpressionTokenizer.Token maybeParseNumberLiteral(char firstChar, ExpressionTokenizer.ExprBuf buf, Expressionator.ParseContext context)
newEntryback to summary
pack-priv static <K, V> Map.Entry<K, V> newEntry(K a, V b)
parseBareStringback to summary
private static String parseBareString(char firstChar, ExpressionTokenizer.ExprBuf buf, Expressionator.Type exprType)
parseCompOpback to summary
private static String parseCompOp(char firstChar, ExpressionTokenizer.ExprBuf buf)
parseDateLiteralback to summary
private static ExpressionTokenizer.Token parseDateLiteral(ExpressionTokenizer.ExprBuf buf)
parseDateLiteralStringback to summary
private static String parseDateLiteralString(ExpressionTokenizer.ExprBuf buf)
parseObjNameStringback to summary
private static String parseObjNameString(ExpressionTokenizer.ExprBuf buf)
parseQuotedStringback to summary
private static String parseQuotedString(ExpressionTokenizer.ExprBuf buf, char quoteChar)
parseStringUntilback to summary
pack-priv static String parseStringUntil(ExpressionTokenizer.ExprBuf buf, Character startChar, char endChar, boolean allowDoubledEscape)
parseStringUntilback to summary
pack-priv static StringBuilder parseStringUntil(ExpressionTokenizer.ExprBuf buf, Character startChar, char endChar, boolean allowDoubledEscape, StringBuilder sb)
setCharFlagback to summary
private static void setCharFlag(byte flag, char... chars)
tokenizeback to summary
pack-priv static List<ExpressionTokenizer.Token> tokenize(Expressionator.Type exprType, String exprStr, Expressionator.ParseContext context)

Tokenizes an expression string of the given type and (optionally) in the context of the relevant database.

io.github.spannm.jackcess.impl.expr back to summary

pack-priv final Class ExpressionTokenizer.ExprBuf

extends Object
Class Inheritance
  • java.lang.Object
  • io.github.spannm.jackcess.impl.expr.ExpressionTokenizer.ExprBuf

Field Summary

Modifier and TypeField and Description
private final Expressionator.ParseContext
private final Map<TemporalConfig.Type, DateTimeFormatter>
private int
private final StringBuilder
private final String

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public int
public Expressionator.ParseContext
public DateTimeFormatter
public StringBuilder
public boolean
private int
len()

public char
next()

public int
public void
public int
public void
reset(int newPos)

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

ctxback to summary
private final Expressionator.ParseContext ctx
dateTimeFmtsback to summary
private final Map<TemporalConfig.Type, DateTimeFormatter> dateTimeFmts
posback to summary
private int pos
scratchback to summary
private final StringBuilder scratch
strback to summary
private final String str

Constructor Detail

ExprBufback to summary
pack-priv ExprBuf(String str, Expressionator.ParseContext ctx)

Method Detail

curPosback to summary
public int curPos()
getContextback to summary
public Expressionator.ParseContext getContext()
getParseDateTimeFormatback to summary
public DateTimeFormatter getParseDateTimeFormat(TemporalConfig.Type type)
getScratchBufferback to summary
public StringBuilder getScratchBuffer()
hasNextback to summary
public boolean hasNext()
lenback to summary
private int len()
nextback to summary
public char next()
peekNextback to summary
public int peekNext()
popPrevback to summary
public void popPrev()
prevPosback to summary
public int prevPos()
resetback to summary
public void reset(int newPos)
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Annotations
@Override
io.github.spannm.jackcess.impl.expr back to summary

pack-priv final Class ExpressionTokenizer.Token

extends Object
Class Inheritance
  • java.lang.Object
  • io.github.spannm.jackcess.impl.expr.ExpressionTokenizer.Token

Field Summary

Modifier and TypeField and Description
private final ExpressionTokenizer.TokenType
private final Object
private final String
private final Value.Type

Constructor Summary

AccessConstructor and Description
private
private
private

Method Summary

Modifier and TypeMethod and Description
public ExpressionTokenizer.TokenType
public Object
public String
public Value.Type
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

typeback to summary
private final ExpressionTokenizer.TokenType type
valback to summary
private final Object val
valStrback to summary
private final String valStr
valTypeback to summary
private final Value.Type valType

Constructor Detail

Tokenback to summary
private Token(ExpressionTokenizer.TokenType type, String val)
Tokenback to summary
private Token(ExpressionTokenizer.TokenType type, Object val, String valStr)
Tokenback to summary
private Token(ExpressionTokenizer.TokenType type, Object val, String valStr, Value.Type valType)

Method Detail

getTypeback to summary
public ExpressionTokenizer.TokenType getType()
getValueback to summary
public Object getValue()
getValueStrback to summary
public String getValueStr()
getValueTypeback to summary
public Value.Type getValueType()
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Annotations
@Override
io.github.spannm.jackcess.impl.expr back to summary

pack-priv final Enum ExpressionTokenizer.TokenType

extends Enum<ExpressionTokenizer.TokenType>
Class Inheritance

Field Summary

Modifier and TypeField and Description
public static final ExpressionTokenizer.TokenType
public static final ExpressionTokenizer.TokenType
public static final ExpressionTokenizer.TokenType
public static final ExpressionTokenizer.TokenType
public static final ExpressionTokenizer.TokenType
public static final ExpressionTokenizer.TokenType

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static ExpressionTokenizer.TokenType
public static ExpressionTokenizer.TokenType[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

DELIMback to summary
public static final ExpressionTokenizer.TokenType DELIM
LITERALback to summary
public static final ExpressionTokenizer.TokenType LITERAL
OBJ_NAMEback to summary
public static final ExpressionTokenizer.TokenType OBJ_NAME
OPback to summary
public static final ExpressionTokenizer.TokenType OP
SPACEback to summary
public static final ExpressionTokenizer.TokenType SPACE
STRINGback to summary
public static final ExpressionTokenizer.TokenType STRING

Constructor Detail

TokenTypeback to summary
private TokenType()

Method Detail

valueOfback to summary
public static ExpressionTokenizer.TokenType valueOf(String name)
valuesback to summary
public static ExpressionTokenizer.TokenType[] values()