From: Anjo K. <an...@us...> - 2007-12-17 23:48:34
|
Update of /cvsroot/wonder/Wonder/Common/Frameworks/ERExtensions/Sources/er/extensions In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv22632/Sources/er/extensions Modified Files: EOEnterpriseObjectClazz.java Log Message: added utils Index: EOEnterpriseObjectClazz.java =================================================================== RCS file: /cvsroot/wonder/Wonder/Common/Frameworks/ERExtensions/Sources/er/extensions/EOEnterpriseObjectClazz.java,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** EOEnterpriseObjectClazz.java 17 Dec 2007 21:44:05 -0000 1.21 --- EOEnterpriseObjectClazz.java 17 Dec 2007 23:48:31 -0000 1.22 *************** *** 316,320 **** /** ! * Fetches all of the objects matching the given qualifer * format corresponding to the clazz's entity using the * given editing context. --- 316,320 ---- /** ! * Fetches all of the objects matching the given qualifier * format corresponding to the clazz's entity using the * given editing context. *************** *** 328,334 **** return EOUtilities.objectsWithQualifierFormat(ec, entityName(), qualifier, args); } /** ! * Fetchs an array of objects for a given fetch specification * and an array of bindings. The fetch specifiation is resolved * off of the entity corresponding to the current clazz. --- 328,365 ---- return EOUtilities.objectsWithQualifierFormat(ec, entityName(), qualifier, args); } + + /** + * Fetches all of the objects matching the given key and value + * corresponding to the clazz's entity using the + * given editing context. + * @param ec editing context + * @param key key string + * @param value value + * @return array of objects corresponding to the passed in parameters. + */ + public NSArray<T> objectsMatchingKeyAndValue(EOEditingContext ec, String key, Object value) { + return EOUtilities.objectsMatchingKeyAndValue(ec, entityName(), key, value); + } + + /** + * Fetches the object matching the given key and value + * corresponding to the clazz's entity using the + * given editing context. If more than one matches, throws a EOMoreThanOneException, + * otherwise returns null or the match. + * @param ec editing context + * @param key key string + * @param value value + * @return array of objects corresponding to the passed in parameters. + */ + public T objectMatchingKeyAndValue(EOEditingContext ec, String key, Object value) { + NSArray<T> result = objectsMatchingKeyAndValue(ec, key, value); + if(result.count() > 1) { + throw new EOUtilities.MoreThanOneException("Mor than one: " + key + "->" + value); + } + return result.lastObject(); + } /** ! * Fetches an array of objects for a given fetch specification * and an array of bindings. The fetch specifiation is resolved * off of the entity corresponding to the current clazz. |