Iterator<Triple> resultTripleIterator = resultGraph.filter(FIELD_QUERY_RESULT_SET, FIELD_QUERY_RESULT, null); Iterator<RdfRepresentation> resultIterator = new AdaptingIterator<Triple,RdfRepresentation>( resultTripleIterator, new AdaptingIterator.Adapter<Triple,RdfRepresentation>() {
@Override public final A next() { hasNext(); //call hasNext (to init next Element if not already done) if(!hasNext){ throw new NoSuchElementException(); } else { A current = next; next = null; hasNext = null; return current; } } /**
@Override public final boolean hasNext() { if(hasNext == null){ // only once even with multiple calls next = prepareNext(); hasNext = next != null; } return hasNext; }
Iterator<Triple> resultTripleIterator = resultGraph.filter(FIELD_QUERY_RESULT_SET, FIELD_QUERY_RESULT, null); Iterator<RdfRepresentation> resultIterator = new AdaptingIterator<Triple,RdfRepresentation>( resultTripleIterator, new AdaptingIterator.Adapter<Triple,RdfRepresentation>() {
@Override public final boolean hasNext() { if(hasNext == null){ // only once even with multiple calls next = prepareNext(); hasNext = next != null; } return hasNext; }
@Override public final A next() { hasNext(); //call hasNext (to init next Element if not already done) if(!hasNext){ throw new NoSuchElementException(); } else { A current = next; next = null; hasNext = null; return current; } } /**
@Override public Iterator<Text> getText(String field) { if(field == null){ throw new IllegalArgumentException("The parsed field MUST NOT be NULL"); } else if(field.isEmpty()){ throw new IllegalArgumentException("The parsed field MUST NOT be Empty"); } return new AdaptingIterator<Literal, Text>( graphNode.getLiterals(new IRI(field)), new Literal2TextAdapter<Literal>(), Text.class); }
@Override public Iterator<Object> get(String field) { if(field == null){ throw new IllegalArgumentException("The parsed field MUST NOT be NULL"); } else if(field.isEmpty()){ throw new IllegalArgumentException("The parsed field MUST NOT be Empty"); } return new AdaptingIterator<RDFTerm, Object>(graphNode.getObjects(new IRI(field)), new Resource2ValueAdapter<RDFTerm>(),Object.class); }
@Override public Iterator<Reference> getReferences(String field) { if(field == null){ throw new IllegalArgumentException("The parsed field MUST NOT be NULL"); } else if(field.isEmpty()){ throw new IllegalArgumentException("The parsed field MUST NOT be Empty"); } return new AdaptingIterator<IRI,Reference>( graphNode.getIRIObjects(new IRI(field)), new IRI2ReferenceAdapter(),Reference.class); }
@Override public Iterator<Object> get(String field) { if(field == null){ throw new IllegalArgumentException("The parsed field MUST NOT be NULL"); } else if(field.isEmpty()){ throw new IllegalArgumentException("The parsed field MUST NOT be Empty"); } return new AdaptingIterator<RDFTerm, Object>(graphNode.getObjects(new IRI(field)), new Resource2ValueAdapter<RDFTerm>(),Object.class); }
@Override public Iterator<Reference> getReferences(String field) { if(field == null){ throw new IllegalArgumentException("The parsed field MUST NOT be NULL"); } else if(field.isEmpty()){ throw new IllegalArgumentException("The parsed field MUST NOT be Empty"); } return new AdaptingIterator<IRI,Reference>( graphNode.getIRIObjects(new IRI(field)), new IRI2ReferenceAdapter(),Reference.class); }
@Override public Iterator<Text> get(String field, String...languages) { if(field == null){ throw new IllegalArgumentException("The parsed field MUST NOT be NULL"); } else if(field.isEmpty()){ throw new IllegalArgumentException("The parsed field MUST NOT be Empty"); } return new AdaptingIterator<Literal, Text>( graphNode.getLiterals(new IRI(field)), new Literal2TextAdapter<Literal>(languages), Text.class); }
@Override public Iterator<Text> getText(String field) { if(field == null){ throw new IllegalArgumentException("The parsed field MUST NOT be NULL"); } else if(field.isEmpty()){ throw new IllegalArgumentException("The parsed field MUST NOT be Empty"); } return new AdaptingIterator<Literal, Text>( graphNode.getLiterals(new IRI(field)), new Literal2TextAdapter<Literal>(), Text.class); }
@Override public Iterator<Text> get(String field, String...languages) { if(field == null){ throw new IllegalArgumentException("The parsed field MUST NOT be NULL"); } else if(field.isEmpty()){ throw new IllegalArgumentException("The parsed field MUST NOT be Empty"); } return new AdaptingIterator<Literal, Text>( graphNode.getLiterals(new IRI(field)), new Literal2TextAdapter<Literal>(languages), Text.class); }
@Override public Iterator<String> getFieldNames() { return new AdaptingIterator<IRI, String>(graphNode.getProperties(), new Resource2StringAdapter<IRI>(), String.class); }
@Override public Iterator<String> getFieldNames() { return new AdaptingIterator<IRI, String>(graphNode.getProperties(), new Resource2StringAdapter<IRI>(), String.class); }
return new AdaptingIterator<IRI, T>( graphNode.getIRIObjects(fieldIRI), new IRIAdapter<T>(), type); } else if(Reference.class.isAssignableFrom(type)){ return (Iterator<T>) new AdaptingIterator<IRI,Reference>( graphNode.getIRIObjects(fieldIRI), new IRI2ReferenceAdapter(),Reference.class); } else if(Text.class.isAssignableFrom(type)){ return (Iterator<T>)new AdaptingIterator<Literal, Text>( graphNode.getLiterals(fieldIRI), new Literal2TextAdapter<Literal>(), Text.class); } else { //support for Literals -> Type conversions return new AdaptingIterator<Literal, T>( graphNode.getLiterals(fieldIRI), new LiteralAdapter<Literal, T>(),
resultIt = new AdaptingIterator<Entity,Representation>(site.findEntities(query).iterator(), new AdaptingIterator.Adapter<Entity,Representation>() { @Override
Iterator<Representation> representationIterator = new AdaptingIterator<SolutionMapping, Representation>( result, new AdaptingIterator.Adapter<SolutionMapping, Representation>() {
return new AdaptingIterator<IRI, T>( graphNode.getIRIObjects(fieldIRI), new IRIAdapter<T>(), type); } else if(Reference.class.isAssignableFrom(type)){ return (Iterator<T>) new AdaptingIterator<IRI,Reference>( graphNode.getIRIObjects(fieldIRI), new IRI2ReferenceAdapter(),Reference.class); } else if(Text.class.isAssignableFrom(type)){ return (Iterator<T>)new AdaptingIterator<Literal, Text>( graphNode.getLiterals(fieldIRI), new Literal2TextAdapter<Literal>(), Text.class); } else { //support for Literals -> Type conversions return new AdaptingIterator<Literal, T>( graphNode.getLiterals(fieldIRI), new LiteralAdapter<Literal, T>(),