Class JsonValueFunctions

java.lang.Object
org.forgerock.json.JsonValueFunctions

public final class JsonValueFunctions extends Object
This class contains the utility functions to convert a JsonValue to another type.
  • Method Details

    • charset

      Returns the JSON string value as a character set used for byte encoding/decoding. If the JSON value is null, this function returns null.
      Returns:
      the character set represented by the string value.
      Throws:
      JsonValueException - if the JSON value is not a string or the character set specified is invalid.
    • duration

      Returns the JSON string value as a Duration. If the JSON value is null, this method returns null.
      Returns:
      the duration represented by the string value.
      Throws:
      JsonValueException - if the JSON value is not a string or the duration specified is invalid.
    • enumConstant

      public static <T extends Enum<T>> Function<JsonValue,T,JsonValueException> enumConstant(Class<T> type)
      Returns the JSON string value as an enum constant of the specified enum type. The string value and enum constants are compared, ignoring case considerations. If the JSON value is null, this method returns null.
      Type Parameters:
      T - the enum type sub-class.
      Parameters:
      type - the enum type to match constants with the value.
      Returns:
      the enum constant represented by the string value.
      Throws:
      IllegalArgumentException - if type does not represent an enum type. or if the JSON value does not match any of the enum's constants.
      NullPointerException - if type is null.
    • file

      Returns the JSON string value as a File object. If the JSON value is null, this method returns null.
      Returns:
      a file represented by the string value.
      Throws:
      JsonValueException - if the JSON value is not a string.
    • pattern

      Returns the JSON string value as a regular expression pattern. If the JSON value is null, this method returns null.
      Returns:
      the compiled regular expression pattern.
      Throws:
      JsonValueException - if the pattern is not a string or the value is not a valid regular expression pattern.
    • pointer

      Returns the JSON string value as a JSON pointer. If the JSON value is null, this method returns null.
      Returns:
      the JSON pointer represented by the JSON value string.
      Throws:
      JsonValueException - if the JSON value is not a string or valid JSON pointer.
    • uri

      Returns the JSON string value as a uniform resource identifier. If the JSON value is null, this method returns null.
      Returns:
      the URI represented by the string value.
      Throws:
      JsonValueException - if the given string violates URI syntax.
    • url

      Returns the JSON string value as a uniform resource locator. If the JSON value is null, this method returns null.
      Returns:
      the URL represented by the string value.
      Throws:
      JsonValueException - if the given string violates URL syntax.
    • uuid

      Returns the JSON string value as a universally unique identifier (UUID). If the JSON value is null, this method returns null.
      Returns:
      the UUID represented by the JSON value string.
      Throws:
      JsonValueException - if the JSON value is not a string or valid UUID.
    • listOf

      public static <V, E extends Exception> Function<JsonValue,List<V>,E> listOf(Function<JsonValue,V,E> transformFunction) throws E
      Returns the JSON value as a List containing objects whose type (and value) is specified by a transformation function. If the value is null, this method returns null. It is up to to the transformation function to transform/enforce source types of the elements in the Json source collection. If any of the elements of the list are not of the appropriate type, or the type-transformation cannot occur, the exception specified by the transformation function is thrown.
      Type Parameters:
      V - the type of elements in this list
      E - the type of exception thrown by the transformation function
      Parameters:
      transformFunction - a Function to transform an element of the JsonValue list to the desired type
      Returns:
      the list value, or null if no value.
      Throws:
      E - if the JSON value is not a List, not a Set, contains an unexpected type, or contains an element that cannot be transformed
      NullPointerException - if transformFunction is null.
    • setOf

      public static <V, E extends Exception> Function<JsonValue,Set<V>,E> setOf(Function<JsonValue,V,E> transformFunction) throws E
      Returns the JSON value as a Set containing objects whose type (and value) is specified by a transformation function. If the value is null, this method returns null. It is up to to the transformation function to transform/enforce source types of the elements in the Json source collection. If called on an object which wraps a List, this method will drop duplicates performing element comparisons using equals/hashCode. If any of the elements of the collection are not of the appropriate type, or the type-transformation cannot occur, the exception specified by the transformation function is thrown.
      Type Parameters:
      V - the type of elements in this set
      E - the type of exception thrown by the transformation function
      Parameters:
      transformFunction - a Function to transform an element of the JsonValue set to the desired type
      Returns:
      the set value, or null if no value.
      Throws:
      E - if the JSON value is not a Set, contains an unexpected type, or contains an element that cannot be transformed
      NullPointerException - if transformFunction is null.
    • setOf

      public static <V> Function<JsonValue,Set<V>,JsonValueException> setOf(Class<V> type)
      Returns the JSON value as a Set containing objects whose type (and value) is specified by the parameter type. If the value is null, this method returns null. If called on an object which wraps a List, this method will drop duplicates performing element comparisons using equals/hashCode. If any of the elements of the collection are not of the appropriate type, or the type-transformation cannot occur, JsonValueException is thrown.
      Type Parameters:
      V - the type of elements in this set
      Parameters:
      type - a Class that specifies the desired type of each element in the resultant JsonValue set
      Returns:
      the set value, or null if no value.
      Throws:
      NullPointerException - if type is null.
      JsonValueException - if the elements of the collection cannot be cast as type.
    • deepTransformBy

      Returns the JSON value as the result of a deep JsonValue object-traversal, applying the provided transform function to each element.
      Parameters:
      function - a Function that applies the desired element transformation in the resultant JsonValue set
      Returns:
      the transformed JsonValue
      Throws:
      JsonValueException - if the elements of the JsonValue cannot be transformed by function.
    • identity

      Returns an identity function that will copy the input JsonValue.
      Returns:
      an identity function that will copy the input JsonValue.
      Throws:
      JsonValueException - if an error occurred while copying the input.