Package org.sqlproc.engine.impl
Class SqlMetaSqlFragment
java.lang.Object
org.sqlproc.engine.impl.SqlMetaSqlFragment
- All Implemented Interfaces:
SqlMetaElement
A META SQL sub-element.
Schematically:
SqlMetaSqlFragment {= IDENT SqlMetaIfItem}where IDENT can be
-
where
for WHERE fragment of the final SQL query/statement -
set
for WHERE fragment of the final SQL update statement -
values
for WHERE fragment of the final SQL insert statement
- Author:
- Vladimir Hudec
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static enum
The enumeration of types. -
Field Summary
FieldsModifier and TypeFieldDescription(package private) List
<SqlMetaIfItem> The list of sub-elements based on ANTLR grammar.(package private) final org.slf4j.Logger
The internal slf4j logger.(package private) boolean
The indicator for the types WHERE and SET in the case of optimistic locking.(package private) static final Pattern
(package private) static final Pattern
(package private) static final Pattern
(package private) static final Pattern
(package private) SqlMetaSqlFragment.Type
The type if this element.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
ConstructorsConstructorDescriptionSqlMetaSqlFragment
(String type) Creates a new instance.Creates a new instance. -
Method Summary
Modifier and TypeMethodDescription(package private) void
addElement
(SqlMetaIfItem element) Adds a new sub-element.(package private) void
Handle the SQL fragment based on the statement type and/or theSqlMetaSqlFragment.Type
.process
(SqlProcessContext ctx) The main contract for a dynamic ANSI SQL Query generation.
-
Field Details
-
logger
final org.slf4j.Logger loggerThe internal slf4j logger. -
patternWhere
-
patternValues
-
patternSet
-
patternColumns
-
elements
List<SqlMetaIfItem> elementsThe list of sub-elements based on ANTLR grammar. -
type
The type if this element. It controls, how the related ANSI SQL fragment is added to the final ANSI SQL. -
optimistic
boolean optimisticThe indicator for the types WHERE and SET in the case of optimistic locking.
-
-
Constructor Details
-
SqlMetaSqlFragment
SqlMetaSqlFragment(SqlMetaSqlFragment.Type type) Creates a new instance. It's used from inside ANTLR parser.- Parameters:
type
- the type, which is used to control, how the related ANSI SQL fragment is added to the final ANSI SQL.
-
SqlMetaSqlFragment
SqlMetaSqlFragment(String type) Creates a new instance. It's used from inside ANTLR parser.- Parameters:
type
- the type, which is used to control, how the related ANSI SQL fragment is added to the final ANSI SQL.
-
-
Method Details
-
addElement
Adds a new sub-element. It's used from inside ANTLR parser.- Parameters:
element
- new sub-element, based on ANTLR grammar
-
handleSqlFragment
Handle the SQL fragment based on the statement type and/or theSqlMetaSqlFragment.Type
.- Parameters:
s
- a buffer for the generated SQL statementctx
- the crate for all input parameters and the context of processing
-
process
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
-