class org.springframework.format.support.FormattingConversionService$AnnotationPrinterConverter implements org.springframework.core.convert.converter.ConditionalGenericConverter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.format.support.FormattingConversionService$AnnotationPrinterConverter
super_class: java.lang.Object
{
private final java.lang.Class<? extends java.lang.annotation.Annotation> annotationType;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
private final org.springframework.format.AnnotationFormatterFactory annotationFormatterFactory;
descriptor: Lorg/springframework/format/AnnotationFormatterFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Class<?> fieldType;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<*>;
final org.springframework.format.support.FormattingConversionService this$0;
descriptor: Lorg/springframework/format/support/FormattingConversionService;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(java.lang.Class<? extends java.lang.annotation.Annotation>, org.springframework.format.AnnotationFormatterFactory<?>, java.lang.Class<?>);
descriptor: (Lorg/springframework/format/support/FormattingConversionService;Ljava/lang/Class;Lorg/springframework/format/AnnotationFormatterFactory;Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=5
start local 0 start local 2 start local 3 start local 4 0: aload 0
aload 1
putfield org.springframework.format.support.FormattingConversionService$AnnotationPrinterConverter.this$0:Lorg/springframework/format/support/FormattingConversionService;
1: aload 0
invokespecial java.lang.Object.<init>:()V
2: aload 0
aload 2
putfield org.springframework.format.support.FormattingConversionService$AnnotationPrinterConverter.annotationType:Ljava/lang/Class;
3: aload 0
aload 3
putfield org.springframework.format.support.FormattingConversionService$AnnotationPrinterConverter.annotationFormatterFactory:Lorg/springframework/format/AnnotationFormatterFactory;
4: aload 0
aload 4
putfield org.springframework.format.support.FormattingConversionService$AnnotationPrinterConverter.fieldType:Ljava/lang/Class;
5: return
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/format/support/FormattingConversionService$AnnotationPrinterConverter;
0 6 2 annotationType Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
0 6 3 annotationFormatterFactory Lorg/springframework/format/AnnotationFormatterFactory<*>;
0 6 4 fieldType Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Lorg/springframework/format/AnnotationFormatterFactory<*>;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
this$0 final
annotationType
annotationFormatterFactory
fieldType
public java.util.Set<org.springframework.core.convert.converter.GenericConverter$ConvertiblePair> getConvertibleTypes();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new org.springframework.core.convert.converter.GenericConverter$ConvertiblePair
dup
aload 0
getfield org.springframework.format.support.FormattingConversionService$AnnotationPrinterConverter.fieldType:Ljava/lang/Class;
ldc Ljava/lang/String;
invokespecial org.springframework.core.convert.converter.GenericConverter$ConvertiblePair.<init>:(Ljava/lang/Class;Ljava/lang/Class;)V
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/format/support/FormattingConversionService$AnnotationPrinterConverter;
Signature: ()Ljava/util/Set<Lorg/springframework/core/convert/converter/GenericConverter$ConvertiblePair;>;
public boolean matches(org.springframework.core.convert.TypeDescriptor, org.springframework.core.convert.TypeDescriptor);
descriptor: (Lorg/springframework/core/convert/TypeDescriptor;Lorg/springframework/core/convert/TypeDescriptor;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield org.springframework.format.support.FormattingConversionService$AnnotationPrinterConverter.annotationType:Ljava/lang/Class;
invokevirtual org.springframework.core.convert.TypeDescriptor.hasAnnotation:(Ljava/lang/Class;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/format/support/FormattingConversionService$AnnotationPrinterConverter;
0 1 1 sourceType Lorg/springframework/core/convert/TypeDescriptor;
0 1 2 targetType Lorg/springframework/core/convert/TypeDescriptor;
MethodParameters:
Name Flags
sourceType
targetType
public java.lang.Object convert(java.lang.Object, org.springframework.core.convert.TypeDescriptor, org.springframework.core.convert.TypeDescriptor);
descriptor: (Ljava/lang/Object;Lorg/springframework/core/convert/TypeDescriptor;Lorg/springframework/core/convert/TypeDescriptor;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 0
getfield org.springframework.format.support.FormattingConversionService$AnnotationPrinterConverter.annotationType:Ljava/lang/Class;
invokevirtual org.springframework.core.convert.TypeDescriptor.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
astore 4
start local 4 1: aload 4
ifnonnull 5
2: new java.lang.IllegalStateException
dup
3: new java.lang.StringBuilder
dup
ldc "Expected ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.springframework.format.support.FormattingConversionService$AnnotationPrinterConverter.annotationType:Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] to be present on "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: java.lang.annotation.Annotation
StackMap stack:
new org.springframework.format.support.FormattingConversionService$AnnotationConverterKey
dup
aload 4
aload 2
invokevirtual org.springframework.core.convert.TypeDescriptor.getObjectType:()Ljava/lang/Class;
invokespecial org.springframework.format.support.FormattingConversionService$AnnotationConverterKey.<init>:(Ljava/lang/annotation/Annotation;Ljava/lang/Class;)V
astore 5
start local 5 6: aload 0
getfield org.springframework.format.support.FormattingConversionService$AnnotationPrinterConverter.this$0:Lorg/springframework/format/support/FormattingConversionService;
getfield org.springframework.format.support.FormattingConversionService.cachedPrinters:Ljava/util/Map;
aload 5
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.core.convert.converter.GenericConverter
astore 6
start local 6 7: aload 6
ifnonnull 13
8: aload 0
getfield org.springframework.format.support.FormattingConversionService$AnnotationPrinterConverter.annotationFormatterFactory:Lorg/springframework/format/AnnotationFormatterFactory;
9: aload 5
invokevirtual org.springframework.format.support.FormattingConversionService$AnnotationConverterKey.getAnnotation:()Ljava/lang/annotation/Annotation;
aload 5
invokevirtual org.springframework.format.support.FormattingConversionService$AnnotationConverterKey.getFieldType:()Ljava/lang/Class;
10: invokeinterface org.springframework.format.AnnotationFormatterFactory.getPrinter:(Ljava/lang/annotation/Annotation;Ljava/lang/Class;)Lorg/springframework/format/Printer;
astore 7
start local 7 11: new org.springframework.format.support.FormattingConversionService$PrinterConverter
dup
aload 0
getfield org.springframework.format.support.FormattingConversionService$AnnotationPrinterConverter.fieldType:Ljava/lang/Class;
aload 7
aload 0
getfield org.springframework.format.support.FormattingConversionService$AnnotationPrinterConverter.this$0:Lorg/springframework/format/support/FormattingConversionService;
invokespecial org.springframework.format.support.FormattingConversionService$PrinterConverter.<init>:(Ljava/lang/Class;Lorg/springframework/format/Printer;Lorg/springframework/core/convert/ConversionService;)V
astore 6
12: aload 0
getfield org.springframework.format.support.FormattingConversionService$AnnotationPrinterConverter.this$0:Lorg/springframework/format/support/FormattingConversionService;
getfield org.springframework.format.support.FormattingConversionService.cachedPrinters:Ljava/util/Map;
aload 5
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 13: StackMap locals: org.springframework.format.support.FormattingConversionService$AnnotationConverterKey org.springframework.core.convert.converter.GenericConverter
StackMap stack:
aload 6
aload 1
aload 2
aload 3
invokeinterface org.springframework.core.convert.converter.GenericConverter.convert:(Ljava/lang/Object;Lorg/springframework/core/convert/TypeDescriptor;Lorg/springframework/core/convert/TypeDescriptor;)Ljava/lang/Object;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/springframework/format/support/FormattingConversionService$AnnotationPrinterConverter;
0 14 1 source Ljava/lang/Object;
0 14 2 sourceType Lorg/springframework/core/convert/TypeDescriptor;
0 14 3 targetType Lorg/springframework/core/convert/TypeDescriptor;
1 14 4 ann Ljava/lang/annotation/Annotation;
6 14 5 converterKey Lorg/springframework/format/support/FormattingConversionService$AnnotationConverterKey;
7 14 6 converter Lorg/springframework/core/convert/converter/GenericConverter;
11 13 7 printer Lorg/springframework/format/Printer<*>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
2:
MethodParameters:
Name Flags
source
sourceType
targetType
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "@"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.springframework.format.support.FormattingConversionService$AnnotationPrinterConverter.annotationType:Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.springframework.format.support.FormattingConversionService$AnnotationPrinterConverter.fieldType:Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
1: ldc Ljava/lang/String;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.springframework.format.support.FormattingConversionService$AnnotationPrinterConverter.annotationFormatterFactory:Lorg/springframework/format/AnnotationFormatterFactory;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/format/support/FormattingConversionService$AnnotationPrinterConverter;
}
SourceFile: "FormattingConversionService.java"
NestHost: org.springframework.format.support.FormattingConversionService
InnerClasses:
public final ConvertiblePair = org.springframework.core.convert.converter.GenericConverter$ConvertiblePair of org.springframework.core.convert.converter.GenericConverter
private AnnotationConverterKey = org.springframework.format.support.FormattingConversionService$AnnotationConverterKey of org.springframework.format.support.FormattingConversionService
private AnnotationPrinterConverter = org.springframework.format.support.FormattingConversionService$AnnotationPrinterConverter of org.springframework.format.support.FormattingConversionService
private PrinterConverter = org.springframework.format.support.FormattingConversionService$PrinterConverter of org.springframework.format.support.FormattingConversionService