PATH |
EOKeyComparisonQualifier
Inherits from: EOQualifier
Implements: EOQualifierEvaluation NSCoding EOKeyValueArchiving
Package: com.webobjects.eocontrol
Class Description
EOKeyComparisonQualifier is a subclass of EOQualifier that compares a named property of an object with a named value of another object. For example, to return all of the employees whose salaries are greater than those of their managers, you might use an expression such as "salary > manager.salary", where "salary" is the left key and "manager.salary" is the right key. The "left key" is the property of the first object that's being compared to a property in a second object; the property in the second object is the "right key." Both the left key and the right key might be key paths. You can use EOKeyComparisonQualifier to compare properties of two different objects or to compare two properties of the same object.
EOKeyComparisonQualifier implements the EOQualifierEvaluation interface, which defines the method evaluateWithObject for in-memory evaluation. When an EOKeyComparisonQualifier object receives an evaluateWithObject message, it evaluates the given object to determine if it satisfies the qualifier criteria.
In addition to performing in-memory filtering, EOKeyComparisonQualifier can be used to generate SQL. When it's used for this purpose, the key should be a valid property name of the root entity for the qualifier (or a valid key path).
Interfaces Implemented
EOQualifierEvaluation evaluateWithObject NSCoding classForCoder decodeObject encodeWithCoder EOKeyValueArchiving decodeWithKeyValueUnarchiver encodeWithKeyValueArchiver
Constructors
EOKeyComparisonQualifier
public EOKeyComparisonQualifier( String leftKey, NSSelector selector, String rightKey)
- QualifierOperatorEqual
- QualifierOperatorNotEqual
- QualifierOperatorLessThan
- QualifierOperatorGreaterThan
- QualifierOperatorLessThanOrEqualTo
- QualifierOperatorGreaterThanOrEqualTo
- QualifierOperatorContains
- QualifierOperatorLike
- QualifierOperatorCaseInsensitiveLike
Enterprise Objects Framework supports SQL generation for these methods only. You can generate SQL using the EOSQLExpression static method sqlStringForKeyComparisonQualifier.
For example, the following excerpt creates an EOKeyComparisonQualifier qual
that has the left key "lastName", the operator method EOQualifierOperatorEqual, and the right key "member.lastName". Once constructed, the qualifier qual
is used to filter an in-memory array. The code excerpt returns an array of Guest objects whose lastName properties have the same value as the lastName property of the guest's sponsoring member (this example is based on the Rentals sample database).
NSArray guests; /* Assume this exists */ EOKeyComparisonQualifier qual = new EOKeyComparisonQualifier("lastName", EOQualifier.QualifierOperatorEqual, "member.lastName"); return EOQualifier.filteredArrayWithQualifier(guests, qual);
Static Methods
decodeObject
public static Object decodeObject(NSCoder coder)
decodeWithKeyValueUnarchiver
public static Object decodeWithKeyValueUnarchiver(EOKeyValueUnarchiver unarchiver)
Instance Methods
addQualifierKeysToSet
public void addQualifierKeysToSet(NSMutableSet aSet)
classForCoder
public Class classForCoder()
encodeWithCoder
public void encodeWithCoder(NSCoder coder)
encodeWithKeyValueArchiver
public void encodeWithKeyValueArchiver(EOKeyValueArchiver archiver)
evaluateWithObject
public boolean evaluateWithObject(NSKeyValueCodingAdditions object)
leftKey
public String leftKey()
qualifierWithBindings
public EOQualifier qualifierWithBindings( NSDictionary, boolean)
rightKey
public String rightKey()
selector
public NSSelector selector()
toString
public String toString()
validateKeysWithRootClassDescription
public void validateKeysWithRootClassDescription(EOClassDescription classDesc)
null
to indicate that the keys contained by the qualifier are valid.
© 2001 Apple Computer, Inc. (Last Published April 19, 2001)