org.apache.jackrabbit.servlet
Class ServletRepository

java.lang.Object
  extended by org.apache.jackrabbit.commons.AbstractRepository
      extended by org.apache.jackrabbit.commons.repository.ProxyRepository
          extended by org.apache.jackrabbit.servlet.ServletRepository
All Implemented Interfaces:
Repository

public class ServletRepository
extends ProxyRepository

Proxy for a repository bound in servlet context. The configured repository attribute is looked up from the servlet context during each method call. Thus the repository does not need to exist when this class is instantiated. The repository can also be replaced with another repository during the lifetime of an instance of this class.

A typical way to use this class would be:

 public class MyServlet extends HttpServlet {

     private final Repository repository = new ServletRepository(this);

     protected void doGet(
             HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
          try {
              Session session = repository.login();
              try {
                  ...;
              } finally {
                  session.logout();
              }
          } catch (RepositoryException e) {
              throw new ServletException(e);
          }
      }

 }
 

Starting with version 1.6 this class can also be used by a servlet filter:

 public class MyFilter implements Filter {

     private Repository repository;

     public void init(FilterConfig config) {
         repository = new ServletRepository(config);
     }

     // ...

 }
 

Since:
1.4
See Also:
ServletRepositoryFactory, FilterRepositoryFactory

Field Summary
 
Fields inherited from interface javax.jcr.Repository
IDENTIFIER_STABILITY, IDENTIFIER_STABILITY_INDEFINITE_DURATION, IDENTIFIER_STABILITY_METHOD_DURATION, IDENTIFIER_STABILITY_SAVE_DURATION, IDENTIFIER_STABILITY_SESSION_DURATION, LEVEL_1_SUPPORTED, LEVEL_2_SUPPORTED, NODE_TYPE_MANAGEMENT_AUTOCREATED_DEFINITIONS_SUPPORTED, NODE_TYPE_MANAGEMENT_INHERITANCE, NODE_TYPE_MANAGEMENT_INHERITANCE_MINIMAL, NODE_TYPE_MANAGEMENT_INHERITANCE_MULTIPLE, NODE_TYPE_MANAGEMENT_INHERITANCE_SINGLE, NODE_TYPE_MANAGEMENT_MULTIPLE_BINARY_PROPERTIES_SUPPORTED, NODE_TYPE_MANAGEMENT_MULTIVALUED_PROPERTIES_SUPPORTED, NODE_TYPE_MANAGEMENT_ORDERABLE_CHILD_NODES_SUPPORTED, NODE_TYPE_MANAGEMENT_OVERRIDES_SUPPORTED, NODE_TYPE_MANAGEMENT_PRIMARY_ITEM_NAME_SUPPORTED, NODE_TYPE_MANAGEMENT_PROPERTY_TYPES, NODE_TYPE_MANAGEMENT_RESIDUAL_DEFINITIONS_SUPPORTED, NODE_TYPE_MANAGEMENT_SAME_NAME_SIBLINGS_SUPPORTED, NODE_TYPE_MANAGEMENT_UPDATE_IN_USE_SUPORTED, NODE_TYPE_MANAGEMENT_VALUE_CONSTRAINTS_SUPPORTED, OPTION_ACCESS_CONTROL_SUPPORTED, OPTION_ACTIVITIES_SUPPORTED, OPTION_BASELINES_SUPPORTED, OPTION_JOURNALED_OBSERVATION_SUPPORTED, OPTION_LIFECYCLE_SUPPORTED, OPTION_LOCKING_SUPPORTED, OPTION_NODE_AND_PROPERTY_WITH_SAME_NAME_SUPPORTED, OPTION_NODE_TYPE_MANAGEMENT_SUPPORTED, OPTION_OBSERVATION_SUPPORTED, OPTION_QUERY_SQL_SUPPORTED, OPTION_RETENTION_SUPPORTED, OPTION_SHAREABLE_NODES_SUPPORTED, OPTION_SIMPLE_VERSIONING_SUPPORTED, OPTION_TRANSACTIONS_SUPPORTED, OPTION_UNFILED_CONTENT_SUPPORTED, OPTION_UPDATE_MIXIN_NODE_TYPES_SUPPORTED, OPTION_UPDATE_PRIMARY_NODE_TYPE_SUPPORTED, OPTION_VERSIONING_SUPPORTED, OPTION_WORKSPACE_MANAGEMENT_SUPPORTED, OPTION_XML_EXPORT_SUPPORTED, OPTION_XML_IMPORT_SUPPORTED, QUERY_FULL_TEXT_SEARCH_SUPPORTED, QUERY_JOINS, QUERY_JOINS_INNER, QUERY_JOINS_INNER_OUTER, QUERY_JOINS_NONE, QUERY_LANGUAGES, QUERY_STORED_QUERIES_SUPPORTED, QUERY_XPATH_DOC_ORDER, QUERY_XPATH_POS_INDEX, REP_NAME_DESC, REP_VENDOR_DESC, REP_VENDOR_URL_DESC, REP_VERSION_DESC, SPEC_NAME_DESC, SPEC_VERSION_DESC, WRITE_SUPPORTED
 
Constructor Summary
ServletRepository(javax.servlet.FilterConfig config)
          Creates a proxy for a repository found in the servlet context associated with the given filter configuration.
ServletRepository(javax.servlet.GenericServlet servlet)
          Creates a proxy for a repository found in the context of the given servlet.
 
Method Summary
 
Methods inherited from class org.apache.jackrabbit.commons.repository.ProxyRepository
getDescriptor, getDescriptorKeys, getDescriptorValue, getDescriptorValues, getRepository, isSingleValueDescriptor, login
 
Methods inherited from class org.apache.jackrabbit.commons.AbstractRepository
isStandardDescriptor, login, login, login
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ServletRepository

public ServletRepository(javax.servlet.GenericServlet servlet)
Creates a proxy for a repository found in the context of the given servlet.

Parameters:
servlet - servlet

ServletRepository

public ServletRepository(javax.servlet.FilterConfig config)
Creates a proxy for a repository found in the servlet context associated with the given filter configuration.

Parameters:
config - filter configuration
Since:
Apache Jackrabbit 1.6


Copyright © 2004-2010 The Apache Software Foundation. All Rights Reserved.