@Override public T getByUniqueProperty(String property, Object value) throws NonUniqueResultException { Iterable<T> results = getByProperty(property, value); if(!results.iterator().hasNext()) { return null; } Iterator<T> iter = results.iterator(); T result = iter.next(); if(iter.hasNext()) { throw new NonUniqueResultException("Expected unique value, but returned non-unique."); } return result; } }
@Override public T getByUniqueProperty(String property, Object value) throws NonUniqueResultException { Iterable<T> results = getByProperty(property, value); if(!results.iterator().hasNext()) { return null; } Iterator<T> iter = results.iterator(); T result = iter.next(); if(iter.hasNext()) { throw new NonUniqueResultException("Expected unique value, but returned non-unique."); } return result; } }