- java.lang.Object
-
- io.helidon.config.AbstractNodeBuilderImpl<ID,B>
-
- Type Parameters:
ID
- type of idB
- type of builder implementation
- Direct Known Subclasses:
ListNodeBuilderImpl
,ObjectNodeBuilderImpl
public abstract class AbstractNodeBuilderImpl<ID,B> extends Object
Common implementation ofConfigNode.ListNode.Builder
andConfigNode.ObjectNode.Builder
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AbstractNodeBuilderImpl.MergingKey
Internal config node key useful during internal structure building.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected B
deepMerge(AbstractNodeBuilderImpl.MergingKey key, MergeableNode node)
Applies deep merging through whole structure.protected abstract ID
id(AbstractNodeBuilderImpl.MergingKey key)
Returns id computed from key.protected abstract MergeableNode
member(ID id)
Returns member instance associated with specified id.protected abstract void
merge(ID id, MergeableNode node)
Merges a member of specified id with specified node.protected abstract void
update(ID id, MergeableNode node)
Updates/replaces a member of specified id by specified node.
-
-
-
Method Detail
-
id
protected abstract ID id(AbstractNodeBuilderImpl.MergingKey key)
Returns id computed from key.- Parameters:
key
- key to be used to extract id from- Returns:
- id computed from key
-
member
protected abstract MergeableNode member(ID id)
Returns member instance associated with specified id.- Parameters:
id
- member id- Returns:
- member instance associated with specified id.
-
update
protected abstract void update(ID id, MergeableNode node)
Updates/replaces a member of specified id by specified node.- Parameters:
id
- member idnode
- new node
-
merge
protected abstract void merge(ID id, MergeableNode node)
Merges a member of specified id with specified node.- Parameters:
id
- member idnode
- new node
-
deepMerge
protected B deepMerge(AbstractNodeBuilderImpl.MergingKey key, MergeableNode node)
Applies deep merging through whole structure.- Parameters:
key
- key of nodenode
- node to be merged into- Returns:
- modified builder
-
-