Interface ObjectFlatteners.FlattenerMaker<T>

All Known Implementing Classes:
JSONFlattenerMaker
Enclosing class:
ObjectFlatteners

public static interface ObjectFlatteners.FlattenerMaker<T>
  • Method Details

    • getJsonProvider

      com.jayway.jsonpath.spi.json.JsonProvider getJsonProvider()
    • discoverRootFields

      Iterable<String> discoverRootFields(T obj)
      List all "root" fields. If DimensionsSpec.useSchemaDiscovery is false, this method should filter fields to include only fields that contain primitive and lists of primitive values
    • getRootField

      Object getRootField(T obj, String key)
      Get a top level field from a "json" object
    • makeJsonPathExtractor

      Function<T,Object> makeJsonPathExtractor(String expr)
      Create a "field" extractor for JsonPath expressions
    • makeJsonQueryExtractor

      Function<T,Object> makeJsonQueryExtractor(String expr)
      Create a "field" extractor for 'jq' expressions
    • makeJsonTreeExtractor

      default Function<T,Object> makeJsonTreeExtractor(List<String> nodes)
      Create a "field" extractor for nested json expressions
    • toMap

      default Map<String,Object> toMap(T obj)
      Convert object to Java Map using getJsonProvider() and finalizeConversionForMap(java.lang.Object) to extract and convert data
    • toPlainJavaType

      @Nullable default Object toPlainJavaType(Object o)
      Recursively traverse "json" object using a JsonProvider, converting to Java Map and List, potentially transforming via finalizeConversionForMap(java.lang.Object) as we go
    • finalizeConversionForMap

      default Object finalizeConversionForMap(Object o)
      Handle any special conversions for object when translating an input type into a Map for toMap(T)