Package tilda.grammar
Class WhereClauseCodeGenTildaQL
- java.lang.Object
-
- tilda.grammar.WhereClauseCodeGenTildaQL
-
- All Implemented Interfaces:
WhereClauseCodeGen
public class WhereClauseCodeGenTildaQL extends java.lang.Object implements WhereClauseCodeGen
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringBuilder_CodeGenprotected static org.apache.logging.log4j.LoggerLOGprotected static java.lang.StringTYPE_MARKER
-
Constructor Summary
Constructors Constructor Description WhereClauseCodeGenTildaQL()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidarithmeticClosePar()voidarithmeticMultiply(boolean division)voidarithmeticOpenPar()voidarithmeticPlus(boolean minus)java.lang.StringbinClose()voidbinEqual(java.util.List<ColumnDefinition> Columns, ColumnType Type, boolean not)voidbinGreaterThan(java.util.List<ColumnDefinition> Columns, ColumnType Type)voidbinGreaterThanOrEqual(java.util.List<ColumnDefinition> Columns, ColumnType Type)voidbinIn(java.util.List<ColumnDefinition> Columns, boolean not)voidbinLessThan(java.util.List<ColumnDefinition> Columns, ColumnType Type)voidbinLessThanOrEqual(java.util.List<ColumnDefinition> Columns, ColumnType Type)voidbinLike(java.util.List<ColumnDefinition> Columns, boolean not)voidboolClosePar()voidboolOpenPar()voidboolOperatorAND(boolean not)voidboolOperatorOR(boolean not)voidcol(ColumnDefinition Column)voidend()voidfuncLen(java.util.List<ColumnDefinition> Columns)Must be called with a single 'collection' Column, or a list of Columns where ALL are single Strings and will be concatenated together and checked for length.
Implementers of this interface are NOT expected to do this validation!java.lang.StringgetCodeStr()voidisNull(ColumnDefinition Col, boolean not, boolean orEmpty)Must be called with a nullable column (where a null test makes sense).protected static voidmakeColumn(java.lang.StringBuilder Str, ColumnDefinition Col)protected static voidmakeColumnList(java.lang.StringBuilder Str, java.util.List<ColumnDefinition> Cols)java.lang.StringvalueListClose(ColumnType Type)voidvalueListOpen()voidvalueListSeparator()voidvalueLiteralChar(char c)voidvalueLiteralNumeric(java.lang.String Number)voidvalueLiteralString(java.lang.String Str)voidvalueLiteralTimestamp(java.time.ZonedDateTime ZDT)voidvalueParameter(java.lang.String Str)voidvalueTimestampCurrent()voidvalueTimestampToday(boolean first)voidvalueTimestampTomorrow(boolean first)voidvalueTimestampYesterday(boolean first)
-
-
-
Field Detail
-
LOG
protected static final org.apache.logging.log4j.Logger LOG
-
_CodeGen
protected java.lang.StringBuilder _CodeGen
-
TYPE_MARKER
protected static final java.lang.String TYPE_MARKER
- See Also:
- Constant Field Values
-
-
Method Detail
-
getCodeStr
public java.lang.String getCodeStr()
- Specified by:
getCodeStrin interfaceWhereClauseCodeGen
-
boolOperatorAND
public void boolOperatorAND(boolean not)
- Specified by:
boolOperatorANDin interfaceWhereClauseCodeGen
-
boolOperatorOR
public void boolOperatorOR(boolean not)
- Specified by:
boolOperatorORin interfaceWhereClauseCodeGen
-
boolOpenPar
public void boolOpenPar()
- Specified by:
boolOpenParin interfaceWhereClauseCodeGen
-
boolClosePar
public void boolClosePar()
- Specified by:
boolCloseParin interfaceWhereClauseCodeGen
-
makeColumn
protected static void makeColumn(java.lang.StringBuilder Str, ColumnDefinition Col)
-
makeColumnList
protected static void makeColumnList(java.lang.StringBuilder Str, java.util.List<ColumnDefinition> Cols)
-
binLike
public void binLike(java.util.List<ColumnDefinition> Columns, boolean not)
- Specified by:
binLikein interfaceWhereClauseCodeGen
-
binEqual
public void binEqual(java.util.List<ColumnDefinition> Columns, ColumnType Type, boolean not)
- Specified by:
binEqualin interfaceWhereClauseCodeGen
-
binLessThan
public void binLessThan(java.util.List<ColumnDefinition> Columns, ColumnType Type)
- Specified by:
binLessThanin interfaceWhereClauseCodeGen
-
binLessThanOrEqual
public void binLessThanOrEqual(java.util.List<ColumnDefinition> Columns, ColumnType Type)
- Specified by:
binLessThanOrEqualin interfaceWhereClauseCodeGen
-
binGreaterThan
public void binGreaterThan(java.util.List<ColumnDefinition> Columns, ColumnType Type)
- Specified by:
binGreaterThanin interfaceWhereClauseCodeGen
-
binGreaterThanOrEqual
public void binGreaterThanOrEqual(java.util.List<ColumnDefinition> Columns, ColumnType Type)
- Specified by:
binGreaterThanOrEqualin interfaceWhereClauseCodeGen
-
binIn
public void binIn(java.util.List<ColumnDefinition> Columns, boolean not)
- Specified by:
binInin interfaceWhereClauseCodeGen
-
col
public void col(ColumnDefinition Column)
- Specified by:
colin interfaceWhereClauseCodeGen
-
funcLen
public void funcLen(java.util.List<ColumnDefinition> Columns)
Description copied from interface:WhereClauseCodeGenMust be called with a single 'collection' Column, or a list of Columns where ALL are single Strings and will be concatenated together and checked for length.
Implementers of this interface are NOT expected to do this validation!- Specified by:
funcLenin interfaceWhereClauseCodeGen- Parameters:
Columns- a list of column definitions
-
binClose
public java.lang.String binClose()
- Specified by:
binClosein interfaceWhereClauseCodeGen
-
valueListOpen
public void valueListOpen()
- Specified by:
valueListOpenin interfaceWhereClauseCodeGen
-
valueListSeparator
public void valueListSeparator()
- Specified by:
valueListSeparatorin interfaceWhereClauseCodeGen
-
valueLiteralNumeric
public void valueLiteralNumeric(java.lang.String Number)
- Specified by:
valueLiteralNumericin interfaceWhereClauseCodeGen
-
valueLiteralString
public void valueLiteralString(java.lang.String Str)
- Specified by:
valueLiteralStringin interfaceWhereClauseCodeGen
-
valueLiteralChar
public void valueLiteralChar(char c)
- Specified by:
valueLiteralCharin interfaceWhereClauseCodeGen
-
valueParameter
public void valueParameter(java.lang.String Str)
- Specified by:
valueParameterin interfaceWhereClauseCodeGen
-
valueLiteralTimestamp
public void valueLiteralTimestamp(java.time.ZonedDateTime ZDT)
- Specified by:
valueLiteralTimestampin interfaceWhereClauseCodeGen
-
valueTimestampCurrent
public void valueTimestampCurrent()
- Specified by:
valueTimestampCurrentin interfaceWhereClauseCodeGen
-
valueTimestampYesterday
public void valueTimestampYesterday(boolean first)
- Specified by:
valueTimestampYesterdayin interfaceWhereClauseCodeGen
-
valueTimestampToday
public void valueTimestampToday(boolean first)
- Specified by:
valueTimestampTodayin interfaceWhereClauseCodeGen
-
valueTimestampTomorrow
public void valueTimestampTomorrow(boolean first)
- Specified by:
valueTimestampTomorrowin interfaceWhereClauseCodeGen
-
valueListClose
public java.lang.String valueListClose(ColumnType Type)
- Specified by:
valueListClosein interfaceWhereClauseCodeGen
-
arithmeticOpenPar
public void arithmeticOpenPar()
- Specified by:
arithmeticOpenParin interfaceWhereClauseCodeGen
-
arithmeticClosePar
public void arithmeticClosePar()
- Specified by:
arithmeticCloseParin interfaceWhereClauseCodeGen
-
arithmeticPlus
public void arithmeticPlus(boolean minus)
- Specified by:
arithmeticPlusin interfaceWhereClauseCodeGen
-
arithmeticMultiply
public void arithmeticMultiply(boolean division)
- Specified by:
arithmeticMultiplyin interfaceWhereClauseCodeGen
-
end
public void end()
- Specified by:
endin interfaceWhereClauseCodeGen
-
isNull
public void isNull(ColumnDefinition Col, boolean not, boolean orEmpty)
Description copied from interface:WhereClauseCodeGenMust be called with a nullable column (where a null test makes sense). If orEmpty is true then the column MUST be a collection or a String.
Implementers of this interface are NOT expected to do this validation!- Specified by:
isNullin interfaceWhereClauseCodeGen- Parameters:
Col- A Column definitionnot- Whether this is a "is null" or "is not null"orEmpty- Whether a check for 'emptiness' should be performed as well, which means a length of 0 for collections, and val.trim().length() == 0 for Strings.
-
-