public class org.springframework.web.servlet.support.ServletUriComponentsBuilder extends org.springframework.web.util.UriComponentsBuilder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.web.servlet.support.ServletUriComponentsBuilder
super_class: org.springframework.web.util.UriComponentsBuilder
{
private java.lang.String originalPath;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.springframework.web.util.UriComponentsBuilder.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
protected void <init>(org.springframework.web.servlet.support.ServletUriComponentsBuilder);
descriptor: (Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.springframework.web.util.UriComponentsBuilder.<init>:(Lorg/springframework/web/util/UriComponentsBuilder;)V
1: aload 0
aload 1
getfield org.springframework.web.servlet.support.ServletUriComponentsBuilder.originalPath:Ljava/lang/String;
putfield org.springframework.web.servlet.support.ServletUriComponentsBuilder.originalPath:Ljava/lang/String;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
0 3 1 other Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
MethodParameters:
Name Flags
other
public static org.springframework.web.servlet.support.ServletUriComponentsBuilder fromContextPath(javax.servlet.http.HttpServletRequest);
descriptor: (Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokestatic org.springframework.web.servlet.support.ServletUriComponentsBuilder.initFromRequest:(Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
astore 1
start local 1 1: aload 1
aload 0
invokeinterface javax.servlet.http.HttpServletRequest.getContextPath:()Ljava/lang/String;
invokevirtual org.springframework.web.servlet.support.ServletUriComponentsBuilder.replacePath:(Ljava/lang/String;)Lorg/springframework/web/util/UriComponentsBuilder;
pop
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 request Ljavax/servlet/http/HttpServletRequest;
1 3 1 builder Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
MethodParameters:
Name Flags
request
public static org.springframework.web.servlet.support.ServletUriComponentsBuilder fromServletMapping(javax.servlet.http.HttpServletRequest);
descriptor: (Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokestatic org.springframework.web.servlet.support.ServletUriComponentsBuilder.fromContextPath:(Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
astore 1
start local 1 1: new org.springframework.web.util.UrlPathHelper
dup
invokespecial org.springframework.web.util.UrlPathHelper.<init>:()V
aload 0
invokevirtual org.springframework.web.util.UrlPathHelper.getPathWithinServletMapping:(Ljavax/servlet/http/HttpServletRequest;)Ljava/lang/String;
invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
ifeq 3
2: aload 1
aload 0
invokeinterface javax.servlet.http.HttpServletRequest.getServletPath:()Ljava/lang/String;
invokevirtual org.springframework.web.servlet.support.ServletUriComponentsBuilder.path:(Ljava/lang/String;)Lorg/springframework/web/util/UriComponentsBuilder;
pop
3: StackMap locals: org.springframework.web.servlet.support.ServletUriComponentsBuilder
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 request Ljavax/servlet/http/HttpServletRequest;
1 4 1 builder Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
MethodParameters:
Name Flags
request
public static org.springframework.web.servlet.support.ServletUriComponentsBuilder fromRequestUri(javax.servlet.http.HttpServletRequest);
descriptor: (Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokestatic org.springframework.web.servlet.support.ServletUriComponentsBuilder.initFromRequest:(Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
astore 1
start local 1 1: aload 1
aload 0
invokeinterface javax.servlet.http.HttpServletRequest.getRequestURI:()Ljava/lang/String;
invokevirtual org.springframework.web.servlet.support.ServletUriComponentsBuilder.initPath:(Ljava/lang/String;)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 request Ljavax/servlet/http/HttpServletRequest;
1 3 1 builder Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
MethodParameters:
Name Flags
request
public static org.springframework.web.servlet.support.ServletUriComponentsBuilder fromRequest(javax.servlet.http.HttpServletRequest);
descriptor: (Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokestatic org.springframework.web.servlet.support.ServletUriComponentsBuilder.initFromRequest:(Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
astore 1
start local 1 1: aload 1
aload 0
invokeinterface javax.servlet.http.HttpServletRequest.getRequestURI:()Ljava/lang/String;
invokevirtual org.springframework.web.servlet.support.ServletUriComponentsBuilder.initPath:(Ljava/lang/String;)V
2: aload 1
aload 0
invokeinterface javax.servlet.http.HttpServletRequest.getQueryString:()Ljava/lang/String;
invokevirtual org.springframework.web.servlet.support.ServletUriComponentsBuilder.query:(Ljava/lang/String;)Lorg/springframework/web/util/UriComponentsBuilder;
pop
3: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 request Ljavax/servlet/http/HttpServletRequest;
1 4 1 builder Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
MethodParameters:
Name Flags
request
private static org.springframework.web.servlet.support.ServletUriComponentsBuilder initFromRequest(javax.servlet.http.HttpServletRequest);
descriptor: (Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
invokeinterface javax.servlet.http.HttpServletRequest.getScheme:()Ljava/lang/String;
astore 1
start local 1 1: aload 0
invokeinterface javax.servlet.http.HttpServletRequest.getServerName:()Ljava/lang/String;
astore 2
start local 2 2: aload 0
invokeinterface javax.servlet.http.HttpServletRequest.getServerPort:()I
istore 3
start local 3 3: new org.springframework.web.servlet.support.ServletUriComponentsBuilder
dup
invokespecial org.springframework.web.servlet.support.ServletUriComponentsBuilder.<init>:()V
astore 4
start local 4 4: aload 4
aload 1
invokevirtual org.springframework.web.servlet.support.ServletUriComponentsBuilder.scheme:(Ljava/lang/String;)Lorg/springframework/web/util/UriComponentsBuilder;
pop
5: aload 4
aload 2
invokevirtual org.springframework.web.servlet.support.ServletUriComponentsBuilder.host:(Ljava/lang/String;)Lorg/springframework/web/util/UriComponentsBuilder;
pop
6: ldc "http"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
iload 3
bipush 80
if_icmpne 8
StackMap locals: javax.servlet.http.HttpServletRequest java.lang.String java.lang.String int org.springframework.web.servlet.support.ServletUriComponentsBuilder
StackMap stack:
7: ldc "https"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
iload 3
sipush 443
if_icmpeq 9
8: StackMap locals:
StackMap stack:
aload 4
iload 3
invokevirtual org.springframework.web.servlet.support.ServletUriComponentsBuilder.port:(I)Lorg/springframework/web/util/UriComponentsBuilder;
pop
9: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 request Ljavax/servlet/http/HttpServletRequest;
1 10 1 scheme Ljava/lang/String;
2 10 2 host Ljava/lang/String;
3 10 3 port I
4 10 4 builder Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
MethodParameters:
Name Flags
request
public static org.springframework.web.servlet.support.ServletUriComponentsBuilder fromCurrentContextPath();
descriptor: ()Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic org.springframework.web.servlet.support.ServletUriComponentsBuilder.getCurrentRequest:()Ljavax/servlet/http/HttpServletRequest;
invokestatic org.springframework.web.servlet.support.ServletUriComponentsBuilder.fromContextPath:(Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static org.springframework.web.servlet.support.ServletUriComponentsBuilder fromCurrentServletMapping();
descriptor: ()Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic org.springframework.web.servlet.support.ServletUriComponentsBuilder.getCurrentRequest:()Ljavax/servlet/http/HttpServletRequest;
invokestatic org.springframework.web.servlet.support.ServletUriComponentsBuilder.fromServletMapping:(Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static org.springframework.web.servlet.support.ServletUriComponentsBuilder fromCurrentRequestUri();
descriptor: ()Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic org.springframework.web.servlet.support.ServletUriComponentsBuilder.getCurrentRequest:()Ljavax/servlet/http/HttpServletRequest;
invokestatic org.springframework.web.servlet.support.ServletUriComponentsBuilder.fromRequestUri:(Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static org.springframework.web.servlet.support.ServletUriComponentsBuilder fromCurrentRequest();
descriptor: ()Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic org.springframework.web.servlet.support.ServletUriComponentsBuilder.getCurrentRequest:()Ljavax/servlet/http/HttpServletRequest;
invokestatic org.springframework.web.servlet.support.ServletUriComponentsBuilder.fromRequest:(Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
areturn
LocalVariableTable:
Start End Slot Name Signature
protected static javax.servlet.http.HttpServletRequest getCurrentRequest();
descriptor: ()Ljavax/servlet/http/HttpServletRequest;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: invokestatic org.springframework.web.context.request.RequestContextHolder.getRequestAttributes:()Lorg/springframework/web/context/request/RequestAttributes;
astore 0
start local 0 1: aload 0
instanceof org.springframework.web.context.request.ServletRequestAttributes
ldc "No current ServletRequestAttributes"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
2: aload 0
checkcast org.springframework.web.context.request.ServletRequestAttributes
invokevirtual org.springframework.web.context.request.ServletRequestAttributes.getRequest:()Ljavax/servlet/http/HttpServletRequest;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 attrs Lorg/springframework/web/context/request/RequestAttributes;
private void initPath(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.web.servlet.support.ServletUriComponentsBuilder.originalPath:Ljava/lang/String;
1: aload 0
aload 1
invokevirtual org.springframework.web.servlet.support.ServletUriComponentsBuilder.replacePath:(Ljava/lang/String;)Lorg/springframework/web/util/UriComponentsBuilder;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
0 3 1 path Ljava/lang/String;
MethodParameters:
Name Flags
path
public java.lang.String removePathExtension();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
getfield org.springframework.web.servlet.support.ServletUriComponentsBuilder.originalPath:Ljava/lang/String;
ifnull 7
2: aload 0
getfield org.springframework.web.servlet.support.ServletUriComponentsBuilder.originalPath:Ljava/lang/String;
invokestatic org.springframework.web.util.UriUtils.extractFileExtension:(Ljava/lang/String;)Ljava/lang/String;
astore 1
3: aload 1
invokestatic org.springframework.util.StringUtils.isEmpty:(Ljava/lang/Object;)Z
ifne 6
4: aload 0
getfield org.springframework.web.servlet.support.ServletUriComponentsBuilder.originalPath:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
iadd
isub
istore 2
start local 2 5: aload 0
aload 0
getfield org.springframework.web.servlet.support.ServletUriComponentsBuilder.originalPath:Ljava/lang/String;
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual org.springframework.web.servlet.support.ServletUriComponentsBuilder.replacePath:(Ljava/lang/String;)Lorg/springframework/web/util/UriComponentsBuilder;
pop
end local 2 6: StackMap locals: java.lang.String
StackMap stack:
aload 0
aconst_null
putfield org.springframework.web.servlet.support.ServletUriComponentsBuilder.originalPath:Ljava/lang/String;
7: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
1 8 1 extension Ljava/lang/String;
5 6 2 end I
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public org.springframework.web.servlet.support.ServletUriComponentsBuilder cloneBuilder();
descriptor: ()Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.springframework.web.servlet.support.ServletUriComponentsBuilder
dup
aload 0
invokespecial org.springframework.web.servlet.support.ServletUriComponentsBuilder.<init>:(Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
public org.springframework.web.util.UriComponentsBuilder cloneBuilder();
descriptor: ()Lorg/springframework/web/util/UriComponentsBuilder;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.springframework.web.servlet.support.ServletUriComponentsBuilder.cloneBuilder:()Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "ServletUriComponentsBuilder.java"