# Package org.apache.commons.configuration2.tree

package org.apache.commons.configuration2.tree

A package with helper and utility classes used by hierarchical configurations.

- Related Packages
  Package
  Description
  org.apache.commons.configuration2
  The Configuration main package.
  org.apache.commons.configuration2.tree.xpath
  This package contains the `XPathExpressionEngine` class which enables XPATH support for querying configuration properties.
- Class
  Description
  ConfigurationNodeVisitor<T>
  Definition of a Visitor interface for a configuration node structure.
  ConfigurationNodeVisitorAdapter<T>
  A simple adapter class that simplifies writing custom node visitor implementations.
  DefaultConfigurationKey
  A simple class that supports creation of and iteration on configuration keys supported by a `DefaultExpressionEngine` object.
  DefaultExpressionEngine
  A default implementation of the `ExpressionEngine` interface providing the "native" expression language for hierarchical configurations.
  DefaultExpressionEngineSymbols
  A class representing the various symbols that are supported in keys recognized by `DefaultExpressionEngine`.
  DefaultExpressionEngineSymbols.Builder
  A builder class for creating instances of `DefaultExpressionEngineSymbols`.
  ExpressionEngine
  Definition of an interface for evaluating keys for hierarchical configurations.
  ImmutableNode
  An immutable default implementation for configuration nodes.
  ImmutableNode.Builder
  A builder class for creating instances of `ImmutableNode`.
  InMemoryNodeModel
  A specialized node model implementation which operates on `ImmutableNode` structures.
  InMemoryNodeModelSupport
  A specialized version of the `NodeModelSupport` interface which allows querying an `InMemoryNodeModel`.
  MergeCombiner
  A specialized implementation of the `NodeCombiner` interface that performs a merge from two passed in node hierarchies.
  NodeAddData<T>
  A simple data class used by `ExpressionEngine` to store the results of the `prepareAdd()` operation.
  NodeCombiner
  A base class for node combiner implementations.
  NodeHandler<T>
  Definition of an interface for accessing the data of a configuration node.
  NodeHandlerDecorator<T>
  An abstract base class for decorators of a `NodeHandler`.
  NodeKeyResolver<T>
  Definition of an interface which allows resolving a (property) key for different manipulating operations.
  NodeMatcher<C>
  An interface for matching nodes based on specific criteria.
  NodeModel<T>
  Definition of an interface describing a model based on a nodes structure.
  NodeModelSupport<T>
  An interface to be implemented by objects that support a `NodeModel`.
  NodeNameMatchers
  An enumeration class with several pre-defined `NodeMatcher` implementations based on node names.
  NodeSelector
  A class for selecting a specific node based on a key or a set of keys.
  NodeTreeWalker
  A class providing different algorithms for traversing a hierarchy of configuration nodes.
  NodeUpdateData<T>
  A simple data class used by node models to store parameters of an update operation.
  OverrideCombiner
  A concrete combiner implementation that is able to construct an override combination.
  QueryResult<T>
  A data class representing a single query result produced by an `ExpressionEngine`.
  ReferenceNodeHandler
  An extension of the `NodeHandler` interface which allows access to so-called references stored for a node.
  TrackedNodeModel
  A specialized `NodeModel` implementation that uses a tracked node managed by an `InMemoryNodeModel` object as root node.
  TreeUtils
  Utility methods.
  UnionCombiner
  A specialized implementation of the `NodeCombiner` interface that constructs a union from two passed in node hierarchies.