Package org.sqlproc.engine.impl
Class SqlMetaIf
- java.lang.Object
-
- org.sqlproc.engine.impl.SqlMetaIf
-
- All Implemented Interfaces:
SqlMetaElement
class SqlMetaIf extends Object implements SqlMetaElement
A META SQL sub-element.Schematically:
SqlMetaIf {? SqlMetaLogExpr | SqlMetaIfItem | SqlMetaIfItem...}
- Author:
- Vladimir Hudec
-
-
Field Summary
Fields Modifier and Type Field Description (package private) List<SqlMetaIfItem>
elements
The list of maximum 2 sub-elements based on ANTLR grammar.(package private) SqlMetaLogExpr
expression
The logical expression.(package private) org.slf4j.Logger
logger
The internal slf4j logger.-
Fields inherited from interface org.sqlproc.engine.impl.SqlMetaElement
AND_PREFIX, CONST_PREFIX, IDENT_PREFIX, IDENT_SEPARATOR, lCONST_PREFIX, lIDENT_PREFIX, OR_PREFIX, SET_PREFIX, VALUES_PREFIX, WHERE_PREFIX
-
-
Constructor Summary
Constructors Constructor Description SqlMetaIf()
Creates a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
addElement(SqlMetaIfItem element)
Adds a new sub-element.SqlProcessResult
process(SqlProcessContext ctx)
The main contract for a dynamic ANSI SQL Query generation.(package private) void
setExpression(SqlMetaLogExpr expression)
Sets a logical expression.
-
-
-
Field Detail
-
logger
final org.slf4j.Logger logger
The internal slf4j logger.
-
elements
List<SqlMetaIfItem> elements
The list of maximum 2 sub-elements based on ANTLR grammar.
-
expression
SqlMetaLogExpr expression
The logical expression. Based on the value of this expression the first or the second sub-element will become a part of the final ANSI SQL.
-
-
Method Detail
-
addElement
void addElement(SqlMetaIfItem element)
Adds a new sub-element. It's used from inside ANTLR parser.- Parameters:
element
- new sub-element, based on ANTLR grammar
-
setExpression
void setExpression(SqlMetaLogExpr expression)
Sets a logical expression. It's used from inside ANTLR parser. Based on the value of this expression the first or the second sub-element will become a part of the final ANSI SQL.- Parameters:
expression
- the new value of logical expression
-
process
public SqlProcessResult process(SqlProcessContext ctx)
The main contract for a dynamic ANSI SQL Query generation. Also known as a META SQL processing. The composite pattern main contract. All ANTLR grammar based elements must implement this contract.- Specified by:
process
in interfaceSqlMetaElement
- Parameters:
ctx
- the crate for all input parameters and the context of processing
-
-