summaryrefslogtreecommitdiff
path: root/projects/net.wotonomy.persistence/src/main/java/net/wotonomy/control/EOKeyValueQualifier.java
diff options
context:
space:
mode:
authorBenjamin Culkin <scorpress@gmail.com>2024-05-20 17:58:16 -0400
committerBenjamin Culkin <scorpress@gmail.com>2024-05-20 17:58:16 -0400
commit40a9d99496e098562f090fb7ffce9e749011b131 (patch)
tree437df24d65470582e943e494a52db8ed65a881ae /projects/net.wotonomy.persistence/src/main/java/net/wotonomy/control/EOKeyValueQualifier.java
parentff072dfe782f6f22123cd4ba050828d35c0d0fbd (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.java224
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.
*
*
*/
-
-