public abstract class RepositoryInitializationHandler extends Object
The handler is called each time a repository is opened in a JVM session. This can be used to create a default structure for the repository.
To register a repository initializer MyInitHandler
you should do:
RepositoryInitializationHandler.setInstance(new MyInitHandler());
If you want to create an initialization chain you can implement to delegate to the parent handle the default initialization and then to do your specific initialization stuff
RepositoryInitializationHandler parentHandler = RepositoryInitializationHandler.getInstance();
MyInitHandler myHandler = new MyInitHandler(parentHandler);
RepositoryInitializationHandler.setInstance(myHandler);
...
class MyHandler extends RepositoryInitializationHandler {
...
public initializeRepository(CoreSession session) {
if (parentHandler != null) parentHandler.initializeRepository(session);
// do my own initialization here
...
}
...
}
Important Note: Use the given session to initialize the repository. Do not create other repository sessions when initializing the repository to avoid dead locks.
Constructor and Description |
---|
RepositoryInitializationHandler() |
Modifier and Type | Method and Description |
---|---|
abstract void |
doInitializeRepository(CoreSession session) |
static RepositoryInitializationHandler |
getInstance() |
RepositoryInitializationHandler |
getNext() |
RepositoryInitializationHandler |
getPrevious() |
void |
initializeRepository(CoreSession session)
Must be implemented by custom initializers.
|
void |
install() |
void |
uninstall() |
public static RepositoryInitializationHandler getInstance()
public abstract void doInitializeRepository(CoreSession session) throws ClientException
ClientException
public void initializeRepository(CoreSession session) throws ClientException
session
- the current sessionClientException
public void install()
public void uninstall()
public RepositoryInitializationHandler getPrevious()
public RepositoryInitializationHandler getNext()
Copyright © 2015 Nuxeo SA. All rights reserved.