@Override public void delete(DatabaseDocument<T> d) { cache.remove(d.getID()); writer.delete(d); }
@Override public boolean markDiscarded(DatabaseDocument<T> d, String stage) { DatabaseDocument<T> cached = cache.getDocumentById(d.getID()); d.putAll(cached); cache.remove(d.getID()); if (writer.markDiscarded(d, stage)) { return true; } return false; }
@Override public boolean markPending(DatabaseDocument<T> d, String stage) { DatabaseDocument<T> cached = cache.getDocumentById(d.getID()); d.putAll(cached); cache.remove(d.getID()); return writer.markPending(d, stage); }
@Override public boolean markProcessed(DatabaseDocument<T> d, String stage) { DatabaseDocument<T> cached = cache.getDocumentById(d.getID()); if (cached != null) { d.putAll(cached); cache.remove(d.getID()); } if (writer.markProcessed(d, stage)) { return true; } return false; }
@Override public boolean markFailed(DatabaseDocument<T> d, String stage) { DatabaseDocument<T> cached = cache.getDocumentById(d.getID()); d.putAll(cached); cache.remove(d.getID()); if (writer.markFailed(d, stage)) { return true; } return false; }