Class AutoSaveEnabledManager

  • All Implemented Interfaces:
    org.apache.jackrabbit.api.security.user.UserManager

    public class AutoSaveEnabledManager
    extends java.lang.Object
    implements org.apache.jackrabbit.api.security.user.UserManager
    Implementation of the user management that allows to set the autosave flag. Since OAK does no longer support the auto-save flag out of the box and this part of the user management is targeted for deprecation, this UserManager implementation should only be used for those cases where strict backwards compatibility is really required.

    In general any consumer of the Jackrabbit user management API should stick to the API contract and verify that the autosave flag is enabled before relying on the implementation to have it turned on:

         JackrabbitSession session = ...;
         UserManager userManager = session.getUserManager();
    
         // modify some user related content
    
         if (!userManager#isAutosave()) {
             session.save();
         }
     
    • Field Summary

      • Fields inherited from interface org.apache.jackrabbit.api.security.user.UserManager

        SEARCH_TYPE_AUTHORIZABLE, SEARCH_TYPE_GROUP, SEARCH_TYPE_USER
    • Constructor Summary

      Constructors 
      Constructor Description
      AutoSaveEnabledManager​(org.apache.jackrabbit.api.security.user.UserManager dlg, org.apache.jackrabbit.oak.api.Root root)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void autoSave​(boolean enable)  
      @NotNull org.apache.jackrabbit.api.security.user.Group createGroup​(@NotNull java.lang.String groupId)  
      @NotNull org.apache.jackrabbit.api.security.user.Group createGroup​(@NotNull java.lang.String groupID, @NotNull java.security.Principal principal, @Nullable java.lang.String intermediatePath)  
      @NotNull org.apache.jackrabbit.api.security.user.Group createGroup​(@NotNull java.security.Principal principal)  
      @NotNull org.apache.jackrabbit.api.security.user.Group createGroup​(@NotNull java.security.Principal principal, @Nullable java.lang.String intermediatePath)  
      @NotNull org.apache.jackrabbit.api.security.user.User createSystemUser​(@NotNull java.lang.String userID, @Nullable java.lang.String intermediatePath)  
      @NotNull org.apache.jackrabbit.api.security.user.User createUser​(@NotNull java.lang.String userID, @Nullable java.lang.String password)  
      @NotNull org.apache.jackrabbit.api.security.user.User createUser​(@NotNull java.lang.String userID, @Nullable java.lang.String password, @NotNull java.security.Principal principal, @Nullable java.lang.String intermediatePath)  
      @NotNull java.util.Iterator<org.apache.jackrabbit.api.security.user.Authorizable> findAuthorizables​(@NotNull java.lang.String relPath, @Nullable java.lang.String value)  
      @NotNull java.util.Iterator<org.apache.jackrabbit.api.security.user.Authorizable> findAuthorizables​(@NotNull java.lang.String relPath, @Nullable java.lang.String value, int searchType)  
      @NotNull java.util.Iterator<org.apache.jackrabbit.api.security.user.Authorizable> findAuthorizables​(@NotNull org.apache.jackrabbit.api.security.user.Query query)  
      @Nullable org.apache.jackrabbit.api.security.user.Authorizable getAuthorizable​(@NotNull java.lang.String id)  
      <T extends org.apache.jackrabbit.api.security.user.Authorizable>
      T
      getAuthorizable​(@NotNull java.lang.String id, @NotNull java.lang.Class<T> authorizableClass)  
      @Nullable org.apache.jackrabbit.api.security.user.Authorizable getAuthorizable​(@NotNull java.security.Principal principal)  
      @Nullable org.apache.jackrabbit.api.security.user.Authorizable getAuthorizableByPath​(@NotNull java.lang.String path)  
      boolean isAutoSave()  
      org.apache.jackrabbit.api.security.user.UserManager unwrap()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AutoSaveEnabledManager

        public AutoSaveEnabledManager​(org.apache.jackrabbit.api.security.user.UserManager dlg,
                                      org.apache.jackrabbit.oak.api.Root root)
    • Method Detail

      • unwrap

        public org.apache.jackrabbit.api.security.user.UserManager unwrap()
      • getAuthorizable

        @Nullable
        public @Nullable org.apache.jackrabbit.api.security.user.Authorizable getAuthorizable​(@NotNull
                                                                                              @NotNull java.lang.String id)
                                                                                       throws javax.jcr.RepositoryException
        Specified by:
        getAuthorizable in interface org.apache.jackrabbit.api.security.user.UserManager
        Throws:
        javax.jcr.RepositoryException
      • getAuthorizable

        @Nullable
        public <T extends org.apache.jackrabbit.api.security.user.Authorizable> T getAuthorizable​(@NotNull
                                                                                                  @NotNull java.lang.String id,
                                                                                                  @NotNull
                                                                                                  @NotNull java.lang.Class<T> authorizableClass)
                                                                                           throws javax.jcr.RepositoryException
        Specified by:
        getAuthorizable in interface org.apache.jackrabbit.api.security.user.UserManager
        Throws:
        javax.jcr.RepositoryException
      • getAuthorizable

        @Nullable
        public @Nullable org.apache.jackrabbit.api.security.user.Authorizable getAuthorizable​(@NotNull
                                                                                              @NotNull java.security.Principal principal)
                                                                                       throws javax.jcr.RepositoryException
        Specified by:
        getAuthorizable in interface org.apache.jackrabbit.api.security.user.UserManager
        Throws:
        javax.jcr.RepositoryException
      • getAuthorizableByPath

        @Nullable
        public @Nullable org.apache.jackrabbit.api.security.user.Authorizable getAuthorizableByPath​(@NotNull
                                                                                                    @NotNull java.lang.String path)
                                                                                             throws javax.jcr.RepositoryException
        Specified by:
        getAuthorizableByPath in interface org.apache.jackrabbit.api.security.user.UserManager
        Throws:
        javax.jcr.RepositoryException
      • findAuthorizables

        @NotNull
        public @NotNull java.util.Iterator<org.apache.jackrabbit.api.security.user.Authorizable> findAuthorizables​(@NotNull
                                                                                                                   @NotNull java.lang.String relPath,
                                                                                                                   @Nullable
                                                                                                                   @Nullable java.lang.String value)
                                                                                                            throws javax.jcr.RepositoryException
        Specified by:
        findAuthorizables in interface org.apache.jackrabbit.api.security.user.UserManager
        Throws:
        javax.jcr.RepositoryException
      • findAuthorizables

        @NotNull
        public @NotNull java.util.Iterator<org.apache.jackrabbit.api.security.user.Authorizable> findAuthorizables​(@NotNull
                                                                                                                   @NotNull java.lang.String relPath,
                                                                                                                   @Nullable
                                                                                                                   @Nullable java.lang.String value,
                                                                                                                   int searchType)
                                                                                                            throws javax.jcr.RepositoryException
        Specified by:
        findAuthorizables in interface org.apache.jackrabbit.api.security.user.UserManager
        Throws:
        javax.jcr.RepositoryException
      • findAuthorizables

        @NotNull
        public @NotNull java.util.Iterator<org.apache.jackrabbit.api.security.user.Authorizable> findAuthorizables​(@NotNull
                                                                                                                   @NotNull org.apache.jackrabbit.api.security.user.Query query)
                                                                                                            throws javax.jcr.RepositoryException
        Specified by:
        findAuthorizables in interface org.apache.jackrabbit.api.security.user.UserManager
        Throws:
        javax.jcr.RepositoryException
      • createUser

        @NotNull
        public @NotNull org.apache.jackrabbit.api.security.user.User createUser​(@NotNull
                                                                                @NotNull java.lang.String userID,
                                                                                @Nullable
                                                                                @Nullable java.lang.String password)
                                                                         throws javax.jcr.RepositoryException
        Specified by:
        createUser in interface org.apache.jackrabbit.api.security.user.UserManager
        Throws:
        javax.jcr.RepositoryException
      • createUser

        @NotNull
        public @NotNull org.apache.jackrabbit.api.security.user.User createUser​(@NotNull
                                                                                @NotNull java.lang.String userID,
                                                                                @Nullable
                                                                                @Nullable java.lang.String password,
                                                                                @NotNull
                                                                                @NotNull java.security.Principal principal,
                                                                                @Nullable
                                                                                @Nullable java.lang.String intermediatePath)
                                                                         throws javax.jcr.RepositoryException
        Specified by:
        createUser in interface org.apache.jackrabbit.api.security.user.UserManager
        Throws:
        javax.jcr.RepositoryException
      • createSystemUser

        @NotNull
        public @NotNull org.apache.jackrabbit.api.security.user.User createSystemUser​(@NotNull
                                                                                      @NotNull java.lang.String userID,
                                                                                      @Nullable
                                                                                      @Nullable java.lang.String intermediatePath)
                                                                               throws javax.jcr.RepositoryException
        Specified by:
        createSystemUser in interface org.apache.jackrabbit.api.security.user.UserManager
        Throws:
        javax.jcr.RepositoryException
      • createGroup

        @NotNull
        public @NotNull org.apache.jackrabbit.api.security.user.Group createGroup​(@NotNull
                                                                                  @NotNull java.lang.String groupId)
                                                                           throws javax.jcr.RepositoryException
        Specified by:
        createGroup in interface org.apache.jackrabbit.api.security.user.UserManager
        Throws:
        javax.jcr.RepositoryException
      • createGroup

        @NotNull
        public @NotNull org.apache.jackrabbit.api.security.user.Group createGroup​(@NotNull
                                                                                  @NotNull java.security.Principal principal)
                                                                           throws javax.jcr.RepositoryException
        Specified by:
        createGroup in interface org.apache.jackrabbit.api.security.user.UserManager
        Throws:
        javax.jcr.RepositoryException
      • createGroup

        @NotNull
        public @NotNull org.apache.jackrabbit.api.security.user.Group createGroup​(@NotNull
                                                                                  @NotNull java.security.Principal principal,
                                                                                  @Nullable
                                                                                  @Nullable java.lang.String intermediatePath)
                                                                           throws javax.jcr.RepositoryException
        Specified by:
        createGroup in interface org.apache.jackrabbit.api.security.user.UserManager
        Throws:
        javax.jcr.RepositoryException
      • createGroup

        @NotNull
        public @NotNull org.apache.jackrabbit.api.security.user.Group createGroup​(@NotNull
                                                                                  @NotNull java.lang.String groupID,
                                                                                  @NotNull
                                                                                  @NotNull java.security.Principal principal,
                                                                                  @Nullable
                                                                                  @Nullable java.lang.String intermediatePath)
                                                                           throws javax.jcr.RepositoryException
        Specified by:
        createGroup in interface org.apache.jackrabbit.api.security.user.UserManager
        Throws:
        javax.jcr.RepositoryException
      • isAutoSave

        public boolean isAutoSave()
        Specified by:
        isAutoSave in interface org.apache.jackrabbit.api.security.user.UserManager
      • autoSave

        public void autoSave​(boolean enable)
        Specified by:
        autoSave in interface org.apache.jackrabbit.api.security.user.UserManager