Class AbstractNodeBuilderImpl<ID,B>

java.lang.Object
io.helidon.config.AbstractNodeBuilderImpl<ID,B>
Type Parameters:
ID - type of id
B - type of builder implementation
Direct Known Subclasses:
ListNodeBuilderImpl, ObjectNodeBuilderImpl

public abstract class AbstractNodeBuilderImpl<ID,B> extends Object
  • Method Details

    • 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 id
      node - new node
    • merge

      protected abstract void merge(ID id, MergeableNode node)
      Merges a member of specified id with specified node.
      Parameters:
      id - member id
      node - new node
    • deepMerge

      protected B deepMerge(AbstractNodeBuilderImpl.MergingKey key, MergeableNode node)
      Applies deep merging through whole structure.
      Parameters:
      key - key of node
      node - node to be merged into
      Returns:
      modified builder