protected static NSDictionary expansionLookup() { if (RuleModelUtilities.expansionLookup == null) { NSDictionary lookupDictionary = RuleModelUtilities.compressionLookup(); Enumeration keys = lookupDictionary.keyEnumerator(); NSMutableDictionary lookup = new NSMutableDictionary(lookupDictionary.count()); while (keys.hasMoreElements()) { Object key = keys.nextElement(); Object value = lookupDictionary.objectForKey(key); lookup.setObjectForKey(key, value); } // Direct To Web rule editor compatibility lookup.setObjectForKey( BooleanAssignment.class.getName(), "com.webobjects.directtoweb.BooleanAssignment"); lookup.setObjectForKey(Rule.class.getName(), "com.webobjects.directtoweb.Rule"); lookup.setObjectForKey( SimpleAssignment.class.getName(), "com.webobjects.directtoweb.Assignment"); lookup.setObjectForKey( KeyValueAssignment.class.getName(), "com.webobjects.directtoweb.KeyValueAssignment"); RuleModelUtilities.expansionLookup = lookup; } return RuleModelUtilities.expansionLookup; }
@Override public EOQualifier qualifierWithBindings(NSDictionary arg0, boolean arg1) { if (arg0 != null && arg0.count() > 0) { throw new IllegalStateException(getClass().getName() + " doesn't support bindings"); } return this; }
/** * @param d dictionary to sort keys from * @return keys from d sorted by ascending value they are mapped to */ public static <T> NSArray<T> keysSortedByValueAscending(final NSDictionary<T, ?> d) { NSArray<T> result = null; if (d != null && d.count() > 0) { final NSArray<T> keys = d.allKeys(); result = ERXArrayUtilities.sortedArrayUsingComparator(keys, new NSDictionaryKeyValueComparator(d)); } return result != null ? result : NSArray.EmptyArray; }
// if you're keys are not all strings, this method will throw. public static NSArray<String> stringKeysSortedAscending(final NSDictionary<String, ?> d) { NSArray<String> result = null; if (d != null && d.count() > 0) { final NSArray<String> keys = d.allKeys(); result = ERXArrayUtilities.sortedArrayUsingComparator( keys, NSComparator.AscendingStringComparator); } return result != null ? result : NSArray.EmptyArray; }
protected static NSDictionary transformDictionary(NSDictionary dictionary, NSDictionary lookup) { NSMutableDictionary transformedDictionary = new NSMutableDictionary(dictionary.count()); Enumeration keys = dictionary.keyEnumerator(); while (keys.hasMoreElements()) { Object key = keys.nextElement(); Object value = dictionary.objectForKey(key); transformedDictionary.setObjectForKey(RuleModelUtilities.transform(value, lookup), key); } return transformedDictionary; }