类 CodecProcessor

所有已实现的接口:
Processor

@AutoService(javax.annotation.processing.Processor.class) public class CodecProcessor extends MyAbstractProcessor
作者:
wjybxx date 2023/4/13
  • 字段详细资料

    • CNAME_CODEC

      public static final String CNAME_CODEC
      另请参阅:
    • MNAME_READ_OBJECT

      public static final String MNAME_READ_OBJECT
      另请参阅:
    • MNAME_WRITE_OBJECT

      public static final String MNAME_WRITE_OBJECT
      另请参阅:
    • MNAME_GET_ENCODER_TYPE

      public static final String MNAME_GET_ENCODER_TYPE
      另请参阅:
    • MNAME_BEFORE_ENCODE

      public static final String MNAME_BEFORE_ENCODE
      另请参阅:
    • MNAME_WRITE_FIELDS

      public static final String MNAME_WRITE_FIELDS
      另请参阅:
    • MNAME_NEW_INSTANCE

      public static final String MNAME_NEW_INSTANCE
      另请参阅:
    • MNAME_READ_FIELDS

      public static final String MNAME_READ_FIELDS
      另请参阅:
    • MNAME_AFTER_DECODE

      public static final String MNAME_AFTER_DECODE
      另请参阅:
    • typeName_TypeInfo

      public static final com.squareup.javapoet.ClassName typeName_TypeInfo
    • typeName_WireType

      public static final com.squareup.javapoet.ClassName typeName_WireType
    • typeName_NumberStyle

      public static final com.squareup.javapoet.ClassName typeName_NumberStyle
    • typeName_StringStyle

      public static final com.squareup.javapoet.ClassName typeName_StringStyle
    • typeName_ObjectStyle

      public static final com.squareup.javapoet.ClassName typeName_ObjectStyle
    • anno_DsonSerializable

      public TypeElement anno_DsonSerializable
    • anno_DsonProperty

      public TypeMirror anno_DsonProperty
    • anno_DsonIgnore

      public TypeMirror anno_DsonIgnore
    • typeMirror_DsonReader

      public TypeMirror typeMirror_DsonReader
    • typeMirror_dsonWriter

      public TypeMirror typeMirror_dsonWriter
    • typeMirror_Options

      public TypeMirror typeMirror_Options
    • anno_CodecLinkerGroup

      public TypeElement anno_CodecLinkerGroup
    • anno_CodecLinker

      public TypeElement anno_CodecLinker
    • anno_CodecLinkerBean

      public TypeElement anno_CodecLinkerBean
    • abstractCodecTypeElement

      public TypeElement abstractCodecTypeElement
    • getEncoderTypeMethod

      public ExecutableElement getEncoderTypeMethod
    • newInstanceMethod

      public ExecutableElement newInstanceMethod
    • readFieldsMethod

      public ExecutableElement readFieldsMethod
    • afterDecodeMethod

      public ExecutableElement afterDecodeMethod
    • beforeEncodeMethod

      public ExecutableElement beforeEncodeMethod
    • writeFieldsMethod

      public ExecutableElement writeFieldsMethod
    • type_String

      public TypeMirror type_String
    • type_Object

      public TypeMirror type_Object
    • type_LocalDateTime

      public TypeMirror type_LocalDateTime
    • type_Ptr

      public TypeMirror type_Ptr
    • type_LitePtr

      public TypeMirror type_LitePtr
    • type_Timestamp

      public TypeMirror type_Timestamp
    • type_EnumSet

      public TypeMirror type_EnumSet
    • type_EnumMap

      public TypeMirror type_EnumMap
  • 构造器详细资料

    • CodecProcessor

      public CodecProcessor()
  • 方法详细资料

    • getSupportedAnnotationTypes

      public Set<String> getSupportedAnnotationTypes()
      指定者:
      getSupportedAnnotationTypes 在接口中 Processor
      指定者:
      getSupportedAnnotationTypes 在类中 MyAbstractProcessor
    • ensureInited

      protected void ensureInited()
      指定者:
      ensureInited 在类中 MyAbstractProcessor
    • doProcess

      protected boolean doProcess(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv)
      指定者:
      doProcess 在类中 MyAbstractProcessor
    • containsReaderConstructor

      public boolean containsReaderConstructor(TypeElement typeElement)
      是否包含 T(Reader reader, TypeInfo typeInfo) 构造方法
    • containsNewInstanceMethod

      public boolean containsNewInstanceMethod(TypeElement typeElement)
      是否包含 newInstance(reader) 静态解码方法 -- 只能从当前类型查询
    • containsReadObjectMethod

      public boolean containsReadObjectMethod(List<? extends Element> allMembers)
      是否包含 readerObject(reader) 实例方法
    • containsWriteObjectMethod

      public boolean containsWriteObjectMethod(List<? extends Element> allMembers)
      是否包含 writeObject(writer) 实例方法
    • containsBeforeEncodeMethod

      public boolean containsBeforeEncodeMethod(List<? extends Element> allMembers)
      是否包含 beforeEncode 实例方法
    • containsAfterDecodeMethod

      public boolean containsAfterDecodeMethod(List<? extends Element> allMembers)
      是否包含 afterDecode 实例方法
    • canGetDirectly

      public boolean canGetDirectly(AptFieldInfo fieldInfo)
      测试是否可以直接读取字段。
      参数:
      fieldInfo - 类字段,可能是继承的字段
      返回:
      如果可直接取值,则返回true
    • canSetDirectly

      public boolean canSetDirectly(AptFieldInfo fieldInfo)
      测试是否可以直接写字段。
      参数:
      fieldInfo - 类字段,可能是继承的字段
      返回:
      如果可直接赋值,则返回true
    • isString

      protected boolean isString(TypeMirror typeMirror)
    • isObjectPtr

      protected boolean isObjectPtr(TypeMirror typeMirror)
    • isObjectLitePtr

      protected boolean isObjectLitePtr(TypeMirror typeMirror)
    • isLocalDateTime

      protected boolean isLocalDateTime(TypeMirror typeMirror)
    • isTimestamp

      protected boolean isTimestamp(TypeMirror typeMirror)
    • isByteArray

      protected boolean isByteArray(TypeMirror typeMirror)
    • isEnumSet

      protected boolean isEnumSet(TypeMirror typeMirror)
    • isEnumMap

      protected boolean isEnumMap(TypeMirror typeMirror)
    • newGetEncoderTypeMethod

      public com.squareup.javapoet.MethodSpec newGetEncoderTypeMethod(DeclaredType superDeclaredType, com.squareup.javapoet.ClassName rawTypeName)
    • newNewInstanceMethodBuilder

      public com.squareup.javapoet.MethodSpec.Builder newNewInstanceMethodBuilder(DeclaredType superDeclaredType)
    • newReadFieldsMethodBuilder

      public com.squareup.javapoet.MethodSpec.Builder newReadFieldsMethodBuilder(DeclaredType superDeclaredType)
    • newAfterDecodeMethodBuilder

      public com.squareup.javapoet.MethodSpec.Builder newAfterDecodeMethodBuilder(DeclaredType superDeclaredType)
    • newBeforeEncodeMethodBuilder

      public com.squareup.javapoet.MethodSpec.Builder newBeforeEncodeMethodBuilder(DeclaredType superDeclaredType)
    • newWriteFieldsMethodBuilder

      public com.squareup.javapoet.MethodSpec.Builder newWriteFieldsMethodBuilder(DeclaredType superDeclaredType)