diff options
| author | Benjamin Culkin <scorpress@gmail.com> | 2024-05-20 17:58:16 -0400 |
|---|---|---|
| committer | Benjamin Culkin <scorpress@gmail.com> | 2024-05-20 17:58:16 -0400 |
| commit | 40a9d99496e098562f090fb7ffce9e749011b131 (patch) | |
| tree | 437df24d65470582e943e494a52db8ed65a881ae /projects/net.wotonomy.persistence/src/main/java/net/wotonomy/control/EOKeyValueQualifier.java | |
| parent | ff072dfe782f6f22123cd4ba050828d35c0d0fbd (diff) | |
Formatting pass
Diffstat (limited to 'projects/net.wotonomy.persistence/src/main/java/net/wotonomy/control/EOKeyValueQualifier.java')
| -rw-r--r-- | projects/net.wotonomy.persistence/src/main/java/net/wotonomy/control/EOKeyValueQualifier.java | 224 |
1 files changed, 100 insertions, 124 deletions
diff --git a/projects/net.wotonomy.persistence/src/main/java/net/wotonomy/control/EOKeyValueQualifier.java b/projects/net.wotonomy.persistence/src/main/java/net/wotonomy/control/EOKeyValueQualifier.java index 799955e..4ced471 100644 --- a/projects/net.wotonomy.persistence/src/main/java/net/wotonomy/control/EOKeyValueQualifier.java +++ b/projects/net.wotonomy.persistence/src/main/java/net/wotonomy/control/EOKeyValueQualifier.java @@ -24,100 +24,80 @@ import net.wotonomy.foundation.NSSelector; import net.wotonomy.foundation.internal.WotonomyException; /** -* EOKeyValueQualifier performs a property-based -* comparison against a specified value. The comparison -* is specified in the form of a NSSelector. The -* selector is expected to take two arguments, the -* property value on an object and the comparison value, -* and return a Boolean indicating whether the object -* is qualified. EOQualifier defines selectors that -* may be used in creating EOKeyValueQualifiers. -* -* @author michael@mpowers.net -* @author yjcheung@intersectsoft.com -* @author $Author: cgruber $ -* @version $Revision: 894 $ -*/ -public class EOKeyValueQualifier extends EOQualifier - implements EOKeyValueArchiving, EOQualifierEvaluation -{ - private String key; - private NSSelector selector; - private Object value; - - /** - * Constructor specifying a property key, a selector, - * and a value for comparison. The selector may be - * one of the constant selectors defined on EOQualifier. - */ - public EOKeyValueQualifier( - String aKey, - NSSelector aSelector, - Object aValue ) - { - key = aKey; - selector = aSelector; - value = aValue; - } - - /** - * Returns the key for this qualifier. - */ - public String key() - { - return key; - } - - /** - * Returns the selector for this qualifier. - */ - public NSSelector selector() - { - return selector; - } - - /** - * Returns the value for this qualifier. - */ - public Object value() - { - return value; - } - - /** - * Evaluates this qualifier for the specified object, - * and returns whether the object is qualified. - * selector() is invoked on the value for key() on the - * specified object, with value() as the parameter. - */ - public boolean evaluateWithObject( Object anObject ) - { - try - { - Object value; - if ( anObject instanceof EOKeyValueCoding ) - { - value = ((EOKeyValueCoding)anObject).valueForKey( key() ); - } - else - { - value = EOKeyValueCodingSupport.valueForKey( anObject, key() ); - } - return ((Boolean)selector.invoke( value(), value)).booleanValue(); - } - catch ( Exception exc ) - { - throw new WotonomyException( exc ); - } - } - - /** - * Returns a string representation of this qualifier. - */ - public String toString() - { - return "( " + key + " " + selector + " " + value + " )"; - } + * EOKeyValueQualifier performs a property-based comparison against a specified + * value. The comparison is specified in the form of a NSSelector. The selector + * is expected to take two arguments, the property value on an object and the + * comparison value, and return a Boolean indicating whether the object is + * qualified. EOQualifier defines selectors that may be used in creating + * EOKeyValueQualifiers. + * + * @author michael@mpowers.net + * @author yjcheung@intersectsoft.com + * @author $Author: cgruber $ + * @version $Revision: 894 $ + */ +public class EOKeyValueQualifier extends EOQualifier implements EOKeyValueArchiving, EOQualifierEvaluation { + private String key; + private NSSelector selector; + private Object value; + + /** + * Constructor specifying a property key, a selector, and a value for + * comparison. The selector may be one of the constant selectors defined on + * EOQualifier. + */ + public EOKeyValueQualifier(String aKey, NSSelector aSelector, Object aValue) { + key = aKey; + selector = aSelector; + value = aValue; + } + + /** + * Returns the key for this qualifier. + */ + public String key() { + return key; + } + + /** + * Returns the selector for this qualifier. + */ + public NSSelector selector() { + return selector; + } + + /** + * Returns the value for this qualifier. + */ + public Object value() { + return value; + } + + /** + * Evaluates this qualifier for the specified object, and returns whether the + * object is qualified. selector() is invoked on the value for key() on the + * specified object, with value() as the parameter. + */ + public boolean evaluateWithObject(Object anObject) { + try { + Object value; + if (anObject instanceof EOKeyValueCoding) { + value = ((EOKeyValueCoding) anObject).valueForKey(key()); + } else { + value = EOKeyValueCodingSupport.valueForKey(anObject, key()); + } + return ((Boolean) selector.invoke(value(), value)).booleanValue(); + } catch (Exception exc) { + throw new WotonomyException(exc); + } + } + + /** + * Returns a string representation of this qualifier. + */ + public String toString() { + return "( " + key + " " + selector + " " + value + " )"; + } public void encodeWithKeyValueArchiver(EOKeyValueArchiver arch) { arch.encodeObject("EOKeyValueQualifier", "class"); @@ -159,10 +139,10 @@ public class EOKeyValueQualifier extends EOQualifier } public static Object decodeWithKeyValueUnarchiver(EOKeyValueUnarchiver arch) { - String k = (String)arch.decodeObjectForKey("key"); + String k = (String) arch.decodeObjectForKey("key"); Object v = arch.decodeObjectForKey("value"); NSSelector sel = null; - String sname = (String)arch.decodeObjectForKey("selectorName"); + String sname = (String) arch.decodeObjectForKey("selectorName"); if (sname.equals("isEqualTo:")) sel = EOQualifier.QualifierOperatorEqual; else if (sname.equals("isNotEqualTo:")) @@ -188,46 +168,42 @@ public class EOKeyValueQualifier extends EOQualifier } /* - * $Log$ - * Revision 1.2 2006/02/16 16:47:14 cgruber - * Move some classes in to "internal" packages and re-work imports, etc. + * $Log$ Revision 1.2 2006/02/16 16:47:14 cgruber Move some classes in to + * "internal" packages and re-work imports, etc. * - * Also use UnsupportedOperationExceptions where appropriate, instead of WotonomyExceptions. + * Also use UnsupportedOperationExceptions where appropriate, instead of + * WotonomyExceptions. * - * Revision 1.1 2006/02/16 13:19:57 cgruber - * Check in all sources in eclipse-friendly maven-enabled packages. + * Revision 1.1 2006/02/16 13:19:57 cgruber Check in all sources in + * eclipse-friendly maven-enabled packages. * - * Revision 1.10 2003/08/12 01:43:04 chochos - * formally implement EOQualifierEvaluation + * Revision 1.10 2003/08/12 01:43:04 chochos formally implement + * EOQualifierEvaluation * - * Revision 1.9 2003/08/11 19:39:30 chochos - * special conditions for NSKeyValueCoding.NullValue -> EONull + * Revision 1.9 2003/08/11 19:39:30 chochos special conditions for + * NSKeyValueCoding.NullValue -> EONull * - * Revision 1.8 2003/08/09 01:22:51 chochos - * qualifiers implement EOKeyValueArchiving + * Revision 1.8 2003/08/09 01:22:51 chochos qualifiers implement + * EOKeyValueArchiving * - * Revision 1.7 2003/08/06 23:07:52 chochos - * general code cleanup (mostly, removing unused imports) + * Revision 1.7 2003/08/06 23:07:52 chochos general code cleanup (mostly, + * removing unused imports) * - * Revision 1.6 2001/10/31 15:26:06 mpowers - * Fixed typo. + * Revision 1.6 2001/10/31 15:26:06 mpowers Fixed typo. * - * Revision 1.5 2001/10/31 15:25:14 mpowers - * Cleanup of qualifiers. + * Revision 1.5 2001/10/31 15:25:14 mpowers Cleanup of qualifiers. * - * Revision 1.4 2001/10/30 22:57:28 mpowers - * EOQualifier framework is now working. + * Revision 1.4 2001/10/30 22:57:28 mpowers EOQualifier framework is now + * working. * - * Revision 1.3 2001/09/13 15:25:56 mpowers - * Started implementation of the EOQualifier framework. + * Revision 1.3 2001/09/13 15:25:56 mpowers Started implementation of the + * EOQualifier framework. * - * Revision 1.2 2001/03/29 03:29:49 mpowers - * Now using KeyValueCoding and Support instead of Introspector. + * Revision 1.2 2001/03/29 03:29:49 mpowers Now using KeyValueCoding and Support + * instead of Introspector. * - * Revision 1.1 2001/02/27 03:33:04 mpowers - * Initial draft of the key-value qualifier. + * Revision 1.1 2001/02/27 03:33:04 mpowers Initial draft of the key-value + * qualifier. * * */ - - |
