Class UnrestrictedSessionRunner

java.lang.Object
org.nuxeo.ecm.core.api.UnrestrictedSessionRunner
Direct Known Subclasses:
AbstractRootSectionsFinder, AbstractUserWorkspaceImpl.UnrestrictedUserWorkspaceFinder, ChangePermissionUnrestricted, CoreGraph.ResourceFinder, CoreGraph.SizeFinder, CoreGraph.StatementAdder, CoreGraph.StatementFinder, CoreGraph.StatementRemover, CoreProxyWithWorkflowFactory.DocumentPublisherUnrestricted, CoreQueryAndFetchUnrestrictedSessionRunner, CoreQueryUnrestrictedSessionRunner, CreateDocumentsAction.UnrestrictedCreateDocument, CreateTaskUnrestricted, DefaultValidatorsRule.UnrestrictedACPGetter, DeleteDocumentUnrestricted, DocumentMetadataGroupComputer.GetDocumentsFromUsername, DocumentRouteElementImpl.GetIsParentRunningUnrestricted, DocumentRouteElementImpl.SetDocumentOnReadOnlyUnrestrictedSessionRunner, DocumentRoutingServiceImpl.AttachedDocumentsChecker, DocumentStoreSessionRunner, DomainsFinder, DublinCoreListener.UnrestrictedPropertySetter, FollowTransitionUnrestricted, JsonGraphRoute, MultiTenantHelper.TenantIdFinder, NodeAccessRunner, PublishUnrestricted, QueryRepositoryProbe.Runner, RemoveACLUnrestricted, RenditionCreator, RenditionFinder, RenditionLiveDocFetcher, RenditionPublicationFactory.RemoveACP, RenditionsRemover, SourceDocumentResolver, TaskServiceImpl.GetTaskRootParentPathUnrestricted, TemplateMappingFetcher, TemplateMappingRemover, UserInvitationComponent.RegistrationAcceptator, UserInvitationComponent.RegistrationApprover, UserInvitationComponent.RegistrationCreator, UserInvitationComponent.RegistrationRejector, UserInvitationComponent.RequestIdValidator, UserInvitationComponent.RootDocumentGetter, UserInvitationComponent.UserRegistrationModelCreator

public abstract class UnrestrictedSessionRunner extends Object
Helper class to run code with an unrestricted session.

The caller must implement the run() method, and call runUnrestricted().

Author:
Florent Guillaume
  • Field Details

    • originatingUsername

      protected String originatingUsername
    • session

      protected CoreSession session
    • sessionIsAlreadyUnrestricted

      protected final boolean sessionIsAlreadyUnrestricted
    • repositoryName

      protected final String repositoryName
    • isUnrestricted

      protected boolean isUnrestricted
      True if a call to runUnrestricted() is in progress.
  • Constructor Details

    • UnrestrictedSessionRunner

      protected UnrestrictedSessionRunner(CoreSession session)
      Constructs a UnrestrictedSessionRunner given an existing session (which may or may not be already unrestricted).

      Originating user is taken on given session.

      Parameters:
      session - the available session
    • UnrestrictedSessionRunner

      protected UnrestrictedSessionRunner(String repositoryName)
      Constructs a UnrestrictedSessionRunner given a repository name.
      Parameters:
      repositoryName - the repository name
    • UnrestrictedSessionRunner

      protected UnrestrictedSessionRunner(String repositoryName, String originatingUser)
      Constructs a UnrestrictedSessionRunner given a repository name and an originating user name.
      Parameters:
      repositoryName - the repository name
      originatingUser - the user name behind the system user
  • Method Details

    • getOriginatingUsername

      public String getOriginatingUsername()
    • setOriginatingUsername

      public void setOriginatingUsername(String originatingUsername)
    • checkUnrestricted

      protected boolean checkUnrestricted(CoreSession session)
    • runUnrestricted

      public void runUnrestricted()
      Calls the run() method with an unrestricted session. During this call, isUnrestricted is set to true.
    • run

      public abstract void run()
      This method will be called by runUnrestricted() with session available as an unrestricted session.

      It can also be called directly in which case the session available will be the one passed to #UnrestrictedSessionRunner(CoreSession).