protected final void checkDocumentId(ObjectId docId) { if (docId == null || docId.getId() == null) { throw new IllegalArgumentException("Invalid document ID!"); } }
protected final void checkDocumentId(ObjectId docId) { if (docId == null || docId.getId() == null) { throw new IllegalArgumentException("Invalid document ID!"); } }
protected final void checkFolderId(ObjectId folderId) { if (folderId == null || folderId.getId() == null) { throw new IllegalArgumentException("Invalid folder ID!"); } }
@Override public CmisObject getObject(ObjectId objectId, OperationContext context) { checkObjectId(objectId); return getObject(objectId.getId(), context); }
@Override public boolean exists(ObjectId objectId) { checkObjectId(objectId); return exists(objectId.getId()); }
@Override public void removeObjectFromCache(ObjectId objectId) { checkObjectId(objectId); removeObjectFromCache(objectId.getId()); }
@Override public Document deleteContentStream() { ObjectId objectId = deleteContentStream(true); if (objectId == null) { return null; } if (!getObjectId().equals(objectId.getId())) { return (Document) getSession().getObject(objectId, getCreationContext()); } return this; }
@Override public CmisObject updateProperties(Map<String, ?> properties) { ObjectId objectId = updateProperties(properties, true); if (objectId == null) { return null; } if (!getObjectId().equals(objectId.getId())) { return getSession().getObject(objectId, getCreationContext()); } return this; }
@Override public Document deleteContentStream() { ObjectId objectId = deleteContentStream(true); if (objectId == null) { return null; } if (!getObjectId().equals(objectId.getId())) { return (Document) getSession().getObject(objectId, getCreationContext()); } return this; }
@Override public CmisObject updateProperties(Map<String, ?> properties, List<String> addSecondaryTypeIds, List<String> removeSecondaryTypeIds) { ObjectId objectId = updateProperties(properties, addSecondaryTypeIds, removeSecondaryTypeIds, true); if (objectId == null) { return null; } if (!getObjectId().equals(objectId.getId())) { return getSession().getObject(objectId, getCreationContext()); } return this; }
@Override public Document setContentStream(ContentStream contentStream, boolean overwrite) { ObjectId objectId = setContentStream(contentStream, overwrite, true); if (objectId == null) { return null; } if (!getObjectId().equals(objectId.getId())) { return (Document) getSession().getObject(objectId, getCreationContext()); } return this; }
@Override public Document setContentStream(ContentStream contentStream, boolean overwrite) { ObjectId objectId = setContentStream(contentStream, overwrite, true); if (objectId == null) { return null; } if (!getObjectId().equals(objectId.getId())) { return (Document) getSession().getObject(objectId, getCreationContext()); } return this; }
@Override public CmisObject updateProperties(Map<String, ?> properties) { ObjectId objectId = updateProperties(properties, true); if (objectId == null) { return null; } if (!getObjectId().equals(objectId.getId())) { return getSession().getObject(objectId, getCreationContext()); } return this; }
@Override public CmisObject updateProperties(Map<String, ?> properties, List<String> addSecondaryTypeIds, List<String> removeSecondaryTypeIds) { ObjectId objectId = updateProperties(properties, addSecondaryTypeIds, removeSecondaryTypeIds, true); if (objectId == null) { return null; } if (!getObjectId().equals(objectId.getId())) { return getSession().getObject(objectId, getCreationContext()); } return this; }
@Override public Acl getAcl(ObjectId objectId, boolean onlyBasicPermissions) { checkObjectId(objectId); return getBinding().getAclService().getAcl(getRepositoryId(), objectId.getId(), onlyBasicPermissions, null); }
@Override public void delete(ObjectId objectId, boolean allVersions) { checkObjectId(objectId); getBinding().getObjectService().deleteObject(getRepositoryId(), objectId.getId(), allVersions, null); removeObjectFromCache(objectId); }
@Override public void removeFromFolder(ObjectId folderId) { String objectId = getObjectId(); getBinding().getMultiFilingService().removeObjectFromFolder(getRepositoryId(), objectId, (folderId != null ? folderId.getId() : null), null); // invalidate path cache getSession().removeObjectFromCache(objectId); } }
@Override public Acl applyAcl(ObjectId objectId, List<Ace> addAces, List<Ace> removeAces, AclPropagation aclPropagation) { checkObjectId(objectId); ObjectFactory of = getObjectFactory(); return getBinding().getAclService().applyAcl(getRepositoryId(), objectId.getId(), of.convertAces(addAces), of.convertAces(removeAces), aclPropagation, null); }
@Override public List<String> deleteTree(ObjectId folderId, boolean allVersions, UnfileObject unfile, boolean continueOnFailure) { checkFolderId(folderId); FailedToDeleteData failed = getBinding().getObjectService().deleteTree(getRepositoryId(), folderId.getId(), allVersions, unfile, continueOnFailure, null); if (failed == null || isNullOrEmpty(failed.getIds())) { removeObjectFromCache(folderId); } return (failed != null ? failed.getIds() : null); }
@Override public ObjectId createItem(Map<String, ?> properties, ObjectId folderId, List<Policy> policies, List<Ace> addAces, List<Ace> removeAces) { checkProperties(properties); String newId = getBinding().getObjectService().createItem(getRepositoryId(), objectFactory.convertProperties(properties, null, null, CREATE_UPDATABILITY), (folderId == null ? null : folderId.getId()), objectFactory.convertPolicies(policies), objectFactory.convertAces(addAces), objectFactory.convertAces(removeAces), null); if (newId == null) { return null; } return createObjectId(newId); }