java.lang.Object
javax.annotation.processing.AbstractProcessor
cn.wjybxx.apt.MyAbstractProcessor
cn.wjybxx.dsonapt.CodecProcessor
- 所有已实现的接口:
Processor
@AutoService(javax.annotation.processing.Processor.class)
public class CodecProcessor
extends MyAbstractProcessor
- 作者:
- wjybxx date 2023/4/13
-
字段概要
字段修饰符和类型字段说明static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final com.squareup.javapoet.ClassNamestatic final com.squareup.javapoet.ClassNamestatic final com.squareup.javapoet.ClassNamestatic final com.squareup.javapoet.ClassNamestatic final com.squareup.javapoet.ClassName从类继承的字段 cn.wjybxx.apt.MyAbstractProcessor
elementUtils, filer, messager, processorInfoAnnotation, typeUtils从类继承的字段 javax.annotation.processing.AbstractProcessor
processingEnv -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明booleancanGetDirectly(VariableElement variableElement) 测试是否可以直接读取字段。booleancanSetDirectly(VariableElement variableElement) 测试是否可以直接写字段。booleancontainsAfterDecodeMethod(List<? extends Element> allMembers) 是否包含 afterDecode 实例方法booleancontainsBeforeEncodeMethod(List<? extends Element> allMembers) 是否包含 beforeEncode 实例方法booleancontainsNewInstanceMethod(TypeElement typeElement) 是否包含 newInstance(reader) 静态解码方法 -- 只能从当前类型查询booleancontainsReaderConstructor(TypeElement typeElement) 是否包含 T(Reader reader, TypeInfo typeInfo) 构造方法booleancontainsReadObjectMethod(List<? extends Element> allMembers) 是否包含 readerObject(reader) 实例方法booleancontainsWriteObjectMethod(List<? extends Element> allMembers) 是否包含 writeObject(writer) 实例方法protected booleandoProcess(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) protected voidfindPublicGetter(VariableElement variableElement, List<? extends Element> allMethodWithInherit) 查找非private的getter方法findPublicSetter(VariableElement variableElement, List<? extends Element> allMethodWithInherit) 查找非private的setter方法protected booleanisByteArray(TypeMirror typeMirror) protected booleanisEnumMap(TypeMirror typeMirror) protected booleanisEnumSet(TypeMirror typeMirror) protected booleanisLocalDateTime(TypeMirror typeMirror) protected booleanisObjectLitePtr(TypeMirror typeMirror) protected booleanisObjectPtr(TypeMirror typeMirror) protected booleanisString(TypeMirror typeMirror) protected booleanisTimestamp(TypeMirror typeMirror) com.squareup.javapoet.MethodSpec.BuildernewAfterDecodeMethodBuilder(DeclaredType superDeclaredType) com.squareup.javapoet.MethodSpec.BuildernewBeforeEncodeMethodBuilder(DeclaredType superDeclaredType) com.squareup.javapoet.MethodSpecnewGetEncoderTypeMethod(DeclaredType superDeclaredType, com.squareup.javapoet.ClassName rawTypeName) com.squareup.javapoet.MethodSpec.BuildernewNewInstanceMethodBuilder(DeclaredType superDeclaredType) com.squareup.javapoet.MethodSpec.BuildernewReadFieldsMethodBuilder(DeclaredType superDeclaredType) com.squareup.javapoet.MethodSpec.BuildernewWriteFieldsMethodBuilder(DeclaredType superDeclaredType) 从类继承的方法 cn.wjybxx.apt.MyAbstractProcessor
getSupportedSourceVersion, init, process从类继承的方法 javax.annotation.processing.AbstractProcessor
getCompletions, getSupportedOptions, isInitialized
-
字段详细资料
-
CNAME_CODEC
- 另请参阅:
-
MNAME_READ_OBJECT
- 另请参阅:
-
MNAME_WRITE_OBJECT
- 另请参阅:
-
MNAME_GET_ENCODER_TYPE
- 另请参阅:
-
MNAME_BEFORE_ENCODE
- 另请参阅:
-
MNAME_WRITE_FIELDS
- 另请参阅:
-
MNAME_NEW_INSTANCE
- 另请参阅:
-
MNAME_READ_FIELDS
- 另请参阅:
-
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
-
anno_DsonProperty
-
anno_DsonIgnore
-
typeMirror_DsonReader
-
typeMirror_dsonWriter
-
typeMirror_Options
-
anno_CodecLinkerGroup
-
anno_CodecLinker
-
anno_CodecLinkerBean
-
abstractCodecTypeElement
-
getEncoderTypeMethod
-
newInstanceMethod
-
readFieldsMethod
-
afterDecodeMethod
-
beforeEncodeMethod
-
writeFieldsMethod
-
type_String
-
type_Object
-
type_LocalDateTime
-
type_Ptr
-
type_LitePtr
-
type_Timestamp
-
type_EnumSet
-
type_EnumMap
-
-
构造器详细资料
-
CodecProcessor
public CodecProcessor()
-
-
方法详细资料
-
getSupportedAnnotationTypes
- 指定者:
getSupportedAnnotationTypes在接口中Processor- 指定者:
getSupportedAnnotationTypes在类中MyAbstractProcessor
-
ensureInited
protected void ensureInited()- 指定者:
ensureInited在类中MyAbstractProcessor
-
doProcess
- 指定者:
doProcess在类中MyAbstractProcessor
-
containsReaderConstructor
是否包含 T(Reader reader, TypeInfo typeInfo) 构造方法 -
containsNewInstanceMethod
是否包含 newInstance(reader) 静态解码方法 -- 只能从当前类型查询 -
containsReadObjectMethod
是否包含 readerObject(reader) 实例方法 -
containsWriteObjectMethod
是否包含 writeObject(writer) 实例方法 -
containsBeforeEncodeMethod
是否包含 beforeEncode 实例方法 -
containsAfterDecodeMethod
是否包含 afterDecode 实例方法 -
canGetDirectly
测试是否可以直接读取字段。- 参数:
variableElement- 类字段,可能是继承的字段- 返回:
- 如果可直接取值,则返回true
-
canSetDirectly
测试是否可以直接写字段。- 参数:
variableElement- 类字段,可能是继承的字段- 返回:
- 如果可直接赋值,则返回true
-
findPublicGetter
public ExecutableElement findPublicGetter(VariableElement variableElement, List<? extends Element> allMethodWithInherit) 查找非private的getter方法- 参数:
allMethodWithInherit- 所有的字段和方法,可能在父类中
-
findPublicSetter
public ExecutableElement findPublicSetter(VariableElement variableElement, List<? extends Element> allMethodWithInherit) 查找非private的setter方法- 参数:
allMethodWithInherit- 所有的字段和方法,可能在父类中
-
isString
-
isObjectPtr
-
isObjectLitePtr
-
isLocalDateTime
-
isTimestamp
-
isByteArray
-
isEnumSet
-
isEnumMap
-
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)
-