org.sqlproc.engine.impl
Class SqlProcessResult

java.lang.Object
  extended by org.sqlproc.engine.impl.SqlProcessResult
All Implemented Interfaces:
Comparable<SqlProcessResult>

public class SqlProcessResult
extends Object
implements Comparable<SqlProcessResult>

Holds the results of ANSI SQL query generation. The result is related to the overall ANSI SQL Query generation in SqlMetaStatement or the partial processing result in SqlMetaElement.process(SqlProcessContext). The main runtime contract is setQueryParams(SqlSession, SqlQuery).

Author:
Vladimir Hudec

Field Summary
private  boolean add
          The indicator that a partial processing result (of ANSI SQL Query generation) is going to be part of a final ANSI SQL.
private  List<String> allInputValues
          The list of dynamic input values.
private  Map<String,SqlInputValue> identities
          List of all identities, which have values generated using sequences.
private  Map<String,SqlInputValue> inputValues
          The map of dynamic input values.
private  Integer orderIndex
          The index of selected ordering rule (from the list of ordering directives).
private  Map<String,SqlMappingItem> outputValues
          The list of output values.
private  Map<String,SqlInputValue> outValues
          List of all input values, which are in fact OUT or INOUT parameters.
private  boolean skipNextText
          The indicator that a the next possible text has to be skipped.
private  StringBuilder sql
          The final ANSI SQL or the fragment of ANSI SQL, which is dynamically generated from the META SQL based on input values.
 
Constructor Summary
SqlProcessResult()
          Creates a new instance.
SqlProcessResult(String sql)
          Creates a new instance with a SQL fragment from SqlMetaText.
 
Method Summary
(package private)  void add(boolean add)
          Sets an indicator if a partial processing result will be part of a final ANSI SQL.
(package private)  void addFalse()
          Sets an indicator that a partial processing result is going to be part of a final ANSI SQL.
(package private)  void addIdentities(Map<String,SqlInputValue> identities)
          Adds a new collection of identities.
(package private)  void addIdentity(String key, SqlInputValue value)
          Adds a new identity.
(package private)  void addInputValue(String key, SqlInputValue value)
          Adds a new dynamic input value.
(package private)  void addInputValues(List<String> inputValues)
          Adds a new collection of dynamic input values.
(package private)  void addMappedInputValues(Map<String,SqlInputValue> inputValues)
          Adds a new collection of dynamic input values.
(package private)  void addOutputValue(String key, SqlMappingItem value)
          Adds a new output value.
(package private)  void addOutputValues(Map<String,SqlMappingItem> outputValues)
          Adds a new collection of output values.
(package private)  void addOutValue(String key, SqlInputValue value)
          Adds a new OUT/INOUT value.
(package private)  void addOutValues(Map<String,SqlInputValue> outValues)
          Adds a new collection of OUT/INOUT values.
(package private)  void addTrue()
          Sets an indicator that a partial processing result isn't going to be part of a final ANSI SQL.
 int compareTo(SqlProcessResult o)
          In case there're several ordering rules in the final generated ANSI SQL, they should be ordered.
(package private)  Map<String,SqlInputValue> getIdentities()
          Returns the collection of identities.
(package private)  SqlInputValue getInputValue(String name)
          Returns the input value .
(package private)  List<String> getInputValues()
          Returns the collection of dynamic input values.
(package private)  Map<String,SqlInputValue> getMappedInputValues()
          Returns the collection of dynamic input values.
(package private)  Integer getOrderIndex()
          Returns the index of selected ordering rule (from the list of ordering directives).
(package private)  Map<String,SqlMappingItem> getOutputValues()
          Returns the collection of output values.
(package private)  Map<String,SqlInputValue> getOutValues()
          Returns the collection of OUT/INOUT values.
 StringBuilder getSql()
          Returns the final ANSI SQL or a fragment of ANSI SQL, which is dynamically generated from the META SQL based on input values.
(package private)  boolean isAdd()
          Returns the indicator if a partial processing result will be part of a final ANSI SQL.
(package private)  boolean isSkipNextText()
          Returns the indicator the next possible SQL statement fragment should be skipped.
 void postProcess()
          Post processing, like identities setting into a result class.
(package private)  void setOrderIndex(Integer orderIndex)
          Sets an index of selected ordering rule (from the list of ordering directives).
 void setQueryParams(SqlSession session, SqlQuery query)
          Bind an input values to a named query parameters.
(package private)  void setSkipNextText(boolean skipNextText)
          Sets the indicator the next possible SQL statement fragment should be skipped.
(package private)  void setSql(StringBuilder sql)
          Sets the final ANSI SQL or a fragment of ANSI SQL, which is dynamically generated from the META SQL based on input values.
 String toString()
          For debug purposes.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

add

private boolean add
The indicator that a partial processing result (of ANSI SQL Query generation) is going to be part of a final ANSI SQL.


allInputValues

private List<String> allInputValues
The list of dynamic input values. These parameters have to be binded to SQL statement.


inputValues

private Map<String,SqlInputValue> inputValues
The map of dynamic input values. These parameters have to be binded to SQL statement.


outputValues

private Map<String,SqlMappingItem> outputValues
The list of output values. Every sub-element is one Mapping item. These parameters are scalars for SQL statement.


identities

private Map<String,SqlInputValue> identities
List of all identities, which have values generated using sequences.


outValues

private Map<String,SqlInputValue> outValues
List of all input values, which are in fact OUT or INOUT parameters.


sql

private StringBuilder sql
The final ANSI SQL or the fragment of ANSI SQL, which is dynamically generated from the META SQL based on input values.


orderIndex

private Integer orderIndex
The index of selected ordering rule (from the list of ordering directives).


skipNextText

private boolean skipNextText
The indicator that a the next possible text has to be skipped. It's used for the identity based on select.

Constructor Detail

SqlProcessResult

SqlProcessResult()
Creates a new instance.


SqlProcessResult

SqlProcessResult(String sql)
Creates a new instance with a SQL fragment from SqlMetaText.

Parameters:
sql - a SQL fragment
Method Detail

addFalse

void addFalse()
Sets an indicator that a partial processing result is going to be part of a final ANSI SQL.


addTrue

void addTrue()
Sets an indicator that a partial processing result isn't going to be part of a final ANSI SQL.


add

void add(boolean add)
Sets an indicator if a partial processing result will be part of a final ANSI SQL.

Parameters:
add - a new indicator value

isAdd

boolean isAdd()
Returns the indicator if a partial processing result will be part of a final ANSI SQL.

Returns:
the indicator value

addInputValue

void addInputValue(String key,
                   SqlInputValue value)
Adds a new dynamic input value. This parameter have to be binded to SQL statement.

Parameters:
key - the name of a dynamic input value
value - a new dynamic input value

addInputValues

void addInputValues(List<String> inputValues)
Adds a new collection of dynamic input values. These parameters have to be binded to SQL statement.

Parameters:
inputValues - a new collection of dynamic input values

addMappedInputValues

void addMappedInputValues(Map<String,SqlInputValue> inputValues)
Adds a new collection of dynamic input values. These parameters have to be binded to SQL statement.

Parameters:
inputValues - a new collection of dynamic input values

getInputValues

List<String> getInputValues()
Returns the collection of dynamic input values. These parameters have to be binded to SQL statement.

Returns:
the collection of dynamic input values

getMappedInputValues

Map<String,SqlInputValue> getMappedInputValues()
Returns the collection of dynamic input values. These parameters have to be binded to SQL statement.

Returns:
the collection of dynamic input values

getInputValue

SqlInputValue getInputValue(String name)
Returns the input value . This parameter has to be binded to SQL statement.

Parameters:
name - the name of the parameter
Returns:
the input value

addOutputValue

void addOutputValue(String key,
                    SqlMappingItem value)
Adds a new output value. This parameter is a scalar for SQL statement.

Parameters:
key - the name of an output value
value - a new output value

addOutputValues

void addOutputValues(Map<String,SqlMappingItem> outputValues)
Adds a new collection of output values. These parameters are scalars for SQL statement.

Parameters:
outputValues - a new collection of output values

getOutputValues

Map<String,SqlMappingItem> getOutputValues()
Returns the collection of output values. These parameters are scalars for SQL statement.

Returns:
the collection of output values

addIdentity

void addIdentity(String key,
                 SqlInputValue value)
Adds a new identity.

Parameters:
key - the name of an identity column/attribute
value - a new identity value

addIdentities

void addIdentities(Map<String,SqlInputValue> identities)
Adds a new collection of identities.

Parameters:
identities - a new collection of identities

getIdentities

Map<String,SqlInputValue> getIdentities()
Returns the collection of identities.

Returns:
the collection of identities

addOutValue

void addOutValue(String key,
                 SqlInputValue value)
Adds a new OUT/INOUT value.

Parameters:
key - the name of an OUT/INOUT column/attribute
value - a new OUT/INOUT value

addOutValues

void addOutValues(Map<String,SqlInputValue> outValues)
Adds a new collection of OUT/INOUT values.

Parameters:
outValues - a new collection of OUT/INOUT values

getOutValues

Map<String,SqlInputValue> getOutValues()
Returns the collection of OUT/INOUT values.

Returns:
the collection of OUT/INOUT values

setSql

void setSql(StringBuilder sql)
Sets the final ANSI SQL or a fragment of ANSI SQL, which is dynamically generated from the META SQL based on input values.

Parameters:
sql - the final ANSI SQL or a fragment of ANSI SQL

getSql

public StringBuilder getSql()
Returns the final ANSI SQL or a fragment of ANSI SQL, which is dynamically generated from the META SQL based on input values.

Returns:
the final ANSI SQL or a fragment of ANSI SQL

setOrderIndex

void setOrderIndex(Integer orderIndex)
Sets an index of selected ordering rule (from the list of ordering directives).

Parameters:
orderIndex - a new index of selected ordering rule

getOrderIndex

Integer getOrderIndex()
Returns the index of selected ordering rule (from the list of ordering directives).

Returns:
the index of selected ordering rule

isSkipNextText

boolean isSkipNextText()
Returns the indicator the next possible SQL statement fragment should be skipped. It's used for the identities settled into the input value attributes.

Returns:
an indicator the next possible SQL statement fragment should be skipped

setSkipNextText

void setSkipNextText(boolean skipNextText)
Sets the indicator the next possible SQL statement fragment should be skipped. It's used for the identities settled into the input value attributes.

Parameters:
skipNextText - an indicator the next possible SQL statement fragment should be skipped

setQueryParams

public void setQueryParams(SqlSession session,
                           SqlQuery query)
                    throws SqlRuntimeException
Bind an input values to a named query parameters.

Parameters:
session - the SQL Engine session, an adapter or proxy to the internal JDBC or ORM staff
query - the SQL Engine query, an adapter or proxy to the internal JDBC or ORM staff
Throws:
SqlRuntimeException - in the case of any problem with input values handling

postProcess

public void postProcess()
                 throws SqlRuntimeException
Post processing, like identities setting into a result class.

Throws:
SqlRuntimeException - in the case of any problem with output values handling

toString

public String toString()
For debug purposes.

Overrides:
toString in class Object
Returns:
a String representation for a debug output

compareTo

public int compareTo(SqlProcessResult o)
In case there're several ordering rules in the final generated ANSI SQL, they should be ordered.

Specified by:
compareTo in interface Comparable<SqlProcessResult>


Copyright © 2011. All Rights Reserved.