B - type of data node builderpublic abstract static class DataNode.Builder<B extends DataNode.Builder<B>> extends Object
| Modifier and Type | Field and Description |
|---|---|
protected Object |
appInfo
Application related information, this enables application to use
this builder as there work bench.
|
protected NodeKey |
key
Identifies a node uniquely among its siblings.
|
protected NodeKey.NodeKeyBuilder |
keyBuilder
Node key builder.
|
protected InnerNode.Builder |
parent
Parent data node.
|
protected DataNode.Type |
type
Type of node in data store.
|
| Modifier | Constructor and Description |
|---|---|
protected |
Builder()
Creates an instance of data node builder.
|
protected |
Builder(DataNode node)
Creates an instance of data node builder using old data node.
|
| Modifier and Type | Method and Description |
|---|---|
abstract InnerNode.Builder |
addKeyLeaf(String name,
String nameSpace,
Object val)
Add key leaf for list node key.
|
abstract LeafNode.Builder |
addLeafListValue(Object val)
Add key value to leaf list key.
|
Object |
appInfo()
Returns application information.
|
B |
appInfo(Object appInfo)
Sets application information.
|
abstract DataNode |
build()
Builds data node.
|
abstract InnerNode.Builder |
createChildBuilder(String name,
String nameSpace)
Creates a child builder of type inner node and set a back reference
of parent node.
|
abstract LeafNode.Builder |
createChildBuilder(String name,
String nameSpace,
Object value)
Deprecated.
|
abstract LeafNode.Builder |
createChildBuilder(String name,
String nameSpace,
Object value,
String valNamespace)
Creates a child build of type leaf node and set a back reference
of parent node.
|
abstract InnerNode.Builder |
deleteChild(NodeKey key)
Deletes child node for a given node key from parent node.
|
InnerNode.Builder |
exitNode()
Returns parent node builder after building and adding the child
node to parent's child node map.
|
abstract InnerNode.Builder |
getChildBuilder(NodeKey key)
Returns a child node builder for a given node key.
|
B |
key(NodeKey key)
Sets node key in builder object.
|
B |
parent()
Returns parent node.
|
B |
parent(InnerNode.Builder node)
Sets parent node's builder.
|
B |
type(DataNode.Type type)
Sets node type in builder object.
|
protected DataNode.Type type
protected NodeKey key
protected NodeKey.NodeKeyBuilder keyBuilder
protected Object appInfo
protected InnerNode.Builder parent
protected Builder()
protected Builder(DataNode node)
node - data node whichpublic B key(NodeKey key)
key - node key identifierpublic B parent(InnerNode.Builder node)
node - parent node builderpublic B parent()
public B type(DataNode.Type type)
type - node typepublic abstract InnerNode.Builder createChildBuilder(String name, String nameSpace)
name - name of inner nodenameSpace - namespace of inner node@Deprecated public abstract LeafNode.Builder createChildBuilder(String name, String nameSpace, Object value)
name - name of leaf nodenameSpace - namespace of leaf nodevalue - value for leaf nodepublic abstract LeafNode.Builder createChildBuilder(String name, String nameSpace, Object value, String valNamespace)
name - name of leaf nodenameSpace - namespace of leaf nodevalue - value for leaf nodevalNamespace - leaf value namespacepublic abstract InnerNode.Builder deleteChild(NodeKey key)
for deleting a node from data tree , caller should parse resource identifier to reach to the child node. while parsing the resource identifier caller need to create a new data node using copy builder. this copy builder can be used further to create child nodes copy builders.
key - node key for child nodepublic abstract InnerNode.Builder getChildBuilder(NodeKey key)
this method provides copy builder of child node when a update/delete request comes. it sets a back reference of parent node as well in child node's copy builder.
key - data node keypublic abstract InnerNode.Builder addKeyLeaf(String name, String nameSpace, Object val)
this method is used for adding multiple key leaves in you list node. these keys will be added to key builder which is built while while node building. To use this method caller should know about schema of list and key leaves.
name - name of leaf nodenameSpace - namespace of leaf nodeval - value of leafpublic abstract LeafNode.Builder addLeafListValue(Object val)
val - valuepublic abstract DataNode build()
public InnerNode.Builder exitNode()
This method is used when caller has reached to the depth of the subtree and then he wants to go back to its parent node so he should build the node and then it should add it to parent node's map. this method provides both the functionalities of build and add to parent . Also it returns back the parent pointer so caller can do further operations on data tree.
public Object appInfo()
Copyright © 2018. All rights reserved.