You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by md...@apache.org on 2013/03/22 18:04:27 UTC
svn commit: r1459900 -
/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionContext.java
Author: mduerig
Date: Fri Mar 22 17:04:27 2013
New Revision: 1459900
URL: http://svn.apache.org/r1459900
Log:
OAK-672: Avoid JCR APIs calling other JCR APIs
- Simplify
- Class documentation for SessionContext
Modified:
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionContext.java
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionContext.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionContext.java?rev=1459900&r1=1459899&r2=1459900&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionContext.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionContext.java Fri Mar 22 17:04:27 2013
@@ -16,9 +16,12 @@
*/
package org.apache.jackrabbit.oak.jcr;
+import static com.google.common.base.Preconditions.checkNotNull;
+
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+
import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
import javax.jcr.PathNotFoundException;
@@ -52,10 +55,11 @@ import org.apache.jackrabbit.oak.spi.sec
import org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider;
import org.apache.jackrabbit.oak.spi.xml.ProtectedItemImporter;
-import static com.google.common.base.Preconditions.checkNotNull;
-
/**
- * TODO doc
+ * Instances of this class are passed to all JCR implementation classes
+ * (e.g. {@code SessionImpl}, {@code NodeImpl}, etc.) and provide access to
+ * the session scoped instances generally needed (e.g. {@code NamePathMapper},
+ * {@code ValueFactory}, etc.).
*/
public abstract class SessionContext implements NamePathMapper {
private final RepositoryImpl repository;
@@ -102,9 +106,34 @@ public abstract class SessionContext imp
}
@Override
- public WorkspaceImpl getWorkspaceInternal() {
+ public Workspace getWorkspace() {
return workspace;
}
+
+ @Override
+ public LockManager getLockManager() {
+ return workspace.getLockManager();
+ }
+
+ @Override
+ public NodeTypeManager getNodeTypeManager() {
+ return workspace.getNodeTypeManager();
+ }
+
+ @Override
+ public VersionManager getVersionManager() throws RepositoryException {
+ return workspace.getVersionManager();
+ }
+
+ @Override
+ public EffectiveNodeTypeProvider getEffectiveNodeTypeProvider() {
+ return workspace.getReadWriteNodeTypeManager();
+ }
+
+ @Override
+ public DefinitionProvider getDefinitionProvider() {
+ return workspace.getReadWriteNodeTypeManager();
+ }
};
}
@@ -118,31 +147,17 @@ public abstract class SessionContext imp
public abstract Session getSession();
- protected abstract WorkspaceImpl getWorkspaceInternal();
+ public abstract Workspace getWorkspace();
- public Workspace getWorkspace() {
- return getWorkspaceInternal();
- }
+ public abstract LockManager getLockManager();
- public LockManager getLockManager() {
- return getWorkspaceInternal().getLockManager();
- }
-
- public NodeTypeManager getNodeTypeManager() {
- return getWorkspaceInternal().getNodeTypeManager();
- }
+ public abstract NodeTypeManager getNodeTypeManager();
- public VersionManager getVersionManager() throws RepositoryException {
- return getWorkspaceInternal().getVersionManager();
- }
+ public abstract VersionManager getVersionManager() throws RepositoryException;
- public EffectiveNodeTypeProvider getEffectiveNodeTypeProvider() {
- return getWorkspaceInternal().getReadWriteNodeTypeManager();
- }
+ public abstract EffectiveNodeTypeProvider getEffectiveNodeTypeProvider();
- public DefinitionProvider getDefinitionProvider() {
- return getWorkspaceInternal().getReadWriteNodeTypeManager();
- }
+ public abstract DefinitionProvider getDefinitionProvider();
public ValueFactory getValueFactory() {
return valueFactory;