public boolean contains(Value subj, Value pred, Value obj, Value... contexts) { try { if (!isResourceURI(subj, pred) || !isEmptyOrResourcePresent(contexts)) return false; return con.hasStatement((Resource) subj, (URI) pred, obj, false, cast(contexts)); } catch (RepositoryException e) { throw new ModelException(e); } }
public void remove() { if (last == null) throw new IllegalStateException("next() not yet called"); RepositoryModel.this.remove(last); last = null; } }
public Model filter(final Value subj, final Value pred, final Value obj, final Value... contexts) { if (!isResourceURI(subj, pred) || !isEmptyOrResourcePresent(contexts)) return new EmptyModel(this); return new FilteredModel(this, subj, pred, obj, contexts) { @Override public int size() { if (subj == null && pred == null && obj == null) { try { return (int) con.size(cast(contexts)); } catch (RepositoryException e) { throw new ModelException(e); } } return super.size(); } @Override public Iterator<Statement> iterator() { try { return new StatementIterator(con.getStatements( (Resource) subj, (URI) pred, obj, false, cast(contexts))); } catch (RepositoryException e) { throw new ModelException(e); } } }; }
@Override protected synchronized void removeIteration(Iterator<Statement> iter, Resource subj, URI pred, Value obj, Resource... contexts) { if (disk == null) { memory.removeIteration(iter, subj, pred, obj, contexts); } else { disk.removeIteration(iter, subj, pred, obj, contexts); } }
@Override public synchronized void closeIterator(Iterator<?> iter) { super.closeIterator(iter); if (disk == null) { memory.closeIterator(iter); } else { disk.closeIterator(iter); } }
public synchronized boolean add(Resource subj, URI pred, Value obj, Resource... contexts) { if (subj == null || pred == null || obj == null) throw new UnsupportedOperationException("Incomplete statement"); try { if (contains(subj, pred, obj, contexts)) return false; if (size >= 0) { size++; } con.add(subj, pred, obj, contexts); return true; } catch (RepositoryException e) { throw new ModelException(e); } }
disk.addAll(memory); memory = new TreeModel(memory.getNamespaces()); } catch (IOException e) {
public synchronized boolean remove(Value subj, Value pred, Value obj, Value... contexts) { try { if (contains(subj, pred, obj, contexts)) { size = -1; con.remove((Resource) subj, (URI) pred, obj, cast(contexts)); return true; } } catch (RepositoryException e) { throw new ModelException(e); } return false; }