this.nodeManager = createManager();
}
- abstract protected StandardNodeManager<Node, Engine> createManager();
+ protected StandardNodeManager<Node, Engine> createManager(Node root) {
+ return new StandardNodeManager<Node, Engine>(this, root);
+ }
+
+ protected StandardNodeManager<Node, Engine> createManager() {
+ return createManager(createRootNode());
+ }
+
+ /*
+ * For compatibility reasons. Existing implementations implement createManager() directly and in that case this is not needed.
+ * New implementations should not implement createManager() but rather implement this.
+ */
+ protected Node createRootNode() {
+ throw new UnsupportedOperationException();
+ }
protected String getSCLContextKey() {
return getClass().getSimpleName();