Class ForeignReferenceQueryKey
- java.lang.Object
-
- org.eclipse.persistence.mappings.querykeys.QueryKey
-
- org.eclipse.persistence.mappings.querykeys.ForeignReferenceQueryKey
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable
- Direct Known Subclasses:
DirectCollectionQueryKey,ManyToManyQueryKey,OneToManyQueryKey,OneToOneQueryKey
public class ForeignReferenceQueryKey extends QueryKey
Purpose: Define an alias to a foreign object.
Responsibilities:
- Define the reference class of the foreign object.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected ExpressionjoinCriteriaprotected java.lang.ClassreferenceClassprotected java.lang.StringreferenceClassName-
Fields inherited from class org.eclipse.persistence.mappings.querykeys.QueryKey
descriptor, name
-
-
Constructor Summary
Constructors Constructor Description ForeignReferenceQueryKey()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidconvertClassNamesToClasses(java.lang.ClassLoader classLoader)INTERNAL: Convert all the class-name-based settings in this project to actual class-based settingsExpressiongetJoinCriteria()PUBLIC: Return the join expression for the relationship defined by the query key.java.lang.ClassgetReferenceClass()PUBLIC: Return the reference class of the relationship.java.lang.StringgetReferenceClassName()PUBLIC: Return the reference class name of the relationship.org.eclipse.persistence.internal.helper.DatabaseTablegetReferenceTable(ClassDescriptor desc)PUBLIC: Returns the reference table.org.eclipse.persistence.internal.helper.DatabaseTablegetRelationTable(ClassDescriptor referenceDescriptor)PUBLIC: Returns the relation table.org.eclipse.persistence.internal.helper.DatabaseTablegetSourceTable()PUBLIC: Returns the source table.booleanisForeignReferenceQueryKey()INTERNAL: override the isForeignReferenceQueryKey() method in the superclass to return true.voidsetJoinCriteria(Expression joinCriteria)PUBLIC: Set the join expression for the relationship defined by the query key.voidsetReferenceClass(java.lang.Class referenceClass)PUBLIC: Set the reference class of the relationship.voidsetReferenceClassName(java.lang.String referenceClassName)PUBLIC: Set the reference class name for this relationship This is used when projects are built without using classes-
Methods inherited from class org.eclipse.persistence.mappings.querykeys.QueryKey
clone, getDescriptor, getName, initialize, isAbstractQueryKey, isCollectionQueryKey, isDirectCollectionQueryKey, isDirectQueryKey, isManyToManyQueryKey, isOneToManyQueryKey, isOneToOneQueryKey, isQueryKey, setDescriptor, setName, toString
-
-
-
-
Field Detail
-
referenceClass
protected java.lang.Class referenceClass
-
referenceClassName
protected java.lang.String referenceClassName
-
joinCriteria
protected Expression joinCriteria
-
-
Method Detail
-
convertClassNamesToClasses
public void convertClassNamesToClasses(java.lang.ClassLoader classLoader)
INTERNAL: Convert all the class-name-based settings in this project to actual class-based settings- Overrides:
convertClassNamesToClassesin classQueryKey- Parameters:
classLoader-
-
getJoinCriteria
public Expression getJoinCriteria()
PUBLIC: Return the join expression for the relationship defined by the query key.
-
getReferenceClass
public java.lang.Class getReferenceClass()
PUBLIC: Return the reference class of the relationship.
-
getReferenceClassName
public java.lang.String getReferenceClassName()
PUBLIC: Return the reference class name of the relationship.
-
isForeignReferenceQueryKey
public boolean isForeignReferenceQueryKey()
INTERNAL: override the isForeignReferenceQueryKey() method in the superclass to return true.- Overrides:
isForeignReferenceQueryKeyin classQueryKey- Returns:
- boolean
-
setJoinCriteria
public void setJoinCriteria(Expression joinCriteria)
PUBLIC: Set the join expression for the relationship defined by the query key.Example:
builder.getField("ADDRESS.ADDRESS_ID").equal(builder.getParameter("EMPLOYEE.ADDR_ID");
-
setReferenceClass
public void setReferenceClass(java.lang.Class referenceClass)
PUBLIC: Set the reference class of the relationship. This is not required for direct collection query keys.
-
setReferenceClassName
public void setReferenceClassName(java.lang.String referenceClassName)
PUBLIC: Set the reference class name for this relationship This is used when projects are built without using classes- Parameters:
referenceClassName-
-
getSourceTable
public org.eclipse.persistence.internal.helper.DatabaseTable getSourceTable()
PUBLIC: Returns the source table.
-
getReferenceTable
public org.eclipse.persistence.internal.helper.DatabaseTable getReferenceTable(ClassDescriptor desc)
PUBLIC: Returns the reference table.
-
getRelationTable
public org.eclipse.persistence.internal.helper.DatabaseTable getRelationTable(ClassDescriptor referenceDescriptor)
PUBLIC: Returns the relation table. Currently only ManyToMany and OneToOne may have relation table. The method is overridden to return null for other subclasses. The returned relationTable still could be null.
-
-