public class ERXQualifierInSubquery extends EOQualifier implements EOQualifierSQLGeneration, java.lang.Cloneable, EOQualifierEvaluation
EOQualifier q = EOQualifier.qualifierWithQualifierFormat("firstName = 'Max'", null);
ERXQualifierInSubquery qq = new ERXQualifierInSubquery(q, "User", "group");
EOFetchSpecification fs = new EOFetchSpecification("Group", qq, null);
Would generate: "SELECT t0.GROUP_ID, t0.NAME FROM USER t0 WHERE t0.GROUP_ID
IN ( SELECT t0.GROUP_ID FROM GROUP t0 WHERE t0.NAME = ? ) "
This class can be used to work around the EOF bug where OR queries involving
many-to-manies are incorrectly generated
It will also generate
... t0.FOREIGN_KEY_ID in (select t1.ID from X where [your qualifier here])
with the 3 arg constructorEOQualifier.Comparison, EOQualifier.ComparisonSupport, EOQualifier.QualifierVariableSubstitutionExceptionEOQualifierSQLGeneration._AndQualifierSupport, EOQualifierSQLGeneration._KeyComparisonQualifierSupport, EOQualifierSQLGeneration._KeyValueQualifierSupport, EOQualifierSQLGeneration._NotQualifierSupport, EOQualifierSQLGeneration._OrQualifierSupport, EOQualifierSQLGeneration.Support| Modifier and Type | Field and Description |
|---|---|
protected java.lang.String |
attributeName
holds the attribute name
|
protected java.lang.String |
destinationAttName
holds the attribute name
|
protected java.lang.String |
entityName
holds the entity name
|
static org.apache.log4j.Logger |
log
logging support
|
protected EOQualifier |
qualifier
holds the subqualifier
|
protected java.lang.String |
relationshipName
holds the relationship name
|
_CLASS, QualifierOperatorCaseInsensitiveLike, QualifierOperatorContains, QualifierOperatorEqual, QualifierOperatorGreaterThan, QualifierOperatorGreaterThanOrEqualTo, QualifierOperatorLessThan, QualifierOperatorLessThanOrEqualTo, QualifierOperatorLike, QualifierOperatorNotEqual_CLASS| Constructor and Description |
|---|
ERXQualifierInSubquery(EOQualifier qualifier)
Public single argument constructor.
|
ERXQualifierInSubquery(EOQualifier qualifier,
java.lang.String entityName,
java.lang.String relationshipName) |
ERXQualifierInSubquery(EOQualifier qualifier,
java.lang.String entityName,
java.lang.String attributeName,
java.lang.String destinationAttName) |
| Modifier and Type | Method and Description |
|---|---|
void |
addQualifierKeysToSet(NSMutableSet aSet)
Only used with qualifier keys which are not supported in this qualifier
at this time.
|
java.lang.Object |
clone()
Implementation of the Clonable interface.
|
boolean |
evaluateWithObject(java.lang.Object object) |
EOQualifier |
qualifierMigratedFromEntityRelationshipPath(EOEntity anEntity,
java.lang.String aPath)
Implementation of the EOQualifierSQLGeneration interface.
|
EOQualifier |
qualifierWithBindings(NSDictionary someBindings,
boolean requiresAll)
Creates another qualifier after replacing the values of the bindings.
|
EOQualifier |
schemaBasedQualifierWithRootEntity(EOEntity anEntity)
Implementation of the EOQualifierSQLGeneration interface.
|
java.lang.String |
sqlStringForSQLExpression(EOSQLExpression e)
Generates the sql string for the given sql expression.
|
java.lang.String |
toString()
Description of the qualifier
|
void |
validateKeysWithRootClassDescription(EOClassDescription aClassDescription)
This qualifier does not perform validation.
|
_accept, _isEmpty, allQualifierKeys, allQualifierOperators, bindingKeys, filterArrayWithQualifier, filteredArrayWithQualifier, keyPathForBindingKey, operatorSelectorForSelectorNamed, operatorSelectorForString, qualifierToMatchAllValues, qualifierToMatchAnyValue, qualifierWithQualifierFormat, relationalQualifierOperators, stringForOperatorSelectorpublic static final org.apache.log4j.Logger log
protected EOQualifier qualifier
protected java.lang.String entityName
protected java.lang.String relationshipName
protected java.lang.String attributeName
protected java.lang.String destinationAttName
public ERXQualifierInSubquery(EOQualifier qualifier)
qualifier - sub qualifierpublic ERXQualifierInSubquery(EOQualifier qualifier, java.lang.String entityName, java.lang.String relationshipName)
qualifier - sub qualifierentityName - of the sub qualificationrelationshipName - relationship namepublic ERXQualifierInSubquery(EOQualifier qualifier, java.lang.String entityName, java.lang.String attributeName, java.lang.String destinationAttName)
qualifier - sub qualifierentityName - of the sub qualificationattributeName - foreign key attribute namedestinationAttName - destination key namepublic void addQualifierKeysToSet(NSMutableSet aSet)
addQualifierKeysToSet in class EOQualifieraSet - of qualifier keyspublic EOQualifier qualifierWithBindings(NSDictionary someBindings, boolean requiresAll)
qualifierWithBindings in class EOQualifiersomeBindings - some bindingsrequiresAll - tells if the qualifier requires all bindingspublic void validateKeysWithRootClassDescription(EOClassDescription aClassDescription)
validateKeysWithRootClassDescription in class EOQualifieraClassDescription - to validation the qualifier keys against.public java.lang.String sqlStringForSQLExpression(EOSQLExpression e)
sqlStringForSQLExpression in interface EOQualifierSQLGeneratione - a given sql expressionpublic EOQualifier schemaBasedQualifierWithRootEntity(EOEntity anEntity)
schemaBasedQualifierWithRootEntity in interface EOQualifierSQLGenerationanEntity - an entity.public EOQualifier qualifierMigratedFromEntityRelationshipPath(EOEntity anEntity, java.lang.String aPath)
qualifierMigratedFromEntityRelationshipPath in interface EOQualifierSQLGenerationanEntity - an entityaPath - relationship pathpublic java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.Object clone()
clone in class EOQualifierpublic boolean evaluateWithObject(java.lang.Object object)
evaluateWithObject in interface EOQualifierEvaluationevaluateWithObject in class EOQualifierCopyright © 2002 – 2022 Project Wonder.