public interface io.micronaut.core.convert.ConversionService<Impl extends io.micronaut.core.convert.ConversionService>
minor version: 0
major version: 59
flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
this_class: io.micronaut.core.convert.ConversionService
super_class: java.lang.Object
{
public static final io.micronaut.core.convert.ConversionService<?> SHARED;
descriptor: Lio/micronaut/core/convert/ConversionService;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lio/micronaut/core/convert/ConversionService<*>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new io.micronaut.core.convert.DefaultConversionService
dup
invokespecial io.micronaut.core.convert.DefaultConversionService.<init>:()V
putstatic io.micronaut.core.convert.ConversionService.SHARED:Lio/micronaut/core/convert/ConversionService;
return
LocalVariableTable:
Start End Slot Name Signature
public abstract <S, T> Impl addConverter(java.lang.Class<S>, java.lang.Class<T>, java.util.function.Function<S, T>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/util/function/Function;)Lio/micronaut/core/convert/ConversionService;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: <S:Ljava/lang/Object;T:Ljava/lang/Object;>(Ljava/lang/Class<TS;>;Ljava/lang/Class<TT;>;Ljava/util/function/Function<TS;TT;>;)TImpl;
MethodParameters:
Name Flags
sourceType
targetType
typeConverter
public abstract <S, T> Impl addConverter(java.lang.Class<S>, java.lang.Class<T>, io.micronaut.core.convert.TypeConverter<S, T>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;Lio/micronaut/core/convert/TypeConverter;)Lio/micronaut/core/convert/ConversionService;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: <S:Ljava/lang/Object;T:Ljava/lang/Object;>(Ljava/lang/Class<TS;>;Ljava/lang/Class<TT;>;Lio/micronaut/core/convert/TypeConverter<TS;TT;>;)TImpl;
MethodParameters:
Name Flags
sourceType
targetType
typeConverter
public abstract <T> java.util.Optional<T> convert(, java.lang.Class<T>, io.micronaut.core.convert.ConversionContext);
descriptor: (Ljava/lang/Object;Ljava/lang/Class;Lio/micronaut/core/convert/ConversionContext;)Ljava/util/Optional;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;Ljava/lang/Class<TT;>;Lio/micronaut/core/convert/ConversionContext;)Ljava/util/Optional<TT;>;
MethodParameters:
Name Flags
object
targetType
context
public abstract <S, T> boolean canConvert(java.lang.Class<S>, java.lang.Class<T>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: <S:Ljava/lang/Object;T:Ljava/lang/Object;>(Ljava/lang/Class<TS;>;Ljava/lang/Class<TT;>;)Z
MethodParameters:
Name Flags
sourceType
targetType
public <T> java.util.Optional<T> convert(, java.lang.Class<T>);
descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
getstatic io.micronaut.core.convert.ConversionContext.DEFAULT:Lio/micronaut/core/convert/ConversionContext;
invokeinterface io.micronaut.core.convert.ConversionService.convert:(Ljava/lang/Object;Ljava/lang/Class;Lio/micronaut/core/convert/ConversionContext;)Ljava/util/Optional;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/core/convert/ConversionService<TImpl;>;
0 1 1 object Ljava/lang/Object;
0 1 2 targetType Ljava/lang/Class<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;Ljava/lang/Class<TT;>;)Ljava/util/Optional<TT;>;
MethodParameters:
Name Flags
object
targetType
public <T> java.util.Optional<T> convert(, io.micronaut.core.type.Argument<T>);
descriptor: (Ljava/lang/Object;Lio/micronaut/core/type/Argument;)Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokeinterface io.micronaut.core.type.Argument.getType:()Ljava/lang/Class;
aload 2
invokestatic io.micronaut.core.convert.ConversionContext.of:(Lio/micronaut/core/type/Argument;)Lio/micronaut/core/convert/ArgumentConversionContext;
invokeinterface io.micronaut.core.convert.ConversionService.convert:(Ljava/lang/Object;Ljava/lang/Class;Lio/micronaut/core/convert/ConversionContext;)Ljava/util/Optional;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/core/convert/ConversionService<TImpl;>;
0 1 1 object Ljava/lang/Object;
0 1 2 targetType Lio/micronaut/core/type/Argument<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;Lio/micronaut/core/type/Argument<TT;>;)Ljava/util/Optional<TT;>;
MethodParameters:
Name Flags
object
targetType
public <T> java.util.Optional<T> convert(, io.micronaut.core.convert.ArgumentConversionContext<T>);
descriptor: (Ljava/lang/Object;Lio/micronaut/core/convert/ArgumentConversionContext;)Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokeinterface io.micronaut.core.convert.ArgumentConversionContext.getArgument:()Lio/micronaut/core/type/Argument;
invokeinterface io.micronaut.core.type.Argument.getType:()Ljava/lang/Class;
aload 2
invokeinterface io.micronaut.core.convert.ConversionService.convert:(Ljava/lang/Object;Ljava/lang/Class;Lio/micronaut/core/convert/ConversionContext;)Ljava/util/Optional;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/core/convert/ConversionService<TImpl;>;
0 1 1 object Ljava/lang/Object;
0 1 2 context Lio/micronaut/core/convert/ArgumentConversionContext<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;Lio/micronaut/core/convert/ArgumentConversionContext<TT;>;)Ljava/util/Optional<TT;>;
MethodParameters:
Name Flags
object
context
public <T> T convertRequired(, java.lang.Class<T>);
descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 2
invokestatic io.micronaut.core.type.Argument.of:(Ljava/lang/Class;)Lio/micronaut/core/type/Argument;
astore 3
start local 3 3: aload 0
aload 1
aload 3
invokeinterface io.micronaut.core.convert.ConversionService.convertRequired:(Ljava/lang/Object;Lio/micronaut/core/type/Argument;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/micronaut/core/convert/ConversionService<TImpl;>;
0 4 1 value Ljava/lang/Object;
0 4 2 type Ljava/lang/Class<TT;>;
3 4 3 arg Lio/micronaut/core/type/Argument<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;Ljava/lang/Class<TT;>;)TT;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.Nullable()
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.Nullable()
1:
MethodParameters:
Name Flags
value
type
public <T> T convertRequired(, io.micronaut.core.type.Argument<T>);
descriptor: (Ljava/lang/Object;Lio/micronaut/core/type/Argument;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic io.micronaut.core.convert.ConversionContext.of:(Lio/micronaut/core/type/Argument;)Lio/micronaut/core/convert/ArgumentConversionContext;
astore 3
start local 3 1: aload 0
2: aload 1
3: aload 2
invokeinterface io.micronaut.core.type.Argument.getType:()Ljava/lang/Class;
4: aload 3
5: invokeinterface io.micronaut.core.convert.ConversionService.convert:(Ljava/lang/Object;Ljava/lang/Class;Lio/micronaut/core/convert/ConversionContext;)Ljava/util/Optional;
6: aload 3
aload 1
aload 2
invokedynamic get(Lio/micronaut/core/convert/ArgumentConversionContext;Ljava/lang/Object;Lio/micronaut/core/type/Argument;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
io/micronaut/core/convert/ConversionService.lambda$0(Lio/micronaut/core/convert/ArgumentConversionContext;Ljava/lang/Object;Lio/micronaut/core/type/Argument;)Lio/micronaut/core/convert/exceptions/ConversionErrorException; (6 itf)
()Lio/micronaut/core/convert/exceptions/ConversionErrorException;
invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
7: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/micronaut/core/convert/ConversionService<TImpl;>;
0 8 1 value Ljava/lang/Object;
0 8 2 argument Lio/micronaut/core/type/Argument<TT;>;
1 8 3 context Lio/micronaut/core/convert/ArgumentConversionContext<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;Lio/micronaut/core/type/Argument<TT;>;)TT;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.Nullable()
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.Nullable()
1:
MethodParameters:
Name Flags
value
argument
private static io.micronaut.core.convert.exceptions.ConversionErrorException lambda$0(io.micronaut.core.convert.ArgumentConversionContext, java.lang.Object, io.micronaut.core.type.Argument);
descriptor: (Lio/micronaut/core/convert/ArgumentConversionContext;Ljava/lang/Object;Lio/micronaut/core/type/Argument;)Lio/micronaut/core/convert/exceptions/ConversionErrorException;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=8, locals=4, args_size=3
0: aload 0
invokeinterface io.micronaut.core.convert.ArgumentConversionContext.getLastError:()Ljava/util/Optional;
astore 3
start local 3 1: aload 3
invokevirtual java.util.Optional.isPresent:()Z
ifeq 3
2: new io.micronaut.core.convert.exceptions.ConversionErrorException
dup
aload 0
invokeinterface io.micronaut.core.convert.ArgumentConversionContext.getArgument:()Lio/micronaut/core/type/Argument;
aload 3
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast io.micronaut.core.convert.ConversionError
invokespecial io.micronaut.core.convert.exceptions.ConversionErrorException.<init>:(Lio/micronaut/core/type/Argument;Lio/micronaut/core/convert/ConversionError;)V
areturn
3: StackMap locals: java.util.Optional
StackMap stack:
new io.micronaut.core.convert.exceptions.ConversionErrorException
dup
aload 0
invokeinterface io.micronaut.core.convert.ArgumentConversionContext.getArgument:()Lio/micronaut/core/type/Argument;
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Cannot convert type ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "] to target type: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokeinterface io.micronaut.core.type.Argument.getType:()Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ". Considering defining a TypeConverter bean to handle this case."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
invokespecial io.micronaut.core.convert.exceptions.ConversionErrorException.<init>:(Lio/micronaut/core/type/Argument;Ljava/lang/Exception;)V
areturn
end local 3 LocalVariableTable:
Start End Slot Name Signature
1 4 3 lastError Ljava/util/Optional<Lio/micronaut/core/convert/ConversionError;>;
}
Signature: <Impl::Lio/micronaut/core/convert/ConversionService;>Ljava/lang/Object;
SourceFile: "ConversionService.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles