public interface io.micronaut.web.router.RouteBuilder$UriNamingStrategy
minor version: 0
major version: 59
flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
this_class: io.micronaut.web.router.RouteBuilder$UriNamingStrategy
super_class: java.lang.Object
{
public java.lang.String resolveUri(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ldc Lio/micronaut/http/annotation/Controller;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast io.micronaut.http.annotation.Controller
astore 2
start local 2 1: aload 0
aload 2
ifnull 2
aload 2
invokeinterface io.micronaut.http.annotation.Controller.value:()Ljava/lang/String;
goto 3
StackMap locals: io.micronaut.web.router.RouteBuilder$UriNamingStrategy java.lang.Class io.micronaut.http.annotation.Controller
StackMap stack: io.micronaut.web.router.RouteBuilder$UriNamingStrategy
2: aconst_null
StackMap locals: io.micronaut.web.router.RouteBuilder$UriNamingStrategy java.lang.Class io.micronaut.http.annotation.Controller
StackMap stack: io.micronaut.web.router.RouteBuilder$UriNamingStrategy java.lang.String
3: invokeinterface io.micronaut.web.router.RouteBuilder$UriNamingStrategy.normalizeUri:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 4: aload 3
ifnull 6
5: aload 3
areturn
6: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
bipush 47
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic io.micronaut.core.naming.conventions.TypeConvention.CONTROLLER:Lio/micronaut/core/naming/conventions/TypeConvention;
aload 1
invokevirtual io.micronaut.core.naming.conventions.TypeConvention.asPropertyName:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/micronaut/web/router/RouteBuilder$UriNamingStrategy;
0 7 1 type Ljava/lang/Class<*>;
1 7 2 annotation Lio/micronaut/http/annotation/Controller;
4 7 3 uri Ljava/lang/String;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
type
public java.lang.String resolveUri(io.micronaut.inject.BeanDefinition<?>);
descriptor: (Lio/micronaut/inject/BeanDefinition;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ldc Lio/micronaut/http/annotation/UriMapping;
invokeinterface io.micronaut.inject.BeanDefinition.stringValue:(Ljava/lang/Class;)Ljava/util/Optional;
aload 1
invokedynamic get(Lio/micronaut/inject/BeanDefinition;)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/web/router/RouteBuilder$UriNamingStrategy.lambda$0(Lio/micronaut/inject/BeanDefinition;)Ljava/lang/String; (6 itf)
()Ljava/lang/String;
invokevirtual java.util.Optional.orElseGet:(Ljava/util/function/Supplier;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 1: aload 0
aload 2
invokeinterface io.micronaut.web.router.RouteBuilder$UriNamingStrategy.normalizeUri:(Ljava/lang/String;)Ljava/lang/String;
astore 2
2: aload 2
ifnull 4
3: aload 2
areturn
4: StackMap locals: java.lang.String
StackMap stack:
aload 1
instanceof io.micronaut.inject.ProxyBeanDefinition
ifeq 8
5: aload 1
checkcast io.micronaut.inject.ProxyBeanDefinition
astore 4
start local 4 6: aload 4
invokeinterface io.micronaut.inject.ProxyBeanDefinition.getTargetType:()Ljava/lang/Class;
astore 3
end local 4 start local 3 7: goto 9
end local 3 8: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.micronaut.inject.BeanDefinition.getBeanType:()Ljava/lang/Class;
astore 3
start local 3 9: StackMap locals: java.lang.Class
StackMap stack:
new java.lang.StringBuilder
dup
bipush 47
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic io.micronaut.core.naming.conventions.TypeConvention.CONTROLLER:Lio/micronaut/core/naming/conventions/TypeConvention;
aload 3
invokevirtual io.micronaut.core.naming.conventions.TypeConvention.asPropertyName:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/micronaut/web/router/RouteBuilder$UriNamingStrategy;
0 10 1 beanDefinition Lio/micronaut/inject/BeanDefinition<*>;
1 10 2 uri Ljava/lang/String;
7 8 3 beanType Ljava/lang/Class<*>;
9 10 3 beanType Ljava/lang/Class<*>;
6 7 4 pbd Lio/micronaut/inject/ProxyBeanDefinition;
Signature: (Lio/micronaut/inject/BeanDefinition<*>;)Ljava/lang/String;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.NonNull()
MethodParameters:
Name Flags
beanDefinition
public java.lang.String resolveUri(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic io.micronaut.core.util.StringUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifeq 2
1: ldc "/"
areturn
2: StackMap locals:
StackMap stack:
aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 47
if_icmpeq 4
3: new java.lang.StringBuilder
dup
bipush 47
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokestatic io.micronaut.core.naming.NameUtils.decapitalize:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/micronaut/web/router/RouteBuilder$UriNamingStrategy;
0 5 1 property Ljava/lang/String;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.NonNull()
MethodParameters:
Name Flags
property
public java.lang.String resolveUri(java.lang.Class, io.micronaut.core.naming.conventions.PropertyConvention);
descriptor: (Ljava/lang/Class;Lio/micronaut/core/naming/conventions/PropertyConvention;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
aload 0
aload 1
invokeinterface io.micronaut.web.router.RouteBuilder$UriNamingStrategy.resolveUri:(Ljava/lang/Class;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/{"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual io.micronaut.core.naming.conventions.PropertyConvention.lowerCaseName:()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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/web/router/RouteBuilder$UriNamingStrategy;
0 1 1 type Ljava/lang/Class;
0 1 2 id Lio/micronaut/core/naming/conventions/PropertyConvention;
RuntimeInvisibleAnnotations:
edu.umd.cs.findbugs.annotations.NonNull()
MethodParameters:
Name Flags
type
id
public java.lang.String normalizeUri(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnull 8
1: aload 1
invokevirtual java.lang.String.length:()I
istore 2
start local 2 2: iload 2
ifle 4
aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 47
if_icmpeq 4
3: new java.lang.StringBuilder
dup
bipush 47
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
4: StackMap locals: int
StackMap stack:
iload 2
iconst_1
if_icmple 6
aload 1
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 47
if_icmpne 6
5: aload 1
iconst_0
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
6: StackMap locals:
StackMap stack:
iload 2
ifle 8
7: aload 1
areturn
end local 2 8: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/micronaut/web/router/RouteBuilder$UriNamingStrategy;
0 9 1 uri Ljava/lang/String;
2 8 2 len I
RuntimeInvisibleParameterAnnotations:
0:
edu.umd.cs.findbugs.annotations.Nullable()
MethodParameters:
Name Flags
uri
private static java.lang.String lambda$0(io.micronaut.inject.BeanDefinition);
descriptor: (Lio/micronaut/inject/BeanDefinition;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
0: aload 0
ldc Lio/micronaut/http/annotation/Controller;
invokeinterface io.micronaut.inject.BeanDefinition.stringValue:(Ljava/lang/Class;)Ljava/util/Optional;
ldc "/"
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "RouteBuilder.java"
NestHost: io.micronaut.web.router.RouteBuilder
InnerClasses:
public abstract UriNamingStrategy = io.micronaut.web.router.RouteBuilder$UriNamingStrategy of io.micronaut.web.router.RouteBuilder
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles