org.rundeck.storage.conf
Class TreeBuilder<T extends ContentMeta>

java.lang.Object
  extended by org.rundeck.storage.conf.TreeBuilder<T>

public class TreeBuilder<T extends ContentMeta>
extends java.lang.Object

Builder for Resource Trees. Allows extending a base tree with other trees at sub paths. Content converters and listeners can be added selectively to sub paths, or based on analyzing the content.


Method Summary
 TreeBuilder<T> base(Tree<T> base)
          Set the base tree to be extended
 Tree<T> build()
          Build the tree
static
<T extends ContentMeta>
TreeBuilder<T>
builder()
          Build a new tree with an empty base
static
<T extends ContentMeta>
TreeBuilder<T>
builder(Tree<T> base)
          Build a new tree with given base
 TreeBuilder<T> convert(ContentConverter<T> converter)
          Convert all content in the tree
 TreeBuilder<T> convert(ContentConverter<T> converter, Path path)
          Convert data content for all resources below the given path
 TreeBuilder<T> convert(ContentConverter<T> converter, Path subpath, ResourceSelector<T> resourceSelector)
          Convert data content for all resources matching the resource selector and within the sub path
 TreeBuilder<T> convert(ContentConverter<T> converter, PathSelector selector)
          Convert data content for all resource paths matched by the path selector
 TreeBuilder<T> convert(ContentConverter<T> converter, PathSelector pathSelector, ResourceSelector<T> resourceSelector)
          Convert data content for all resources matching the resource selector and the path selector
 TreeBuilder<T> convert(ContentConverter<T> converter, ResourceSelector<T> selector)
          Convert data content for all resources matching the selector
 TreeBuilder<T> listen(Listener<T> listener)
          Listen to events on all paths of the tree
 TreeBuilder<T> listen(Listener<T> listener, Path subpath)
          Listen to events on selective paths of the tree
 TreeBuilder<T> listen(Listener<T> listener, PathSelector pathSelector)
          Listen to events on selective paths of the tree
 TreeBuilder<T> subTree(Path path, Tree<T> subtree, boolean fullPath)
          Add a tree responsible for a subpath of the base tree.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

builder

public static <T extends ContentMeta> TreeBuilder<T> builder()
Build a new tree with an empty base

Type Parameters:
T - content type
Returns:
builder

builder

public static <T extends ContentMeta> TreeBuilder<T> builder(Tree<T> base)
Build a new tree with given base

Type Parameters:
T - content type
Parameters:
base - base tree
Returns:
builder

base

public TreeBuilder<T> base(Tree<T> base)
Set the base tree to be extended

Parameters:
base - base tree
Returns:
builder

subTree

public TreeBuilder<T> subTree(Path path,
                              Tree<T> subtree,
                              boolean fullPath)
Add a tree responsible for a subpath of the base tree.

Parameters:
path - sub path to handle
subtree - tree to delegate to for the path
fullPath - if true, send resources to the subtree with the original full path, otherwise store with a path relative to the path
Returns:
builder

convert

public TreeBuilder<T> convert(ContentConverter<T> converter,
                              Path path)
Convert data content for all resources below the given path

Parameters:
converter - content converter
path - sub path to convert data
Returns:
builder

convert

public TreeBuilder<T> convert(ContentConverter<T> converter,
                              PathSelector selector)
Convert data content for all resource paths matched by the path selector

Parameters:
converter - content converter
selector - path selection
Returns:
builder

convert

public TreeBuilder<T> convert(ContentConverter<T> converter,
                              ResourceSelector<T> selector)
Convert data content for all resources matching the selector

Parameters:
converter - content converter
selector - resource selector
Returns:
builder

convert

public TreeBuilder<T> convert(ContentConverter<T> converter,
                              Path subpath,
                              ResourceSelector<T> resourceSelector)
Convert data content for all resources matching the resource selector and within the sub path

Parameters:
converter - content converter
subpath - sub path
resourceSelector - resource selector
Returns:
builder

convert

public TreeBuilder<T> convert(ContentConverter<T> converter,
                              PathSelector pathSelector,
                              ResourceSelector<T> resourceSelector)
Convert data content for all resources matching the resource selector and the path selector

Parameters:
converter - content converter
pathSelector - path selector
resourceSelector - resource selector
Returns:
builder

convert

public TreeBuilder<T> convert(ContentConverter<T> converter)
Convert all content in the tree

Parameters:
converter - converter
Returns:
builder

listen

public TreeBuilder<T> listen(Listener<T> listener)
Listen to events on all paths of the tree

Parameters:
listener - listener
Returns:
builder

listen

public TreeBuilder<T> listen(Listener<T> listener,
                             PathSelector pathSelector)
Listen to events on selective paths of the tree

Parameters:
listener - listener
pathSelector - path selector
Returns:
builder

listen

public TreeBuilder<T> listen(Listener<T> listener,
                             Path subpath)
Listen to events on selective paths of the tree

Parameters:
listener - listener
subpath - sub path
Returns:
builder

build

public Tree<T> build()
Build the tree

Returns: