All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.chemistry.opencmis.commons.spi.CmisBinding Maven / Gradle / Ivy

There is a newer version: 1.1.0
Show newest version
/*
 * 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.commons.spi;

import org.apache.chemistry.opencmis.commons.enums.BindingType;

/**
 * Entry point for all CMIS binding related operations. It provides access to
 * the service interface objects which are very similar to the CMIS 1.0 domain
 * model.
 * 
 * 

* Each instance of this class represents a session. A session comprises of a * connection to one CMIS endpoint over one binding for one particular user and * a set of caches. All repositories that are exposed by this CMIS endpoint are * accessible in this session. All CMIS operations and extension points are * provided if they are supported by the underlying binding. *

*/ public interface CmisBinding { /** * Returns the client session id. */ String getSessionId(); /** * Returns the binding type. */ BindingType getBindingType(); /** * Gets a Repository Service interface object. */ RepositoryService getRepositoryService(); /** * Gets a Navigation Service interface object. */ NavigationService getNavigationService(); /** * Gets an Object Service interface object. */ ObjectService getObjectService(); /** * Gets a Versioning Service interface object. */ VersioningService getVersioningService(); /** * Gets a Relationship Service interface object. */ RelationshipService getRelationshipService(); /** * Gets a Discovery Service interface object. */ DiscoveryService getDiscoveryService(); /** * Gets a Multifiling Service interface object. */ MultiFilingService getMultiFilingService(); /** * Gets an ACL Service interface object. */ AclService getAclService(); /** * Gets a Policy Service interface object. */ PolicyService getPolicyService(); /** * Gets a factory for CMIS binding specific objects. */ BindingsObjectFactory getObjectFactory(); /** * Gets the authentication provider. */ AuthenticationProvider getAuthenticationProvider(); /** * Clears all caches of the current CMIS binding session. */ void clearAllCaches(); /** * Clears all caches of the current CMIS binding session that are related to * the given repository. * * @param repositoryId * the repository id */ void clearRepositoryCache(String repositoryId); /** * Releases all resources assigned to this binding instance. */ void close(); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy