@Override public final String getNamespace(String prefix) throws SailException { if (prefix == null) { throw new NullPointerException("prefix must not be null"); } connectionLock.readLock().lock(); try { verifyIsOpen(); return getNamespaceInternal(prefix); } finally { connectionLock.readLock().unlock(); } }
@Override public final String getNamespace(String prefix) throws SailException { if (prefix == null) { throw new NullPointerException("prefix must not be null"); } connectionLock.readLock().lock(); try { verifyIsOpen(); return getNamespaceInternal(prefix); } finally { connectionLock.readLock().unlock(); } }
@Override public final long size(Resource... contexts) throws SailException { flushPendingUpdates(); connectionLock.readLock().lock(); try { verifyIsOpen(); return sizeInternal(contexts); } finally { connectionLock.readLock().unlock(); } }
@Override public final CloseableIteration<? extends Namespace, SailException> getNamespaces() throws SailException { connectionLock.readLock().lock(); try { verifyIsOpen(); return registerIteration(getNamespacesInternal()); } finally { connectionLock.readLock().unlock(); } }
@Override public final CloseableIteration<? extends Namespace, SailException> getNamespaces() throws SailException { connectionLock.readLock().lock(); try { verifyIsOpen(); return registerIteration(getNamespacesInternal()); } finally { connectionLock.readLock().unlock(); } }
@Override public final long size(Resource... contexts) throws SailException { flushPendingUpdates(); connectionLock.readLock().lock(); try { verifyIsOpen(); return sizeInternal(contexts); } finally { connectionLock.readLock().unlock(); } }
@Override public final void clearNamespaces() throws SailException { connectionLock.readLock().lock(); try { verifyIsOpen(); updateLock.lock(); try { verifyIsActive(); clearNamespacesInternal(); } finally { updateLock.unlock(); } } finally { connectionLock.readLock().unlock(); } }
@Override public final void clearNamespaces() throws SailException { connectionLock.readLock().lock(); try { verifyIsOpen(); updateLock.lock(); try { verifyIsActive(); clearNamespacesInternal(); } finally { updateLock.unlock(); } } finally { connectionLock.readLock().unlock(); } }
@Override public final CloseableIteration<? extends Resource, SailException> getContextIDs() throws SailException { flushPendingUpdates(); connectionLock.readLock().lock(); try { verifyIsOpen(); return registerIteration(getContextIDsInternal()); } finally { connectionLock.readLock().unlock(); } }
@Override public final void setNamespace(String prefix, String name) throws SailException { if (prefix == null) { throw new NullPointerException("prefix must not be null"); } if (name == null) { throw new NullPointerException("name must not be null"); } connectionLock.readLock().lock(); try { verifyIsOpen(); updateLock.lock(); try { verifyIsActive(); setNamespaceInternal(prefix, name); } finally { updateLock.unlock(); } } finally { connectionLock.readLock().unlock(); } }
@Override public final CloseableIteration<? extends Resource, SailException> getContextIDs() throws SailException { flushPendingUpdates(); connectionLock.readLock().lock(); try { verifyIsOpen(); return registerIteration(getContextIDsInternal()); } finally { connectionLock.readLock().unlock(); } }
@Override public final void removeNamespace(String prefix) throws SailException { if (prefix == null) { throw new NullPointerException("prefix must not be null"); } connectionLock.readLock().lock(); try { verifyIsOpen(); updateLock.lock(); try { verifyIsActive(); removeNamespaceInternal(prefix); } finally { updateLock.unlock(); } } finally { connectionLock.readLock().unlock(); } }
@Override public final void removeNamespace(String prefix) throws SailException { if (prefix == null) { throw new NullPointerException("prefix must not be null"); } connectionLock.readLock().lock(); try { verifyIsOpen(); updateLock.lock(); try { verifyIsActive(); removeNamespaceInternal(prefix); } finally { updateLock.unlock(); } } finally { connectionLock.readLock().unlock(); } }
@Override public final void endUpdate(UpdateContext op) throws SailException { connectionLock.readLock().lock(); try { verifyIsOpen(); updateLock.lock(); try { verifyIsActive(); endUpdateInternal(op); } finally { updateLock.unlock(); } } finally { connectionLock.readLock().unlock(); if (op != null) { flush(); } } }
@Override public final void clear(Resource... contexts) throws SailException { flushPendingUpdates(); connectionLock.readLock().lock(); try { verifyIsOpen(); updateLock.lock(); try { verifyIsActive(); clearInternal(contexts); } finally { updateLock.unlock(); } } finally { connectionLock.readLock().unlock(); } }
@Override public final void clear(Resource... contexts) throws SailException { flushPendingUpdates(); connectionLock.readLock().lock(); try { verifyIsOpen(); updateLock.lock(); try { verifyIsActive(); clearInternal(contexts); } finally { updateLock.unlock(); } } finally { connectionLock.readLock().unlock(); } }
@Override public final void endUpdate(UpdateContext op) throws SailException { connectionLock.readLock().lock(); try { verifyIsOpen(); updateLock.lock(); try { verifyIsActive(); endUpdateInternal(op); } finally { updateLock.unlock(); } } finally { connectionLock.readLock().unlock(); if (op != null) { flush(); } } }
@Override public final void prepare() throws SailException { if (isActive()) { endUpdate(null); } connectionLock.readLock().lock(); try { verifyIsOpen(); updateLock.lock(); try { if (txnActive) { prepareInternal(); txnPrepared = true; } } finally { updateLock.unlock(); } } finally { connectionLock.readLock().unlock(); } }
@Override public final void commit() throws SailException { if (isActive()) { endUpdate(null); } connectionLock.readLock().lock(); try { verifyIsOpen(); updateLock.lock(); try { if (txnActive) { if (!txnPrepared) { prepareInternal(); } commitInternal(); txnActive = false; txnPrepared = false; } } finally { updateLock.unlock(); } } finally { connectionLock.readLock().unlock(); } }
/** * The default implementation buffers added statements until the update operation is complete. */ @Override public void addStatement(UpdateContext op, Resource subj, IRI pred, Value obj, Resource... contexts) throws SailException { verifyIsOpen(); verifyIsActive(); synchronized (added) { assert added.containsKey(op); Collection<Statement> pending = added.get(op); if (contexts == null || contexts.length == 0) { pending.add(sailBase.getValueFactory().createStatement(subj, pred, obj)); } else { for (Resource ctx : contexts) { pending.add(sailBase.getValueFactory().createStatement(subj, pred, obj, ctx)); } } if (pending.size() % BLOCK_SIZE == 0 && !isActiveOperation()) { endUpdate(op); startUpdate(op); } } }