Class JsonUtils.CustomPropertyNamingStrategy

java.lang.Object
com.fasterxml.jackson.databind.PropertyNamingStrategy
de.iip_ecosphere.platform.support.json.JsonUtils.CustomPropertyNamingStrategy
All Implemented Interfaces:
Serializable
Enclosing class:
JsonUtils

public static class JsonUtils.CustomPropertyNamingStrategy extends com.fasterxml.jackson.databind.PropertyNamingStrategy
Renames properties.
Author:
Holger Eichelberger, SSE
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.PropertyNamingStrategy

    com.fasterxml.jackson.databind.PropertyNamingStrategy.KebabCaseStrategy, com.fasterxml.jackson.databind.PropertyNamingStrategy.LowerCaseStrategy, com.fasterxml.jackson.databind.PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy, com.fasterxml.jackson.databind.PropertyNamingStrategy.LowerDotCaseStrategy, com.fasterxml.jackson.databind.PropertyNamingStrategy.PascalCaseStrategy, com.fasterxml.jackson.databind.PropertyNamingStrategy.PropertyNamingStrategyBase, com.fasterxml.jackson.databind.PropertyNamingStrategy.SnakeCaseStrategy, com.fasterxml.jackson.databind.PropertyNamingStrategy.UpperCamelCaseStrategy
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final Map<Class<?>,Map<String,String>>
     
    private static final long
     

    Fields inherited from class com.fasterxml.jackson.databind.PropertyNamingStrategy

    CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES, KEBAB_CASE, LOWER_CAMEL_CASE, LOWER_CASE, LOWER_DOT_CASE, PASCAL_CASE_TO_CAMEL_CASE, SNAKE_CASE, UPPER_CAMEL_CASE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addMapping(Class<?> cls, Map<String,String> mapping)
    Adds a mapping.
    private String
    getMapping(Class<?> cls, String defaultName, Supplier<String> fallback)
    Returns a (mapped) name, if not found relying on fallback.
    nameForConstructorParameter(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.AnnotatedParameter ctorParam, String defaultName)
     
    nameForField(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.AnnotatedField field, String defaultName)
     
    nameForGetterMethod(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.AnnotatedMethod method, String defaultName)
     
    nameForSetterMethod(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.AnnotatedMethod method, String defaultName)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • CustomPropertyNamingStrategy

      public CustomPropertyNamingStrategy()
  • Method Details

    • addMapping

      public void addMapping(Class<?> cls, Map<String,String> mapping)
      Adds a mapping.
      Parameters:
      cls - the class the mapping applies to
      mapping - the property-to-name mapping
    • getMapping

      private String getMapping(Class<?> cls, String defaultName, Supplier<String> fallback)
      Returns a (mapped) name, if not found relying on fallback.
      Parameters:
      cls - the class to return the mapping for
      defaultName - the default name of the property as detected by Jackson
      fallback - the fallback, usually a super call
      Returns:
      the name
    • nameForField

      public String nameForField(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.AnnotatedField field, String defaultName)
      Overrides:
      nameForField in class com.fasterxml.jackson.databind.PropertyNamingStrategy
    • nameForGetterMethod

      public String nameForGetterMethod(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.AnnotatedMethod method, String defaultName)
      Overrides:
      nameForGetterMethod in class com.fasterxml.jackson.databind.PropertyNamingStrategy
    • nameForSetterMethod

      public String nameForSetterMethod(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.AnnotatedMethod method, String defaultName)
      Overrides:
      nameForSetterMethod in class com.fasterxml.jackson.databind.PropertyNamingStrategy
    • nameForConstructorParameter

      public String nameForConstructorParameter(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.AnnotatedParameter ctorParam, String defaultName)
      Overrides:
      nameForConstructorParameter in class com.fasterxml.jackson.databind.PropertyNamingStrategy