private <T> Iterator<T> getTypeSelectedObjects(IRI property, final Class<T> type) { final Iterator<RDFTerm> objects = getObjects(property); return new Iterator<T>() { T next = prepareNext(); @Override public boolean hasNext() { return next != null; } @Override public T next() { T result = next; next = prepareNext(); return result; } @Override public void remove() { throw new UnsupportedOperationException("Not supported yet."); } private T prepareNext() { while (objects.hasNext()) { RDFTerm nextObject = objects.next(); if (type.isAssignableFrom(nextObject.getClass())) { return (T) nextObject; } } return null; } }; }
private <T> Iterator<T> getTypeSelectedObjects(IRI property, final Class<T> type) { final Iterator<RDFTerm> objects = getObjects(property); return new Iterator<T>() { T next = prepareNext(); @Override public boolean hasNext() { return next != null; } @Override public T next() { T result = next; next = prepareNext(); return result; } @Override public void remove() { throw new UnsupportedOperationException("Not supported yet."); } private T prepareNext() { while (objects.hasNext()) { RDFTerm nextObject = objects.next(); if (type.isAssignableFrom(nextObject.getClass())) { return (T) nextObject; } } return null; } }; }
@Override public T next() { T result = next; next = prepareNext(); return result; }
@Override public T next() { T result = next; next = prepareNext(); return result; }