Class Oak
ContentRepository
instances with
a set of specified plugin components. This class acts as a public facade
that hides the internal implementation classes and the details of how
they get instantiated and wired together.- Since:
- Oak 0.6
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the content repository instance created with the given configuration.Creates a content repository with the given configuration and logs in to the default workspace with no credentials, returning the resulting content session.Creates a content repository with the given configuration and returns aRoot
instance after logging in to the default workspace with no credentials.static ExecutorService
DefaultExecutorService
used for scheduling concurrent tasks.static ScheduledExecutorService
DefaultScheduledExecutorService
used for scheduling background tasks.@NotNull Whiteboard
@NotNull Oak
Sets the default workspace name that should be used in case of login withnull
workspace name.@NotNull Oak
@NotNull Oak
with
(@NotNull ScheduledExecutorService scheduledExecutor) @NotNull Oak
with
(@NotNull MBeanServer mbeanServer) @NotNull Oak
with
(@NotNull IndexEditorProvider provider) Associates the given index hook provider with the repository to be created.@NotNull Oak
with
(@NotNull CommitHook hook) Associates the given commit hook with the repository to be created.@NotNull Oak
with
(@NotNull ConflictHandler conflictHandler) Deprecated.@NotNull Oak
Associates the given editor with the repository to be created.@NotNull Oak
with
(@NotNull EditorProvider provider) Associates the given editor provider with the repository to be created.@NotNull Oak
@NotNull Oak
with
(@NotNull ThreeWayConflictHandler conflictHandler) @NotNull Oak
with
(@NotNull RepositoryInitializer initializer) @NotNull Oak
with
(@NotNull QueryIndexProvider provider) Associates the given query index provider with the repository to be created.@NotNull Oak
with
(@NotNull QueryLimits settings) @NotNull Oak
with
(@NotNull SecurityProvider securityProvider) @NotNull Oak
with
(@NotNull Clusterable c) Define the current repository as being aClusterable
one.@NotNull Oak
with
(@NotNull Whiteboard whiteboard) Deprecated.UsewithAsyncIndexing(String, long)
insteadwithAsyncIndexing
(@NotNull String name, long delayInSeconds) Enable the asynchronous (background) indexing behavior for the provided task name.
-
Field Details
-
DEFAULT_WORKSPACE_NAME
Constant for the default workspace name- See Also:
-
-
Constructor Details
-
Oak
-
Oak
public Oak()
-
-
Method Details
-
defaultScheduledExecutor
DefaultScheduledExecutorService
used for scheduling background tasks. This default spawns up to 32 background thread on an as need basis. Idle threads are pruned after one minute.- Returns:
- fresh ScheduledExecutorService
-
defaultExecutorService
DefaultExecutorService
used for scheduling concurrent tasks. This default spawns as many threads as required with a priority ofThread.MIN_PRIORITY
. Idle threads are pruned after one minute.- Returns:
- fresh ExecutorService
-
with
Define the current repository as being aClusterable
one.- Parameters:
c
-- Returns:
-
with
Sets the default workspace name that should be used in case of login withnull
workspace name. If this method has not been called some internal default value will be used.- Parameters:
defaultWorkspaceName
- The name of the default workspace.- Returns:
- this builder.
-
with
-
with
-
with
Associates the given query index provider with the repository to be created.- Parameters:
provider
- query index provider- Returns:
- this builder
-
with
Associates the given index hook provider with the repository to be created.- Parameters:
provider
- index hook provider- Returns:
- this builder
-
with
Associates the given commit hook with the repository to be created.- Parameters:
hook
- commit hook- Returns:
- this builder
-
with
Associates the given editor provider with the repository to be created.- Parameters:
provider
- editor provider- Returns:
- this builder
-
with
Associates the given editor with the repository to be created.- Parameters:
editor
- editor- Returns:
- this builder
-
with
-
with
Deprecated.Usewith(ThreeWayConflictHandler)
insteadAssociates the given conflict handler with the repository to be created.- Parameters:
conflictHandler
- conflict handler- Returns:
- this builder
-
with
-
with
-
with
-
with
-
with
-
with
-
withAsyncIndexing
Deprecated.UsewithAsyncIndexing(String, long)
insteadEnable the asynchronous (background) indexing behavior.
Please note that when enabling the background indexer, you need to take care of calling
#shutdown
on theexecutor
provided for this Oak instance. -
withFailOnMissingIndexProvider
-
withAtomicCounter
-
withAsyncIndexing
Enable the asynchronous (background) indexing behavior for the provided task name.
Please note that when enabling the background indexer, you need to take care of calling
#shutdown
on theexecutor
provided for this Oak instance. -
getWhiteboard
-
createContentRepository
Returns the content repository instance created with the given configuration. If the repository doesn't exist yet, a new instance will be created and returned for each subsequent call of this method.- Returns:
- content repository
-
createContentSession
Creates a content repository with the given configuration and logs in to the default workspace with no credentials, returning the resulting content session.This method exists mostly as a convenience for one-off tests, as there's no way to create other sessions for accessing the same repository.
There is typically no need to explicitly close the returned session unless the repository has explicitly been configured to reserve some resources until all sessions have been closed. The repository will be garbage collected once the session is no longer used.
- Returns:
- content session
-
createRoot
Creates a content repository with the given configuration and returns aRoot
instance after logging in to the default workspace with no credentials.This method exists mostly as a convenience for one-off tests, as the returned root is the only way to access the session or the repository.
Note that since there is no way to close the underlying content session, this method should only be used when no components that require sessions to be closed have been configured. The repository and the session will be garbage collected once the root is no longer used.
- Returns:
- root instance
-
with(ThreeWayConflictHandler)
instead