Top Fields Constructors Methods
org.hibernate.sql.results.internal

public Class SqlSelectionImpl

extends Object
implements SqlSelection, SqlExpressionAccess
Class Inheritance
All Implemented Interfaces
org.hibernate.sql.ast.spi.SqlExpressionAccess, org.hibernate.sql.ast.spi.SqlSelection, org.hibernate.sql.ast.tree.SqlAstNode
Known Direct Subclasses
org.hibernate.sql.results.internal.ResolvedSqlSelection
Imports
java.util.Objects, org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.metamodel.mapping.JdbcMapping, .JdbcMappingContainer, org.hibernate.sql.ast.SqlAstWalker, org.hibernate.sql.ast.spi.SqlExpressionAccess, .SqlSelection, org.hibernate.sql.ast.tree.expression.Expression, org.hibernate.sql.results.jdbc.spi.JdbcValuesMetadata, org.hibernate.type.BasicType, .JavaObjectType, org.hibernate.type.descriptor.ValueExtractor, org.hibernate.type.descriptor.java.JavaType

Author
Steve Ebersole

Field Summary

Modifier and TypeField and Description
private final JavaType<?>
private final int
private final Expression
private transient ValueExtractor<X>
private final int
private final boolean

Constructor Summary

AccessConstructor and Description
public
public
SqlSelectionImpl(int valuesArrayPosition, Expression sqlExpression)

public
SqlSelectionImpl(int jdbcPosition, int valuesArrayPosition, Expression sqlExpression, boolean virtual)

public
SqlSelectionImpl(int jdbcPosition, int valuesArrayPosition, JavaType<?> jdbcJavaType, Expression sqlExpression, boolean virtual)

protected
SqlSelectionImpl(int jdbcPosition, int valuesArrayPosition, Expression sqlExpression, JavaType<?> jdbcJavaType, boolean virtual, ValueExtractor<X> valueExtractor)

Method Summary

Modifier and TypeMethod and Description
public void
private static ValueExtractor<X>
determineValueExtractor(Expression sqlExpression, JavaType<?> jdbcJavaType)

public boolean
equals(Object
the reference object with which to compare.
o
)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.
public Expression
public JdbcMappingContainer
public int
getJdbcResultSetIndex()

Overrides default org.hibernate.sql.ast.spi.SqlSelection.getJdbcResultSetIndex.

Get the JDBC position (1-based)
public ValueExtractor<X>
getJdbcValueExtractor()

Implements org.hibernate.sql.ast.spi.SqlSelection.getJdbcValueExtractor.

Get the extractor that can be used to extract JDBC values for this selection
public Expression
public int
getValuesArrayPosition()

Implements org.hibernate.sql.ast.spi.SqlSelection.getValuesArrayPosition.

Get the position within the "JDBC values" array (0-based).
public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for the object.
public boolean
isVirtual()

Implements org.hibernate.sql.ast.spi.SqlSelection.isVirtual.

Whether this is a virtual or a real selection item.
public SqlSelection
resolve(JdbcValuesMetadata jdbcResultsMetadata, SessionFactoryImplementor sessionFactory)

Implements org.hibernate.sql.ast.spi.SqlSelection.resolve.

Deprecated as a consequence of SessionFactoryImplementor being deprecated.
Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAlltoStringwaitwaitwait

Field Detail

jdbcJavaTypeback to summary
private final JavaType<?> jdbcJavaType
jdbcPositionback to summary
private final int jdbcPosition
sqlExpressionback to summary
private final Expression sqlExpression
valueExtractorback to summary
private transient ValueExtractor<X> valueExtractor
valuesArrayPositionback to summary
private final int valuesArrayPosition
virtualback to summary
private final boolean virtual

Constructor Detail

SqlSelectionImplback to summary
public SqlSelectionImpl(Expression sqlExpression)
SqlSelectionImplback to summary
public SqlSelectionImpl(int valuesArrayPosition, Expression sqlExpression)
SqlSelectionImplback to summary
public SqlSelectionImpl(int jdbcPosition, int valuesArrayPosition, Expression sqlExpression, boolean virtual)
SqlSelectionImplback to summary
public SqlSelectionImpl(int jdbcPosition, int valuesArrayPosition, JavaType<?> jdbcJavaType, Expression sqlExpression, boolean virtual)
SqlSelectionImplback to summary
protected SqlSelectionImpl(int jdbcPosition, int valuesArrayPosition, Expression sqlExpression, JavaType<?> jdbcJavaType, boolean virtual, ValueExtractor<X> valueExtractor)

Method Detail

acceptback to summary
public void accept(SqlAstWalker interpreter)

Implements org.hibernate.sql.ast.spi.SqlSelection.accept.

Annotations
@Override
determineValueExtractorback to summary
private static ValueExtractor<X> determineValueExtractor(Expression sqlExpression, JavaType<?> jdbcJavaType)
equalsback to summary
public boolean equals(Object o)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
o:Object

the reference object with which to compare.

Returns:boolean

true if this object is the same as the obj argument; false otherwise.

Annotations
@Override
getExpressionback to summary
public Expression getExpression()

Implements org.hibernate.sql.ast.spi.SqlSelection.getExpression.

Doc from org.hibernate.sql.ast.spi.SqlSelection.getExpression.

The underlying expression.

Annotations
@Override
getExpressionTypeback to summary
public JdbcMappingContainer getExpressionType()

Implements org.hibernate.sql.ast.spi.SqlSelection.getExpressionType.

Doc from org.hibernate.sql.ast.spi.SqlSelection.getExpressionType.

Get the type of the expression

Annotations
@Override
getJdbcResultSetIndexback to summary
public int getJdbcResultSetIndex()

Overrides default org.hibernate.sql.ast.spi.SqlSelection.getJdbcResultSetIndex.

Doc from org.hibernate.sql.ast.spi.SqlSelection.getJdbcResultSetIndex.

Get the JDBC position (1-based)

Annotations
@Override
getJdbcValueExtractorback to summary
public ValueExtractor<X> getJdbcValueExtractor()

Implements org.hibernate.sql.ast.spi.SqlSelection.getJdbcValueExtractor.

Doc from org.hibernate.sql.ast.spi.SqlSelection.getJdbcValueExtractor.

Get the extractor that can be used to extract JDBC values for this selection

Annotations
@Override
getSqlExpressionback to summary
public Expression getSqlExpression()

Implements org.hibernate.sql.ast.spi.SqlExpressionAccess.getSqlExpression.

Annotations
@Override
getValuesArrayPositionback to summary
public int getValuesArrayPosition()

Implements org.hibernate.sql.ast.spi.SqlSelection.getValuesArrayPosition.

Doc from org.hibernate.sql.ast.spi.SqlSelection.getValuesArrayPosition.

Get the position within the "JDBC values" array (0-based). Negative indicates this is not a "real" selection

Annotations
@Override
hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns:int

a hash code value for this object.

Annotations
@Override
isVirtualback to summary
public boolean isVirtual()

Implements org.hibernate.sql.ast.spi.SqlSelection.isVirtual.

Doc from org.hibernate.sql.ast.spi.SqlSelection.isVirtual.

Whether this is a virtual or a real selection item. Virtual selection items are not rendered into the SQL select clause.

Annotations
@Override
resolveback to summary
public SqlSelection resolve(JdbcValuesMetadata jdbcResultsMetadata, SessionFactoryImplementor sessionFactory)

Implements org.hibernate.sql.ast.spi.SqlSelection.resolve.

Deprecated

as a consequence of SessionFactoryImplementor being deprecated. See corresponding docs for further information.

Annotations
@Override