Interface ContentSession

All Superinterfaces:
AutoCloseable, Closeable

public interface ContentSession extends Closeable
Authentication session for accessing a content repository. A ContentSession provides access to the actual content through its getLatestRoot() method.

This interface is thread-safe.

  • Method Summary

    Modifier and Type
    Method
    Description
    @NotNull AuthInfo
    This methods provides access to information related to authentication and authorization of this content session.
    @NotNull Root
    The current head root as seen by this content session.
    The name of the workspace this ContentSession instance has been created for.

    Methods inherited from interface java.io.Closeable

    close
  • Method Details

    • getAuthInfo

      @NotNull @NotNull AuthInfo getAuthInfo()
      This methods provides access to information related to authentication and authorization of this content session. Multiple calls to this method may return different instances which are guaranteed to be equal wrt. to Object.equals(Object).
      Returns:
      immutable AuthInfo instance
    • getWorkspaceName

      String getWorkspaceName()
      The name of the workspace this ContentSession instance has been created for. If no workspace name has been specified during repository login this method will return the name of the default workspace.

      TODO clarify workspace handling once multiple workspaces are supported. See OAK-118.

      Returns:
      name of the workspace this instance has been created for or null if this content session is repository bound.
    • getLatestRoot

      @NotNull @NotNull Root getLatestRoot()
      The current head root as seen by this content session. Use Root.commit() to atomically apply the changes made in that subtree the underlying Microkernel.

      The root instance gives you a stable view of the tree at the time the root is acquired. In certain setups (i.e. clusters) changes committed through other sessions might not be immediately reflected through this call.

      Please note this method is possibly expensive because it internally reads from the backend to detect if there were any changes (from any session).

      Returns:
      the current head root