java.lang.Object
st.orm.AbstractNavigableMetamodel<T,E>
- Type Parameters:
T- the root table type.E- the field type of the designated element.
- All Implemented Interfaces:
Navigable<T,E>
public abstract class AbstractNavigableMetamodel<T extends Data,E>
extends Object
implements Navigable<T,E>
Base implementation for generated navigation-only metamodels — nodes that navigate the entity graph beyond a
Ref foreign key. Such a node locates a column for querying (filter, join, order, group, select) but does not
extract values, because the referenced entity is not loaded. It therefore implements Navigable rather than
Metamodel, which is what makes value-based operations (for example getResultGroupedBy) fail to compile
on a reference-crossing path.- Since:
- 1.13
-
Constructor Summary
ConstructorsModifierConstructorDescriptionAbstractNavigableMetamodel(Class<E> fieldType, String path, String field, boolean inline, @Nullable Navigable<T, ?> parent) protectedAbstractNavigableMetamodel(Class<E> fieldType, String path, String field, boolean inline, @Nullable Navigable<T, ?> parent, boolean isColumn) -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanEquality is based onNavigable.tableType(),path()andfield(), matchingAbstractMetamodel, so a navigation-only node and a full metamodel that reach the same field through the same path compare equal.field()Returns the field name.Returns the field type of the designated element.final inthashCode()booleanisColumn()Returnstrueif this navigable corresponds to a database column,falseotherwise (for example the root navigable or an inline record).booleanisInline()Returnstrueif this navigable corresponds to an inline record,falseotherwise.path()Returns the path to the database table.root()Returns the root table type.table()Returns the navigable of the table that holds the column this navigable points to.toString()
-
Constructor Details
-
Method Details
-
equals
Equality is based onNavigable.tableType(),path()andfield(), matchingAbstractMetamodel, so a navigation-only node and a full metamodel that reach the same field through the same path compare equal. -
hashCode
public final int hashCode() -
isColumn
public boolean isColumn()Description copied from interface:NavigableReturnstrueif this navigable corresponds to a database column,falseotherwise (for example the root navigable or an inline record). A foreign key column is also a column. -
root
Description copied from interface:NavigableReturns the root table type. This is typically the table specified in the FROM clause of a query. -
table
Description copied from interface:NavigableReturns the navigable of the table that holds the column this navigable points to. For an inline record the table is the parent table; for the root navigable the root table is returned. -
isInline
public boolean isInline()Description copied from interface:NavigableReturnstrueif this navigable corresponds to an inline record,falseotherwise. -
fieldType
Description copied from interface:NavigableReturns the field type of the designated element. -
path
Description copied from interface:NavigableReturns the path to the database table. -
field
Description copied from interface:NavigableReturns the field name. -
toString
-