org.hibernate.param
Class CollectionFilterKeyParameterSpecification

java.lang.Object
  extended byorg.hibernate.param.CollectionFilterKeyParameterSpecification
All Implemented Interfaces:
ParameterSpecification

public class CollectionFilterKeyParameterSpecification
extends Object
implements ParameterSpecification

A specialized ParameterSpecification impl for dealing with a collection-key as part of a collection filter compilation.

Author:
Steve Ebersole

Constructor Summary
CollectionFilterKeyParameterSpecification(String collectionRole, Type keyType, int queryParameterPosition)
          Creates a specialized collection-filter collection-key parameter spec.
 
Method Summary
 int bind(PreparedStatement statement, QueryParameters qp, SessionImplementor session, int position)
          Bind the appropriate value into the given statement at the specified position.
 Type getExpectedType()
          Get the type which we are expeting for a bind into this parameter based on translated contextual information.
 String renderDisplayInfo()
          Render this parameter into displayable info (for logging, etc).
 void setExpectedType(Type expectedType)
          Injects the expected type. Called during translation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CollectionFilterKeyParameterSpecification

public CollectionFilterKeyParameterSpecification(String collectionRole,
                                                 Type keyType,
                                                 int queryParameterPosition)
Creates a specialized collection-filter collection-key parameter spec.

Parameters:
collectionRole - The collection role being filtered.
keyType - The mapped collection-key type.
queryParameterPosition - The position within QueryParameters where we can find the appropriate param value to bind.
Method Detail

bind

public int bind(PreparedStatement statement,
                QueryParameters qp,
                SessionImplementor session,
                int position)
         throws SQLException
Bind the appropriate value into the given statement at the specified position.

Specified by:
bind in interface ParameterSpecification
Parameters:
statement - The statement into which the value should be bound.
qp - The defined values for the current query execution.
session - The session against which the current execution is occuring.
position - The position from which to start binding value(s).
Returns:
The number of sql bind positions "eaten" by this bind operation.
Throws:
SQLException - Indicates problems performing the JDBC biind operation.

getExpectedType

public Type getExpectedType()
Get the type which we are expeting for a bind into this parameter based on translated contextual information.

Specified by:
getExpectedType in interface ParameterSpecification
Returns:
The expected type.

setExpectedType

public void setExpectedType(Type expectedType)
Injects the expected type. Called during translation.

Specified by:
setExpectedType in interface ParameterSpecification
Parameters:
expectedType - The type to expect.

renderDisplayInfo

public String renderDisplayInfo()
Render this parameter into displayable info (for logging, etc).

Specified by:
renderDisplayInfo in interface ParameterSpecification
Returns:
The displayable info.