Class JsonValueTraverseFunction

java.lang.Object
org.forgerock.json.JsonValueTraverseFunction
All Implemented Interfaces:
Function<JsonValue,JsonValue,JsonValueException>

public class JsonValueTraverseFunction extends Object implements Function<JsonValue,JsonValue,JsonValueException>
An implementation of Function that recursively traverses the JsonValue and applies some transformation if needed. This class may be subclassed to override needed methods to perform the expected transformation(s).
  • Constructor Details

    • JsonValueTraverseFunction

      public JsonValueTraverseFunction(Function<JsonValue,?,JsonValueException> transform)
      Construct the traversal function with a transformation function to apply to each array element nested object attribute value element, or primitive element.
      Parameters:
      transform - a transformation function
  • Method Details

    • apply

      public final JsonValue apply(JsonValue value)
      Description copied from interface: Function
      Applies this function to the input parameter value and returns the result.
      Specified by:
      apply in interface Function<JsonValue,JsonValue,JsonValueException>
      Parameters:
      value - The input parameter.
      Returns:
      The result of applying this function to value.
    • traverseList

      protected Object traverseList(JsonValue value)
      Transform a JsonValue List into another object. Default implementation is to return a new ArrayList filled with the elements on which we applied the transformations.
      Parameters:
      value - the value to transform
      Returns:
      the transformed value
    • traverseMap

      protected Object traverseMap(JsonValue value)
      Transform a JsonValue Map into another object. Default implementation is to return a new LinkedHashMap filled with the elements on which we applied the transformations.
      Parameters:
      value - the value to transform
      Returns:
      the transformed value