Class AbstractJsonMapperGenerator

java.lang.Object
org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator
Direct Known Subclasses:
AptDeserializerBuilder, AptSerializerBuilder

public abstract class AbstractJsonMapperGenerator
extends java.lang.Object

Abstract AbstractJsonMapperGenerator class.

Version:
$Id: $Id
Author:
vegegoku
  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    static class  AbstractJsonMapperGenerator.AccessorInfo  
  • Field Summary

    Fields
    Modifier and Type Field Description
    protected javax.lang.model.type.TypeMirror beanType  
    protected java.lang.String packageName  
    protected SubTypesInfo subTypesInfo  
  • Constructor Summary

    Constructors
    Constructor Description
    AbstractJsonMapperGenerator​(java.lang.String packageName, javax.lang.model.type.TypeMirror beanType, javax.annotation.processing.Filer filer)
    Constructor for AbstractJsonMapperGenerator.
  • Method Summary

    Modifier and Type Method Description
    protected void generate()
    generate.
    protected com.squareup.javapoet.CodeBlock generateTypeInfo()
    Build the code to initialize a TypeSerializationInfo or TypeDeserializationInfo.
    protected abstract java.lang.Class<?> getMapperType()  
    protected abstract java.util.Optional<com.squareup.javapoet.MethodSpec> initMethod()
    initMethod.
    protected abstract com.squareup.javapoet.MethodSpec initSubtypesMethod()
    initMethod.
    boolean isAbstract​(javax.lang.model.type.TypeMirror beanType)  
    protected boolean isEligibleForSerializationDeserialization​(javax.lang.model.element.Element field)  
    protected boolean isIgnored​(javax.lang.model.element.Element field)
    isIgnored
    protected boolean isNotStatic​(javax.lang.model.element.Element field)
    isNotStatic
    protected java.util.Set<com.squareup.javapoet.MethodSpec> moreMethods()
    moreMethods.
    protected abstract java.lang.String namePostfix()
    namePostfix.
    protected java.util.Map<javax.lang.model.element.Element,​javax.lang.model.type.TypeMirror> orderedFields()
    orderedFields.
    protected abstract com.squareup.javapoet.TypeName superClass()
    superClass.
    protected abstract java.lang.String targetTypeMethodName()
    targetTypeMethodName.

    Methods inherited from class java.lang.Object

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

    • beanType

      protected final javax.lang.model.type.TypeMirror beanType
    • subTypesInfo

      protected final SubTypesInfo subTypesInfo
    • packageName

      protected final java.lang.String packageName
  • Constructor Details

    • AbstractJsonMapperGenerator

      public AbstractJsonMapperGenerator​(java.lang.String packageName, javax.lang.model.type.TypeMirror beanType, javax.annotation.processing.Filer filer)

      Constructor for AbstractJsonMapperGenerator.

      Parameters:
      beanType - a TypeMirror object.
      packageName - a String object.
      filer - a Filer object.
  • Method Details

    • generate

      protected void generate() throws java.io.IOException

      generate.

      Throws:
      java.io.IOException - if any.
    • superClass

      protected abstract com.squareup.javapoet.TypeName superClass()

      superClass.

      Returns:
      a TypeName object.
    • namePostfix

      protected abstract java.lang.String namePostfix()

      namePostfix.

      Returns:
      a String object.
    • targetTypeMethodName

      protected abstract java.lang.String targetTypeMethodName()

      targetTypeMethodName.

      Returns:
      a String object.
    • moreMethods

      protected java.util.Set<com.squareup.javapoet.MethodSpec> moreMethods()

      moreMethods.

      Returns:
      a Set object.
    • initMethod

      protected abstract java.util.Optional<com.squareup.javapoet.MethodSpec> initMethod()

      initMethod.

      Returns:
      a MethodSpec object.
    • initSubtypesMethod

      protected abstract com.squareup.javapoet.MethodSpec initSubtypesMethod()

      initMethod.

      Returns:
      a MethodSpec object.
    • orderedFields

      protected java.util.Map<javax.lang.model.element.Element,​javax.lang.model.type.TypeMirror> orderedFields()

      orderedFields.

      Returns:
      a List object.
    • isNotStatic

      protected boolean isNotStatic​(javax.lang.model.element.Element field)

      isNotStatic

      Check if given field has static modifier

      Parameters:
      field - Element object
      Returns:
      boolean true if the field is not static
    • isIgnored

      protected boolean isIgnored​(javax.lang.model.element.Element field)

      isIgnored

      Check if given field has been annotated with JsonIgnore present and its value is true

      Parameters:
      field - Element object
      Returns:
      boolean true only if JsonIgnore present and its value is true
    • isEligibleForSerializationDeserialization

      protected boolean isEligibleForSerializationDeserialization​(javax.lang.model.element.Element field)
    • isAbstract

      public boolean isAbstract​(javax.lang.model.type.TypeMirror beanType)
    • getMapperType

      protected abstract java.lang.Class<?> getMapperType()
    • generateTypeInfo

      protected final com.squareup.javapoet.CodeBlock generateTypeInfo()
      Build the code to initialize a TypeSerializationInfo or TypeDeserializationInfo.
      Returns:
      the code built