org.midao.jdbc.core.handlers.model
Class QueryParameters

java.lang.Object
  extended by org.midao.jdbc.core.handlers.model.QueryParameters

public class QueryParameters
extends java.lang.Object

Class which is responsible for values transferring in and out from QueryRunner. Currently is used as parameters for query and storing query execution output. Some of the functions might be moved into QueryParametersUtils to make this close clean model. By default Key is case insensitive. If needed to make instance case sensitive please use setCaseSensitive(boolean)


Nested Class Summary
static class QueryParameters.Direction
          Parameter Direction enumeration.
 
Constructor Summary
QueryParameters()
          Creates new QueryParameters instance
QueryParameters(java.lang.Class<?> clazz, java.lang.Object bean)
          Creates new QueryParameters instance and fills it with values from Bean Only values would be imported.
QueryParameters(java.util.Map<java.lang.String,java.lang.Object> map)
          Creates new QueryParameters instance and fills it with values from Map Only values would be imported.
QueryParameters(java.lang.Object... params)
          Creates new QueryParameters instance and fills it with data from @params Only values would be set.
QueryParameters(ProcessedInput processedInput)
          Creates new QueryParameters instance and fills it with data from ProcessedInput Values and position.
QueryParameters(QueryParameters parameters)
          Creates new QueryParameters instance and fills it with data from @parameters
 
Method Summary
 void assertIncorrectOrder()
          Utility function.
 boolean containsKey(java.lang.String key)
          Checks if this instance of QueryParameters contains specified Key.
 QueryParameters.Direction getDirection(java.lang.String key)
          Returns direction of specified key
 java.lang.String getNameByPosition(java.lang.Integer position)
          Returns Key by searching key assigned to that position
 java.lang.Integer getPosition(java.lang.String key)
          Returns position of specified key
 java.lang.Object getReturn()
          Utility function.
 java.lang.Integer getType(java.lang.String key)
          Returns type of specified key
 java.lang.Object getValue(java.lang.String key)
          Returns value of specified key
 java.lang.Object getValueByPosition(java.lang.Integer position)
          Returns value by searching key assigned to that position
 java.lang.Object[] getValuesArray()
          Utility function.
 void importValues(java.util.Map<java.lang.String,java.lang.Object> map)
          Imports values from Map.
 boolean isCaseSensitive()
          Returns if current instance has case sensitivity set for Keys
 boolean isInParameter(java.lang.String key)
          Checks is specified key is IN parameter.
 boolean isOrderSet()
          Utility function.
 boolean isOutParameter(java.lang.String key)
          Checks is specified key is OUT parameter.
 java.util.Set<java.lang.String> keySet()
          Returns key set
 void remove(java.lang.String key)
          Removes specified key
 void removeReturn()
          Utility function.
 QueryParameters set(java.lang.String key, java.lang.Object value)
          Setter function of QueryParameters
 QueryParameters set(java.lang.String key, java.lang.Object value, java.lang.Integer type)
          Setter function of QueryParameters
 QueryParameters set(java.lang.String key, java.lang.Object value, java.lang.Integer type, QueryParameters.Direction direction)
          Setter function of QueryParameters
 QueryParameters set(java.lang.String key, java.lang.Object value, java.lang.Integer type, QueryParameters.Direction direction, java.lang.Integer position)
          Setter function of QueryParameters
 QueryParameters set(java.lang.String key, java.lang.Object value, QueryParameters.Direction direction)
          Setter function of QueryParameters
 void setCaseSensitive(boolean newValue)
          Turns on/off case sensitivity for Keys
 QueryParameters setClassName(java.lang.String className)
          Useful in cases if QueryParameter was constructed from Bean and we need to save class name
 void setReturn(java.lang.Object queryOutput)
          Utility function.
 int size()
          Returns amount of elements(values) set into this QueryParameter instance
 java.util.Map<java.lang.String,java.lang.Object> toMap()
          Returns values converted to Map
 java.lang.String toString()
          
 void update(java.lang.Object[] newValues, boolean updateOutOnly)
          Utility function.
 void updateAndClean(ProcessedInput processedInput)
          Utility function.
 QueryParameters updateDirection(java.lang.String key, QueryParameters.Direction direction)
          Updates direction of specified key
 QueryParameters updatePosition(java.lang.String key, java.lang.Integer position)
          Updates position of specified key
 QueryParameters updateType(java.lang.String key, java.lang.Integer type)
          Updates type of specified key
 QueryParameters updateValue(java.lang.String key, java.lang.Object value)
          Updates value of specified key
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

QueryParameters

public QueryParameters()
Creates new QueryParameters instance


QueryParameters

public QueryParameters(java.util.Map<java.lang.String,java.lang.Object> map)
Creates new QueryParameters instance and fills it with values from Map Only values would be imported. Direction/Position/Type would be filled with default values

Parameters:
map - source of values for new QueryParameters

QueryParameters

public QueryParameters(java.lang.Class<?> clazz,
                       java.lang.Object bean)
Creates new QueryParameters instance and fills it with values from Bean Only values would be imported. Direction/Position/Type would be filled with default values

Parameters:
clazz - Bean object description class
bean - source of values for new QueryParameters

QueryParameters

public QueryParameters(QueryParameters parameters)
Creates new QueryParameters instance and fills it with data from @parameters

Parameters:
parameters - QueryParameters object which would be "cloned"

QueryParameters

public QueryParameters(ProcessedInput processedInput)
Creates new QueryParameters instance and fills it with data from ProcessedInput Values and position. Type and Direction would be set with default values

Parameters:
processedInput - ProcessedInput object which would be used read

QueryParameters

public QueryParameters(java.lang.Object... params)
Creates new QueryParameters instance and fills it with data from @params Only values would be set. Direction/Position/Type would be filled with default values

Parameters:
params - "array" of values which would be used to fill new Instance
Method Detail

importValues

public void importValues(java.util.Map<java.lang.String,java.lang.Object> map)
Imports values from Map. If such key already exists - value would be rewritten and Type/Position/Direction would be reset to default value.

Parameters:
map - Map which would be imported

set

public QueryParameters set(java.lang.String key,
                           java.lang.Object value,
                           java.lang.Integer type,
                           QueryParameters.Direction direction,
                           java.lang.Integer position)
Setter function of QueryParameters

Parameters:
key - Key
value - Value
type - SQL Type
direction - Direction (used for Stored Procedures calls)
position - Position of parameter in Query
Returns:
this instance of QueryRunner

set

public QueryParameters set(java.lang.String key,
                           java.lang.Object value,
                           java.lang.Integer type,
                           QueryParameters.Direction direction)
Setter function of QueryParameters

Parameters:
key - Key
value - Value
type - SQL Type
direction - Direction (used for Stored Procedures calls)
Returns:
this instance of QueryRunner

set

public QueryParameters set(java.lang.String key,
                           java.lang.Object value,
                           QueryParameters.Direction direction)
Setter function of QueryParameters

Parameters:
key - Key
value - Value
direction - Direction (used for Stored Procedures calls)
Returns:
this instance of QueryRunner

set

public QueryParameters set(java.lang.String key,
                           java.lang.Object value,
                           java.lang.Integer type)
Setter function of QueryParameters

Parameters:
key - Key
value - Value
type - SQL Type
Returns:
this instance of QueryRunner

set

public QueryParameters set(java.lang.String key,
                           java.lang.Object value)
Setter function of QueryParameters

Parameters:
key - Key
value - Value
Returns:
this instance of QueryRunner

setClassName

public QueryParameters setClassName(java.lang.String className)
Useful in cases if QueryParameter was constructed from Bean and we need to save class name

Parameters:
className - Class name
Returns:
this instance of QueryParameters

updateType

public QueryParameters updateType(java.lang.String key,
                                  java.lang.Integer type)
Updates type of specified key

Parameters:
key - Key
type - SQL Type
Returns:
this instance of QueryParameters

updateDirection

public QueryParameters updateDirection(java.lang.String key,
                                       QueryParameters.Direction direction)
Updates direction of specified key

Parameters:
key - Key
direction - Direction
Returns:
this instance of QueryParameters

updatePosition

public QueryParameters updatePosition(java.lang.String key,
                                      java.lang.Integer position)
Updates position of specified key

Parameters:
key - Key
position - Position
Returns:
this instance of QueryParameters

updateValue

public QueryParameters updateValue(java.lang.String key,
                                   java.lang.Object value)
Updates value of specified key

Parameters:
key - Key
value - Value
Returns:
this instance of QueryParameters

getPosition

public java.lang.Integer getPosition(java.lang.String key)
Returns position of specified key

Parameters:
key - Key
Returns:
this instance of QueryParameters

getDirection

public QueryParameters.Direction getDirection(java.lang.String key)
Returns direction of specified key

Parameters:
key - Key
Returns:
this instance of QueryParameters

getType

public java.lang.Integer getType(java.lang.String key)
Returns type of specified key

Parameters:
key - Key
Returns:
this instance of QueryParameters

getValue

public java.lang.Object getValue(java.lang.String key)
Returns value of specified key

Parameters:
key - Key
Returns:
this instance of QueryParameters

toMap

public java.util.Map<java.lang.String,java.lang.Object> toMap()
Returns values converted to Map

Returns:
Map of values

keySet

public java.util.Set<java.lang.String> keySet()
Returns key set

Returns:
key set

isOutParameter

public boolean isOutParameter(java.lang.String key)
Checks is specified key is OUT parameter. OUT and INOUT parameter would be considered as OUT parameter

Parameters:
key - Key
Returns:
true - if key is OUT parameter

isInParameter

public boolean isInParameter(java.lang.String key)
Checks is specified key is IN parameter. IN and INOUT parameter would be considered as IN parameter

Parameters:
key - Key
Returns:
true - if key is IN parameter

getNameByPosition

public java.lang.String getNameByPosition(java.lang.Integer position)
Returns Key by searching key assigned to that position

Parameters:
position - Position which would be searched
Returns:
Key

getValueByPosition

public java.lang.Object getValueByPosition(java.lang.Integer position)
                                    throws java.lang.NoSuchFieldException
Returns value by searching key assigned to that position

Parameters:
position - Position which would be searched
Returns:
Value
Throws:
java.lang.NoSuchFieldException

containsKey

public boolean containsKey(java.lang.String key)
Checks if this instance of QueryParameters contains specified Key. Check is performed for Key/Value pair only as it considered only source of keys

Parameters:
key - Key
Returns:
true if key is present in this instance

remove

public void remove(java.lang.String key)
Removes specified key

Parameters:
key - Key which would be removed

size

public int size()
Returns amount of elements(values) set into this QueryParameter instance

Returns:

setCaseSensitive

public void setCaseSensitive(boolean newValue)
Turns on/off case sensitivity for Keys

Parameters:
newValue - new value

isCaseSensitive

public boolean isCaseSensitive()
Returns if current instance has case sensitivity set for Keys

Returns:
true - if current instance is case sensitive

setReturn

public void setReturn(java.lang.Object queryOutput)
Utility function. Allows storing (processed) Query output

Parameters:
queryOutput - Query output

getReturn

public java.lang.Object getReturn()
Utility function. Returns previously stored (processed) Query output

Returns:
Query output

removeReturn

public void removeReturn()
Utility function. Allows removing previously set (processed) Query output


update

public void update(java.lang.Object[] newValues,
                   boolean updateOutOnly)
Utility function. Updates this instance values from array @newValues Allows updating only fields which are OUT/INOUT parameters

Parameters:
newValues - array of updated values
updateOutOnly - check if update OUT/INOUT parameters only

updateAndClean

public void updateAndClean(ProcessedInput processedInput)
Utility function. Updates this instance of Query Parameters with values and positions from ProcessedInput. This instance of QueryParameters should have at least all keys present in Processed Input. If key is present in ProcessedInput but is not present in this instance of QueryParameters - it will be added but ignored. This issue might be resolved with using updateValue(String, Object) All keys which are present in this instance but not present in Processed Input - would be removed.

Parameters:
processedInput - Processed Input which would be used to update this instance

getValuesArray

public java.lang.Object[] getValuesArray()
Utility function. Returns array of values

Returns:
array of values

isOrderSet

public boolean isOrderSet()
Utility function. Is used to check if Order(position for all keys) was set

Returns:
true if order is defined for all keys

assertIncorrectOrder

public void assertIncorrectOrder()
Utility function. Is used to check if Order(position for all keys) was set Uses isOrderSet() Throws exception if order is incorrect


toString

public java.lang.String toString()

Overrides:
toString in class java.lang.Object


Copyright © 2013. All Rights Reserved.