Interface NodeMatcher<C>

Type Parameters:
C - the type of the criterion evaluated by this matcher
All Known Implementing Classes:
NodeNameMatchers

public interface NodeMatcher<C>

An interface for matching nodes based on specific criteria.

This interface is used by NodeHandler to support advanced filtering on the child nodes of a given parent node. This is useful for instance for special ExpressionEngine implementations which do no direct or strict matches based on node names. An example could be an expression engine that treats the passed in node keys in a case-insensitive manner. Such an engine would use a special case-insensitive matcher when resolving configuration keys.

The idea behind this interface is that a matcher has to match a property of a node against a given criterion. This criterion is passed to the matching function so that matchers can be implemented in a state-less fashion and shared between multiple components.

Since:
2.0
  • Method Summary

    Modifier and Type
    Method
    Description
    <T> boolean
    matches(T node, NodeHandler<T> handler, C criterion)
    Tests whether the passed in node matches the given criterion.
  • Method Details

    • matches

      <T> boolean matches(T node, NodeHandler<T> handler, C criterion)
      Tests whether the passed in node matches the given criterion.
      Type Parameters:
      T - the type of the node
      Parameters:
      node - the node to be tested
      handler - the corresponding NodeHandler
      criterion - the criterion to match against
      Returns:
      true if this node matches the criterion, false otherwise