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 Expression
joinCriteria
protected java.lang.Class
referenceClass
protected java.lang.String
referenceClassName
-
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 void
convertClassNamesToClasses(java.lang.ClassLoader classLoader)
INTERNAL: Convert all the class-name-based settings in this project to actual class-based settingsExpression
getJoinCriteria()
PUBLIC: Return the join expression for the relationship defined by the query key.java.lang.Class
getReferenceClass()
PUBLIC: Return the reference class of the relationship.java.lang.String
getReferenceClassName()
PUBLIC: Return the reference class name of the relationship.org.eclipse.persistence.internal.helper.DatabaseTable
getReferenceTable(ClassDescriptor desc)
PUBLIC: Returns the reference table.org.eclipse.persistence.internal.helper.DatabaseTable
getRelationTable(ClassDescriptor referenceDescriptor)
PUBLIC: Returns the relation table.org.eclipse.persistence.internal.helper.DatabaseTable
getSourceTable()
PUBLIC: Returns the source table.boolean
isForeignReferenceQueryKey()
INTERNAL: override the isForeignReferenceQueryKey() method in the superclass to return true.void
setJoinCriteria(Expression joinCriteria)
PUBLIC: Set the join expression for the relationship defined by the query key.void
setReferenceClass(java.lang.Class referenceClass)
PUBLIC: Set the reference class of the relationship.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-
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:
convertClassNamesToClasses
in 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:
isForeignReferenceQueryKey
in 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.
-
-