/* * Copyright (c) 2006-2011 Nuxeo SA (http://nuxeo.com/) and others. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Nuxeo - initial API and implementation * * $Id$ */ package org.eclipse.ecr.core.model; import java.io.Serializable; import java.util.Map; import org.eclipse.ecr.core.api.DocumentException; import org.eclipse.ecr.core.schema.SchemaManager; import org.eclipse.ecr.core.security.SecurityManager; /** * @author <a href="mailto:bs@nuxeo.com">Bogdan Stefanescu</a> * */ public interface Repository { String getName(); Session getSession(Map<String, Serializable> context) throws DocumentException; SchemaManager getTypeManager(); SecurityManager getNuxeoSecurityManager(); void initialize() throws DocumentException; Session getSession(long sessionId) throws DocumentException; Session[] getOpenedSessions() throws DocumentException; void shutdown(); // stats for debug int getStartedSessionsCount(); int getClosedSessionsCount(); int getActiveSessionsCount(); boolean supportsTags(); }