blob: bf2df40a2747cd41999af88fd3ef974fbc3ee355 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.chemistry.opencmis.inmemory.storedobj.api;
import java.util.List;
import org.apache.chemistry.opencmis.commons.data.Acl;
import org.apache.chemistry.opencmis.commons.data.ExtensionsData;
import org.apache.chemistry.opencmis.commons.data.Properties;
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
import org.apache.chemistry.opencmis.commons.enums.AclPropagation;
import org.apache.chemistry.opencmis.commons.enums.RelationshipDirection;
import org.apache.chemistry.opencmis.commons.enums.UnfileObject;
import org.apache.chemistry.opencmis.commons.server.CallContext;
import org.apache.chemistry.opencmis.commons.spi.Holder;
public interface CmisServiceValidator {
void getRepositoryInfos(CallContext context, ExtensionsData extension);
void getRepositoryInfo(CallContext context, String repositoryId, ExtensionsData extension);
void getTypeChildren(CallContext context, String repositoryId, String typeId, ExtensionsData extension);
void getTypeDescendants(CallContext context, String repositoryId, String typeId, ExtensionsData extension);
void getTypeDefinition(CallContext context, String repositoryId, String typeId, ExtensionsData extension);
StoredObject getChildren(CallContext context, String repositoryId, String folderId, ExtensionsData extension);
StoredObject getDescendants(CallContext context, String repositoryId, String folderId, ExtensionsData extension);
StoredObject getFolderTree(CallContext context, String repositoryId, String folderId, ExtensionsData extension);
StoredObject getObjectParents(CallContext context, String repositoryId, String objectId, ExtensionsData extension);
StoredObject getFolderParent(CallContext context, String repositoryId, String folderId, ExtensionsData extension);
StoredObject getCheckedOutDocs(CallContext context, String repositoryId, String folderId, ExtensionsData extension);
StoredObject createDocument(CallContext context, String repositoryId, String folderId, List<String> policyIds,
ExtensionsData extension);
StoredObject createDocumentFromSource(CallContext context, String repositoryId, String sourceId, String folderId,
List<String> policyIds, ExtensionsData extension);
StoredObject createFolder(CallContext context, String repositoryId, String folderId, List<String> policyIds,
ExtensionsData extension);
// relationship has no parent, returns source and target object
StoredObject[] createRelationship(CallContext context, String repositoryId, String sourceId, String targetId,
List<String> policyIds, ExtensionsData extension);
StoredObject createPolicy(CallContext context, String repositoryId, String folderId, Acl addAces, Acl removeAces,
List<String> policyIds, ExtensionsData extension);
StoredObject getAllowableActions(CallContext context, String repositoryId, String objectId,
ExtensionsData extension);
StoredObject getObject(CallContext context, String repositoryId, String objectId, ExtensionsData extension);
StoredObject getProperties(CallContext context, String repositoryId, String objectId, ExtensionsData extension);
StoredObject getRenditions(CallContext context, String repositoryId, String objectId, ExtensionsData extension);
StoredObject getObjectByPath(CallContext context, String repositoryId, String path, ExtensionsData extension);
StoredObject getContentStream(CallContext context, String repositoryId, String objectId, String streamId,
ExtensionsData extension);
StoredObject updateProperties(CallContext context, String repositoryId, Holder<String> objectId,
ExtensionsData extension);
StoredObject[] moveObject(CallContext context, String repositoryId, Holder<String> objectId, String targetFolderId,
String sourceFolderId, ExtensionsData extension);
StoredObject deleteObject(CallContext context, String repositoryId, String objectId, Boolean allVersions,
ExtensionsData extension);
StoredObject deleteTree(CallContext context, String repositoryId, String folderId, Boolean allVersions,
UnfileObject unfileObjects, ExtensionsData extension);
StoredObject setContentStream(CallContext context, String repositoryId, Holder<String> objectId,
Boolean overwriteFlag, ExtensionsData extension);
// CMIS 1.1
StoredObject appendContentStream(CallContext context, String repositoryId, Holder<String> objectId,
ExtensionsData extension);
StoredObject deleteContentStream(CallContext context, String repositoryId, Holder<String> objectId,
ExtensionsData extension);
StoredObject checkOut(CallContext context, String repositoryId, Holder<String> objectId, ExtensionsData extension,
Holder<Boolean> contentCopied);
StoredObject cancelCheckOut(CallContext context, String repositoryId, String objectId, ExtensionsData extension);
StoredObject checkIn(CallContext context, String repositoryId, Holder<String> objectId, Acl addAces,
Acl removeAces, List<String> policyIds, ExtensionsData extension);
StoredObject getObjectOfLatestVersion(CallContext context, String repositoryId, String objectId,
String versionSeriesId, ExtensionsData extension);
StoredObject getPropertiesOfLatestVersion(CallContext context, String repositoryId, String objectId,
String versionSeriesId, ExtensionsData extension);
StoredObject getAllVersions(CallContext context, String repositoryId, String objectId, String versionSeriesId,
ExtensionsData extension);
void query(CallContext context, String repositoryId, ExtensionsData extension);
void getContentChanges(CallContext context, String repositoryId, ExtensionsData extension);
StoredObject[] addObjectToFolder(CallContext context, String repositoryId, String objectId, String folderId,
Boolean allVersions, ExtensionsData extension);
StoredObject[] removeObjectFromFolder(CallContext context, String repositoryId, String objectId, String folderId,
ExtensionsData extension);
StoredObject getObjectRelationships(CallContext context, String repositoryId, String objectId,
RelationshipDirection relationshipDirection, String typeId, ExtensionsData extension);
StoredObject getAcl(CallContext context, String repositoryId, String objectId, ExtensionsData extension);
StoredObject applyAcl(CallContext context, String repositoryId, String objectId, AclPropagation aclPropagation,
ExtensionsData extension);
StoredObject[] applyPolicy(CallContext context, String repositoryId, String policyId, String objectId,
ExtensionsData extension);
StoredObject[] removePolicy(CallContext context, String repositoryId, String policyId, String objectId,
ExtensionsData extension);
StoredObject getAppliedPolicies(CallContext context, String repositoryId, String objectId,
ExtensionsData extension);
StoredObject create(CallContext context, String repositoryId, String folderId, ExtensionsData extension);
StoredObject applyAcl(CallContext context, String repositoryId, String objectId);
// CMIS 1.1
StoredObject createItem(CallContext context, String repositoryId, Properties properties, String folderId,
List<String> policies, Acl addAces, Acl removeAces, ExtensionsData extension);
void createType(CallContext callContext, String repositoryId, TypeDefinition type, ExtensionsData extension);
TypeDefinition updateType(CallContext callContext, String repositoryId, TypeDefinition type,
ExtensionsData extension);
TypeDefinition deleteType(CallContext callContext, String repositoryId, String typeId, ExtensionsData extension);
}