Interface MergingStrategy


  • public interface MergingStrategy
    An algorithm for combining multiple ConfigNode.ObjectNode root nodes into a single ConfigNode.ObjectNode root node.
    See Also:
    default merging strategy
    • Method Detail

      • merge

        ConfigNode.ObjectNode merge​(List<ConfigNode.ObjectNode> rootNodes)
        Merges an ordered list of ConfigNode.ObjectNodes into a single instance.

        Typically nodes (object, list or value) from a root earlier in the list are considered to have a higher priority than nodes from a root that appears later in the list, but this is not required and is entirely up to each MergingStrategy implementation.

        Parameters:
        rootNodes - list of root nodes to combine
        Returns:
        ObjectNode root node resulting from the merge
      • fallback

        static MergingStrategy fallback()
        Returns an implementation of MergingStrategy in which nodes from a root earlier in the list have higher priority than nodes from a root later in the list.

        The merged behavior is as if the resulting merged Config, when resolving a value of a key, consults the Config roots in the order they were passed to merge. As soon as it finds a Config tree containing a value for the key is it immediately returns that value, disregarding other later config roots.

        Returns:
        new instance of fallback merging strategy