Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IRepository.java')
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IRepository.java576
1 files changed, 288 insertions, 288 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IRepository.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IRepository.java
index 1a5d4c4746..42a3ad473b 100644
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IRepository.java
+++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IRepository.java
@@ -1,288 +1,288 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.emf.cdo.server;
-
-import org.eclipse.emf.cdo.common.CDOCommonRepository;
-import org.eclipse.emf.cdo.common.branch.CDOBranchManager;
-import org.eclipse.emf.cdo.common.commit.CDOCommitInfoHandler;
-import org.eclipse.emf.cdo.common.lock.IDurableLockingManager;
-import org.eclipse.emf.cdo.common.model.CDOPackageRegistry;
-import org.eclipse.emf.cdo.common.revision.CDORevision;
-import org.eclipse.emf.cdo.common.revision.CDORevisionManager;
-
-import org.eclipse.net4j.util.container.IContainer;
-import org.eclipse.net4j.util.om.monitor.OMMonitor;
-
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EPackage.Registry;
-
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * A CDO repository.
- *
- * @author Eike Stepper
- * @noextend This interface is not intended to be extended by clients.
- * @noimplement This interface is not intended to be implemented by clients.
- * @apiviz.landmark
- * @apiviz.has {@link IStore}
- * @apiviz.has {@link java.util.Map} oneway - - properties
- * @apiviz.has {@link org.eclipse.emf.cdo.common.model.CDOPackageRegistry}
- * @apiviz.has {@link org.eclipse.emf.cdo.common.branch.CDOBranchManager}
- * @apiviz.has {@link org.eclipse.emf.cdo.common.revision.CDORevisionManager}
- * @apiviz.has {@link org.eclipse.emf.cdo.common.lock.IDurableLockingManager}
- * @apiviz.has {@link ISessionManager}
- * @apiviz.has {@link IQueryHandlerProvider}
- * @apiviz.composedOf {@link org.eclipse.emf.cdo.common.commit.CDOCommitInfoHandler}
- * @apiviz.composedOf {@link IRepository.Handler} - - accessHandlers
- */
-public interface IRepository extends CDOCommonRepository, IQueryHandlerProvider, IContainer<Object>
-{
- /**
- * @since 3.0
- */
- public static final String SYSTEM_USER_ID = "CDO_SYSTEM"; //$NON-NLS-1$
-
- public IStore getStore();
-
- public Map<String, String> getProperties();
-
- /**
- * Returns the EMF {@link Registry package registry} that is used by this repository.
- *
- * @since 2.0
- */
- public CDOPackageRegistry getPackageRegistry();
-
- /**
- * @since 3.0
- */
- public CDOBranchManager getBranchManager();
-
- /**
- * @since 3.0
- */
- public CDORevisionManager getRevisionManager();
-
- public ISessionManager getSessionManager();
-
- /**
- * @since 4.0
- * @deprecated As of 4.1 use {@link #getLockingManager()}.
- */
- @Deprecated
- public IDurableLockingManager getLockManager();
-
- /**
- * @since 4.1
- */
- public ILockingManager getLockingManager();
-
- /**
- * @since 2.0
- */
- public IQueryHandlerProvider getQueryHandlerProvider();
-
- /**
- * Returns the time stamp of the last commit operation.
- *
- * @since 3.0
- */
- public long getLastCommitTimeStamp();
-
- /**
- * Blocks the calling thread until the next commit operation has succeeded and returns the last (highest) commit time
- * stamp.
- *
- * @since 3.0
- */
- public long waitForCommit(long timeout);
-
- /**
- * Validates the given timeStamp against the repository time.
- *
- * @throws IllegalArgumentException
- * if the given timeStamp is less than the repository creation time or greater than the current repository
- * time.
- * @since 2.0
- */
- public void validateTimeStamp(long timeStamp) throws IllegalArgumentException;
-
- /**
- * @since 4.1
- */
- public CDOCommitInfoHandler[] getCommitInfoHandlers();
-
- /**
- * @since 4.0
- */
- public void addCommitInfoHandler(CDOCommitInfoHandler handler);
-
- /**
- * @since 4.0
- */
- public void removeCommitInfoHandler(CDOCommitInfoHandler handler);
-
- /**
- * @since 4.1
- */
- public Set<Handler> getHandlers();
-
- /**
- * @since 2.0
- */
- public void addHandler(Handler handler);
-
- /**
- * @since 2.0
- */
- public void removeHandler(Handler handler);
-
- /**
- * @since 4.0
- */
- public void setInitialPackages(EPackage... initialPackages);
-
- /**
- * A marker interface to indicate valid arguments to {@link IRepository#addHandler(Handler)} and
- * {@link IRepository#removeHandler(Handler)}.
- *
- * @see ReadAccessHandler
- * @see WriteAccessHandler
- * @author Eike Stepper
- * @since 2.0
- */
- public interface Handler
- {
- }
-
- /**
- * Provides a way to handle revisions that are to be sent to the client.
- *
- * @author Eike Stepper
- * @since 2.0
- */
- public interface ReadAccessHandler extends Handler
- {
- /**
- * Provides a way to handle revisions that are to be sent to the client.
- *
- * @param session
- * The session that is going to send the revisions.
- * @param revisions
- * The revisions that are requested by the client. If the client must not see any of these revisions an
- * unchecked exception must be thrown.
- * @param additionalRevisions
- * The additional revisions that are to be sent to the client because internal optimizers believe that they
- * will be needed soon. If the client must not see any of these revisions they should be removed from the
- * list.
- * @throws RuntimeException
- * to indicate that none of the revisions must be sent to the client. This exception will be visible at
- * the client side!
- */
- public void handleRevisionsBeforeSending(ISession session, CDORevision[] revisions,
- List<CDORevision> additionalRevisions) throws RuntimeException;
- }
-
- /**
- * Provides a way to handle commits that are received from a client.
- *
- * @author Eike Stepper
- * @since 2.0
- */
- public interface WriteAccessHandler extends Handler
- {
- /**
- * Provides a way to handle transactions that are to be committed to the backend store.
- *
- * @param transaction
- * The transaction that is going to be committed.
- * @param commitContext
- * The context of the commit operation that is to be executed against the backend store. The context can be
- * used to introspect all aspects of the current commit operation. <b>Note that you must not alter the
- * internal state of the commit context in any way!</b>
- * @param monitor
- * A monitor that should be used by the implementor to avoid timeouts.
- * @throws RuntimeException
- * to indicate that the commit operation must not be executed against the backend store. This exception
- * will be visible at the client side!
- */
- public void handleTransactionBeforeCommitting(ITransaction transaction, IStoreAccessor.CommitContext commitContext,
- OMMonitor monitor) throws RuntimeException;
-
- /**
- * Provides a way to handle transactions after they have been committed to the backend store.
- *
- * @param transaction
- * The transaction that has been committed.
- * @param commitContext
- * The context of the commit operation that was executed against the backend store. The context can be used
- * to introspect all aspects of the current commit operation. <b>Note that you must not alter the internal
- * state of the commit context in any way!</b>
- * @param monitor
- * A monitor that should be used by the implementor to avoid timeouts.
- * @since 3.0
- */
- public void handleTransactionAfterCommitted(ITransaction transaction, IStoreAccessor.CommitContext commitContext,
- OMMonitor monitor);
- }
-
- /**
- * Contains symbolic constants that specifiy valid keys of {@link IRepository#getProperties() repository properties}.
- *
- * @author Eike Stepper
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- * @apiviz.exclude
- */
- public interface Props
- {
- /**
- * Used to override the automatic UUID generation during first startup of a repository. Passing the empty string
- * causes the UUID of the repository to be set to its {@link IRepository#getName() name}.
- *
- * @since 2.0
- */
- public static final String OVERRIDE_UUID = "overrideUUID"; //$NON-NLS-1$
-
- /**
- * @since 2.0
- */
- public static final String SUPPORTING_AUDITS = "supportingAudits"; //$NON-NLS-1$
-
- /**
- * @since 3.0
- */
- public static final String SUPPORTING_BRANCHES = "supportingBranches"; //$NON-NLS-1$
-
- /**
- * @since 4.0
- */
- public static final String SUPPORTING_ECORE = "supportingEcore"; //$NON-NLS-1$
-
- /**
- * @since 3.0
- */
- public static final String ENSURE_REFERENTIAL_INTEGRITY = "ensureReferentialIntegrity"; //$NON-NLS-1$
-
- /**
- * @since 4.0
- */
- public static final String ALLOW_INTERRUPT_RUNNING_QUERIES = "allowInterruptRunningQueries"; //$NON-NLS-1$
-
- /**
- * @since 4.1
- */
- public static final String ID_GENERATION_LOCATION = "idGenerationLocation"; //$NON-NLS-1$
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.server;
+
+import org.eclipse.emf.cdo.common.CDOCommonRepository;
+import org.eclipse.emf.cdo.common.branch.CDOBranchManager;
+import org.eclipse.emf.cdo.common.commit.CDOCommitInfoHandler;
+import org.eclipse.emf.cdo.common.lock.IDurableLockingManager;
+import org.eclipse.emf.cdo.common.model.CDOPackageRegistry;
+import org.eclipse.emf.cdo.common.revision.CDORevision;
+import org.eclipse.emf.cdo.common.revision.CDORevisionManager;
+
+import org.eclipse.net4j.util.container.IContainer;
+import org.eclipse.net4j.util.om.monitor.OMMonitor;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EPackage.Registry;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * A CDO repository.
+ *
+ * @author Eike Stepper
+ * @noextend This interface is not intended to be extended by clients.
+ * @noimplement This interface is not intended to be implemented by clients.
+ * @apiviz.landmark
+ * @apiviz.has {@link IStore}
+ * @apiviz.has {@link java.util.Map} oneway - - properties
+ * @apiviz.has {@link org.eclipse.emf.cdo.common.model.CDOPackageRegistry}
+ * @apiviz.has {@link org.eclipse.emf.cdo.common.branch.CDOBranchManager}
+ * @apiviz.has {@link org.eclipse.emf.cdo.common.revision.CDORevisionManager}
+ * @apiviz.has {@link org.eclipse.emf.cdo.common.lock.IDurableLockingManager}
+ * @apiviz.has {@link ISessionManager}
+ * @apiviz.has {@link IQueryHandlerProvider}
+ * @apiviz.composedOf {@link org.eclipse.emf.cdo.common.commit.CDOCommitInfoHandler}
+ * @apiviz.composedOf {@link IRepository.Handler} - - accessHandlers
+ */
+public interface IRepository extends CDOCommonRepository, IQueryHandlerProvider, IContainer<Object>
+{
+ /**
+ * @since 3.0
+ */
+ public static final String SYSTEM_USER_ID = "CDO_SYSTEM"; //$NON-NLS-1$
+
+ public IStore getStore();
+
+ public Map<String, String> getProperties();
+
+ /**
+ * Returns the EMF {@link Registry package registry} that is used by this repository.
+ *
+ * @since 2.0
+ */
+ public CDOPackageRegistry getPackageRegistry();
+
+ /**
+ * @since 3.0
+ */
+ public CDOBranchManager getBranchManager();
+
+ /**
+ * @since 3.0
+ */
+ public CDORevisionManager getRevisionManager();
+
+ public ISessionManager getSessionManager();
+
+ /**
+ * @since 4.0
+ * @deprecated As of 4.1 use {@link #getLockingManager()}.
+ */
+ @Deprecated
+ public IDurableLockingManager getLockManager();
+
+ /**
+ * @since 4.1
+ */
+ public ILockingManager getLockingManager();
+
+ /**
+ * @since 2.0
+ */
+ public IQueryHandlerProvider getQueryHandlerProvider();
+
+ /**
+ * Returns the time stamp of the last commit operation.
+ *
+ * @since 3.0
+ */
+ public long getLastCommitTimeStamp();
+
+ /**
+ * Blocks the calling thread until the next commit operation has succeeded and returns the last (highest) commit time
+ * stamp.
+ *
+ * @since 3.0
+ */
+ public long waitForCommit(long timeout);
+
+ /**
+ * Validates the given timeStamp against the repository time.
+ *
+ * @throws IllegalArgumentException
+ * if the given timeStamp is less than the repository creation time or greater than the current repository
+ * time.
+ * @since 2.0
+ */
+ public void validateTimeStamp(long timeStamp) throws IllegalArgumentException;
+
+ /**
+ * @since 4.1
+ */
+ public CDOCommitInfoHandler[] getCommitInfoHandlers();
+
+ /**
+ * @since 4.0
+ */
+ public void addCommitInfoHandler(CDOCommitInfoHandler handler);
+
+ /**
+ * @since 4.0
+ */
+ public void removeCommitInfoHandler(CDOCommitInfoHandler handler);
+
+ /**
+ * @since 4.1
+ */
+ public Set<Handler> getHandlers();
+
+ /**
+ * @since 2.0
+ */
+ public void addHandler(Handler handler);
+
+ /**
+ * @since 2.0
+ */
+ public void removeHandler(Handler handler);
+
+ /**
+ * @since 4.0
+ */
+ public void setInitialPackages(EPackage... initialPackages);
+
+ /**
+ * A marker interface to indicate valid arguments to {@link IRepository#addHandler(Handler)} and
+ * {@link IRepository#removeHandler(Handler)}.
+ *
+ * @see ReadAccessHandler
+ * @see WriteAccessHandler
+ * @author Eike Stepper
+ * @since 2.0
+ */
+ public interface Handler
+ {
+ }
+
+ /**
+ * Provides a way to handle revisions that are to be sent to the client.
+ *
+ * @author Eike Stepper
+ * @since 2.0
+ */
+ public interface ReadAccessHandler extends Handler
+ {
+ /**
+ * Provides a way to handle revisions that are to be sent to the client.
+ *
+ * @param session
+ * The session that is going to send the revisions.
+ * @param revisions
+ * The revisions that are requested by the client. If the client must not see any of these revisions an
+ * unchecked exception must be thrown.
+ * @param additionalRevisions
+ * The additional revisions that are to be sent to the client because internal optimizers believe that they
+ * will be needed soon. If the client must not see any of these revisions they should be removed from the
+ * list.
+ * @throws RuntimeException
+ * to indicate that none of the revisions must be sent to the client. This exception will be visible at
+ * the client side!
+ */
+ public void handleRevisionsBeforeSending(ISession session, CDORevision[] revisions,
+ List<CDORevision> additionalRevisions) throws RuntimeException;
+ }
+
+ /**
+ * Provides a way to handle commits that are received from a client.
+ *
+ * @author Eike Stepper
+ * @since 2.0
+ */
+ public interface WriteAccessHandler extends Handler
+ {
+ /**
+ * Provides a way to handle transactions that are to be committed to the backend store.
+ *
+ * @param transaction
+ * The transaction that is going to be committed.
+ * @param commitContext
+ * The context of the commit operation that is to be executed against the backend store. The context can be
+ * used to introspect all aspects of the current commit operation. <b>Note that you must not alter the
+ * internal state of the commit context in any way!</b>
+ * @param monitor
+ * A monitor that should be used by the implementor to avoid timeouts.
+ * @throws RuntimeException
+ * to indicate that the commit operation must not be executed against the backend store. This exception
+ * will be visible at the client side!
+ */
+ public void handleTransactionBeforeCommitting(ITransaction transaction, IStoreAccessor.CommitContext commitContext,
+ OMMonitor monitor) throws RuntimeException;
+
+ /**
+ * Provides a way to handle transactions after they have been committed to the backend store.
+ *
+ * @param transaction
+ * The transaction that has been committed.
+ * @param commitContext
+ * The context of the commit operation that was executed against the backend store. The context can be used
+ * to introspect all aspects of the current commit operation. <b>Note that you must not alter the internal
+ * state of the commit context in any way!</b>
+ * @param monitor
+ * A monitor that should be used by the implementor to avoid timeouts.
+ * @since 3.0
+ */
+ public void handleTransactionAfterCommitted(ITransaction transaction, IStoreAccessor.CommitContext commitContext,
+ OMMonitor monitor);
+ }
+
+ /**
+ * Contains symbolic constants that specifiy valid keys of {@link IRepository#getProperties() repository properties}.
+ *
+ * @author Eike Stepper
+ * @noimplement This interface is not intended to be implemented by clients.
+ * @noextend This interface is not intended to be extended by clients.
+ * @apiviz.exclude
+ */
+ public interface Props
+ {
+ /**
+ * Used to override the automatic UUID generation during first startup of a repository. Passing the empty string
+ * causes the UUID of the repository to be set to its {@link IRepository#getName() name}.
+ *
+ * @since 2.0
+ */
+ public static final String OVERRIDE_UUID = "overrideUUID"; //$NON-NLS-1$
+
+ /**
+ * @since 2.0
+ */
+ public static final String SUPPORTING_AUDITS = "supportingAudits"; //$NON-NLS-1$
+
+ /**
+ * @since 3.0
+ */
+ public static final String SUPPORTING_BRANCHES = "supportingBranches"; //$NON-NLS-1$
+
+ /**
+ * @since 4.0
+ */
+ public static final String SUPPORTING_ECORE = "supportingEcore"; //$NON-NLS-1$
+
+ /**
+ * @since 3.0
+ */
+ public static final String ENSURE_REFERENTIAL_INTEGRITY = "ensureReferentialIntegrity"; //$NON-NLS-1$
+
+ /**
+ * @since 4.0
+ */
+ public static final String ALLOW_INTERRUPT_RUNNING_QUERIES = "allowInterruptRunningQueries"; //$NON-NLS-1$
+
+ /**
+ * @since 4.1
+ */
+ public static final String ID_GENERATION_LOCATION = "idGenerationLocation"; //$NON-NLS-1$
+ }
+}

Back to the top