@Override public void markUserChange() { proxy.markUserChange(); target.markUserChange(); }
@Override public String getName() { checkConfig(); return NAME; }
@Override public Document doCheckIn(Document doc, VersioningOption option, String checkinComment) { return doc.checkIn(null, checkinComment); // auto-label }
@Override public Map<String, String> getBinaryFulltext(DocumentRef ref) { Document doc = resolveReference(ref); checkPermission(doc, READ); // Use an id whether than system properties to avoid to store fulltext properties in cache String id = doc.getUUID(); if (doc.isProxy()) { id = doc.getTargetDocument().getUUID(); } return getSession().getBinaryFulltext(id); }
@Override public String getRepositoryName() { return target.getRepositoryName(); }
@Override public void visitBlobs(Consumer<BlobAccessor> blobVisitor) throws PropertyException { // visit all blobs from the proxy AND the target proxy.visitBlobs(blobVisitor); target.visitBlobs(blobVisitor); }
@Override public boolean isPostSaveDoingCheckIn(Document doc, VersioningOption option, Map<String, Serializable> options) { // option = validateOption(doc, option); // validated before return doc.isCheckedOut() && option != NONE; }
@Override public void remove() { proxy.remove(); }
@Override public Session getSession() { return target.getSession(); }
@Override public boolean isReadOnly() { return target.isReadOnly(); }
@Override public Set<String> getAllFacets() { return target.getAllFacets(); // TODO proxy facets }
@Override public String getLifeCycleState() { return target.getLifeCycleState(); }
@Override public Lock getLock() { return target.getLock(); }
@Override public Calendar getVersionCreationDate() { return target.getVersionCreationDate(); }
@Override public List<String> getVersionsIds() { return target.getVersionsIds(); }
@Override public WriteContext getWriteContext() { // proxy or target doesn't matter, this is about typing return proxy.getWriteContext(); }
@Override public boolean isFolder() { return target.isFolder(); }
@Override public boolean isRetentionActive() { return target.isRetentionActive(); }
@Override public boolean isLatestVersion() { return target.isLatestVersion(); }
@Override public Object fetch(Object value) { return fetch(value, null); }