/** {@inheritDoc} */ @Override public void deleteContext(@Nonnull @NotEmpty final String context) throws IOException { final Lock writeLock = getLock().writeLock(); try { writeLock.lock(); setDirty(); try { getContextMap().remove(context); } catch (final Exception e) { throw new IOException(e); } } finally { writeLock.unlock(); } log.debug("Deleted context '{}'", context); }
/** {@inheritDoc} */ @Override public void reap(@Nonnull @NotEmpty final String context) throws IOException { final Lock writeLock = getLock().writeLock(); try { writeLock.lock(); final Map<String,Map<String,MutableStorageRecord>> contextMap; try { contextMap = getContextMap(); } catch (final Exception e) { throw new IOException(e); } final Map<String, MutableStorageRecord> dataMap = contextMap.get(context); if (dataMap != null) { if (reapWithLock(dataMap, System.currentTimeMillis())) { setDirty(); if (dataMap.isEmpty()) { contextMap.remove(context); } } } } finally { writeLock.unlock(); } }
public void updateContextExpiration(@Nonnull @NotEmpty final String context, @Nullable final Long expiration) throws IOException { final Lock writeLock = getLock().writeLock();
public boolean create(@Nonnull @NotEmpty final String context, @Nonnull @NotEmpty final String key, @Nonnull @NotEmpty final String value, @Nullable final Long expiration) throws IOException { final Lock writeLock = getLock().writeLock();
@Nonnull @NotEmpty final String key) throws IOException, VersionMismatchException { final Lock writeLock = getLock().writeLock();
@Nonnull @NotEmpty final String key, @Nullable final Long version) throws IOException { Lock readLock = getLock().readLock(); try { readLock.lock();
throws IOException, VersionMismatchException { final Lock writeLock = getLock().writeLock();