class org.springframework.boot.SpringApplicationBannerPrinter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.boot.SpringApplicationBannerPrinter
super_class: java.lang.Object
{
static final java.lang.String BANNER_LOCATION_PROPERTY;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "spring.banner.location"
static final java.lang.String BANNER_IMAGE_LOCATION_PROPERTY;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "spring.banner.image.location"
static final java.lang.String DEFAULT_BANNER_LOCATION;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "banner.txt"
static final java.lang.String[] IMAGE_EXTENSION;
descriptor: [Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static final org.springframework.boot.Banner DEFAULT_BANNER;
descriptor: Lorg/springframework/boot/Banner;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.springframework.core.io.ResourceLoader resourceLoader;
descriptor: Lorg/springframework/core/io/ResourceLoader;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.springframework.boot.Banner fallbackBanner;
descriptor: Lorg/springframework/boot/Banner;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "gif"
aastore
dup
iconst_1
ldc "jpg"
aastore
dup
iconst_2
ldc "png"
aastore
putstatic org.springframework.boot.SpringApplicationBannerPrinter.IMAGE_EXTENSION:[Ljava/lang/String;
1: new org.springframework.boot.SpringBootBanner
dup
invokespecial org.springframework.boot.SpringBootBanner.<init>:()V
putstatic org.springframework.boot.SpringApplicationBannerPrinter.DEFAULT_BANNER:Lorg/springframework/boot/Banner;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(org.springframework.core.io.ResourceLoader, org.springframework.boot.Banner);
descriptor: (Lorg/springframework/core/io/ResourceLoader;Lorg/springframework/boot/Banner;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.springframework.boot.SpringApplicationBannerPrinter.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
2: aload 0
aload 2
putfield org.springframework.boot.SpringApplicationBannerPrinter.fallbackBanner:Lorg/springframework/boot/Banner;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/boot/SpringApplicationBannerPrinter;
0 4 1 resourceLoader Lorg/springframework/core/io/ResourceLoader;
0 4 2 fallbackBanner Lorg/springframework/boot/Banner;
MethodParameters:
Name Flags
resourceLoader
fallbackBanner
org.springframework.boot.Banner print(org.springframework.core.env.Environment, java.lang.Class<?>, org.apache.commons.logging.Log);
descriptor: (Lorg/springframework/core/env/Environment;Ljava/lang/Class;Lorg/apache/commons/logging/Log;)Lorg/springframework/boot/Banner;
flags: (0x0000)
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual org.springframework.boot.SpringApplicationBannerPrinter.getBanner:(Lorg/springframework/core/env/Environment;)Lorg/springframework/boot/Banner;
astore 4
start local 4 1: aload 3
aload 0
aload 4
aload 1
aload 2
invokevirtual org.springframework.boot.SpringApplicationBannerPrinter.createStringFromBanner:(Lorg/springframework/boot/Banner;Lorg/springframework/core/env/Environment;Ljava/lang/Class;)Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.info:(Ljava/lang/Object;)V
2: goto 5
3: StackMap locals: org.springframework.boot.SpringApplicationBannerPrinter org.springframework.core.env.Environment java.lang.Class org.apache.commons.logging.Log org.springframework.boot.Banner
StackMap stack: java.io.UnsupportedEncodingException
astore 5
start local 5 4: aload 3
ldc "Failed to create String for banner"
aload 5
invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 5 5: StackMap locals:
StackMap stack:
new org.springframework.boot.SpringApplicationBannerPrinter$PrintedBanner
dup
aload 4
aload 2
invokespecial org.springframework.boot.SpringApplicationBannerPrinter$PrintedBanner.<init>:(Lorg/springframework/boot/Banner;Ljava/lang/Class;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/boot/SpringApplicationBannerPrinter;
0 6 1 environment Lorg/springframework/core/env/Environment;
0 6 2 sourceClass Ljava/lang/Class<*>;
0 6 3 logger Lorg/apache/commons/logging/Log;
1 6 4 banner Lorg/springframework/boot/Banner;
4 5 5 ex Ljava/io/UnsupportedEncodingException;
Exception table:
from to target type
1 2 3 Class java.io.UnsupportedEncodingException
Signature: (Lorg/springframework/core/env/Environment;Ljava/lang/Class<*>;Lorg/apache/commons/logging/Log;)Lorg/springframework/boot/Banner;
MethodParameters:
Name Flags
environment
sourceClass
logger
org.springframework.boot.Banner print(org.springframework.core.env.Environment, java.lang.Class<?>, java.io.PrintStream);
descriptor: (Lorg/springframework/core/env/Environment;Ljava/lang/Class;Ljava/io/PrintStream;)Lorg/springframework/boot/Banner;
flags: (0x0000)
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual org.springframework.boot.SpringApplicationBannerPrinter.getBanner:(Lorg/springframework/core/env/Environment;)Lorg/springframework/boot/Banner;
astore 4
start local 4 1: aload 4
aload 1
aload 2
aload 3
invokeinterface org.springframework.boot.Banner.printBanner:(Lorg/springframework/core/env/Environment;Ljava/lang/Class;Ljava/io/PrintStream;)V
2: new org.springframework.boot.SpringApplicationBannerPrinter$PrintedBanner
dup
aload 4
aload 2
invokespecial org.springframework.boot.SpringApplicationBannerPrinter$PrintedBanner.<init>:(Lorg/springframework/boot/Banner;Ljava/lang/Class;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/boot/SpringApplicationBannerPrinter;
0 3 1 environment Lorg/springframework/core/env/Environment;
0 3 2 sourceClass Ljava/lang/Class<*>;
0 3 3 out Ljava/io/PrintStream;
1 3 4 banner Lorg/springframework/boot/Banner;
Signature: (Lorg/springframework/core/env/Environment;Ljava/lang/Class<*>;Ljava/io/PrintStream;)Lorg/springframework/boot/Banner;
MethodParameters:
Name Flags
environment
sourceClass
out
private org.springframework.boot.Banner getBanner(org.springframework.core.env.Environment);
descriptor: (Lorg/springframework/core/env/Environment;)Lorg/springframework/boot/Banner;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new org.springframework.boot.SpringApplicationBannerPrinter$Banners
dup
invokespecial org.springframework.boot.SpringApplicationBannerPrinter$Banners.<init>:()V
astore 2
start local 2 1: aload 2
aload 0
aload 1
invokevirtual org.springframework.boot.SpringApplicationBannerPrinter.getImageBanner:(Lorg/springframework/core/env/Environment;)Lorg/springframework/boot/Banner;
invokevirtual org.springframework.boot.SpringApplicationBannerPrinter$Banners.addIfNotNull:(Lorg/springframework/boot/Banner;)V
2: aload 2
aload 0
aload 1
invokevirtual org.springframework.boot.SpringApplicationBannerPrinter.getTextBanner:(Lorg/springframework/core/env/Environment;)Lorg/springframework/boot/Banner;
invokevirtual org.springframework.boot.SpringApplicationBannerPrinter$Banners.addIfNotNull:(Lorg/springframework/boot/Banner;)V
3: aload 2
invokevirtual org.springframework.boot.SpringApplicationBannerPrinter$Banners.hasAtLeastOneBanner:()Z
ifeq 5
4: aload 2
areturn
5: StackMap locals: org.springframework.boot.SpringApplicationBannerPrinter$Banners
StackMap stack:
aload 0
getfield org.springframework.boot.SpringApplicationBannerPrinter.fallbackBanner:Lorg/springframework/boot/Banner;
ifnull 7
6: aload 0
getfield org.springframework.boot.SpringApplicationBannerPrinter.fallbackBanner:Lorg/springframework/boot/Banner;
areturn
7: StackMap locals:
StackMap stack:
getstatic org.springframework.boot.SpringApplicationBannerPrinter.DEFAULT_BANNER:Lorg/springframework/boot/Banner;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/springframework/boot/SpringApplicationBannerPrinter;
0 8 1 environment Lorg/springframework/core/env/Environment;
1 8 2 banners Lorg/springframework/boot/SpringApplicationBannerPrinter$Banners;
MethodParameters:
Name Flags
environment
private org.springframework.boot.Banner getTextBanner(org.springframework.core.env.Environment);
descriptor: (Lorg/springframework/core/env/Environment;)Lorg/springframework/boot/Banner;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ldc "spring.banner.location"
ldc "banner.txt"
invokeinterface org.springframework.core.env.Environment.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield org.springframework.boot.SpringApplicationBannerPrinter.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
aload 2
invokeinterface org.springframework.core.io.ResourceLoader.getResource:(Ljava/lang/String;)Lorg/springframework/core/io/Resource;
astore 3
start local 3 2: aload 3
invokeinterface org.springframework.core.io.Resource.exists:()Z
ifeq 6
aload 3
invokeinterface org.springframework.core.io.Resource.getURL:()Ljava/net/URL;
invokevirtual java.net.URL.toExternalForm:()Ljava/lang/String;
ldc "liquibase-core"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifne 6
3: new org.springframework.boot.ResourceBanner
dup
aload 3
invokespecial org.springframework.boot.ResourceBanner.<init>:(Lorg/springframework/core/io/Resource;)V
4: areturn
5: StackMap locals: org.springframework.boot.SpringApplicationBannerPrinter org.springframework.core.env.Environment java.lang.String org.springframework.core.io.Resource
StackMap stack: java.io.IOException
pop
6: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/boot/SpringApplicationBannerPrinter;
0 7 1 environment Lorg/springframework/core/env/Environment;
1 7 2 location Ljava/lang/String;
2 7 3 resource Lorg/springframework/core/io/Resource;
Exception table:
from to target type
2 4 5 Class java.io.IOException
MethodParameters:
Name Flags
environment
private org.springframework.boot.Banner getImageBanner(org.springframework.core.env.Environment);
descriptor: (Lorg/springframework/core/env/Environment;)Lorg/springframework/boot/Banner;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 1
ldc "spring.banner.image.location"
invokeinterface org.springframework.core.env.Environment.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 2
invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
ifeq 6
2: aload 0
getfield org.springframework.boot.SpringApplicationBannerPrinter.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
aload 2
invokeinterface org.springframework.core.io.ResourceLoader.getResource:(Ljava/lang/String;)Lorg/springframework/core/io/Resource;
astore 3
start local 3 3: aload 3
invokeinterface org.springframework.core.io.Resource.exists:()Z
ifeq 4
new org.springframework.boot.ImageBanner
dup
aload 3
invokespecial org.springframework.boot.ImageBanner.<init>:(Lorg/springframework/core/io/Resource;)V
goto 5
StackMap locals: java.lang.String org.springframework.core.io.Resource
StackMap stack:
4: aconst_null
StackMap locals:
StackMap stack: org.springframework.boot.ImageBanner
5: areturn
end local 3 6: StackMap locals:
StackMap stack:
getstatic org.springframework.boot.SpringApplicationBannerPrinter.IMAGE_EXTENSION:[Ljava/lang/String;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 12
StackMap locals: org.springframework.boot.SpringApplicationBannerPrinter org.springframework.core.env.Environment java.lang.String top int int java.lang.String[]
StackMap stack:
7: aload 6
iload 4
aaload
astore 3
start local 3 8: aload 0
getfield org.springframework.boot.SpringApplicationBannerPrinter.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
new java.lang.StringBuilder
dup
ldc "banner."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.springframework.core.io.ResourceLoader.getResource:(Ljava/lang/String;)Lorg/springframework/core/io/Resource;
astore 7
start local 7 9: aload 7
invokeinterface org.springframework.core.io.Resource.exists:()Z
ifeq 11
10: new org.springframework.boot.ImageBanner
dup
aload 7
invokespecial org.springframework.boot.ImageBanner.<init>:(Lorg/springframework/core/io/Resource;)V
areturn
end local 7 end local 3 11: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
iload 5
if_icmplt 7
13: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/springframework/boot/SpringApplicationBannerPrinter;
0 14 1 environment Lorg/springframework/core/env/Environment;
1 14 2 location Ljava/lang/String;
3 6 3 resource Lorg/springframework/core/io/Resource;
8 11 3 ext Ljava/lang/String;
9 11 7 resource Lorg/springframework/core/io/Resource;
MethodParameters:
Name Flags
environment
private java.lang.String createStringFromBanner(org.springframework.boot.Banner, org.springframework.core.env.Environment, java.lang.Class<?>);
descriptor: (Lorg/springframework/boot/Banner;Lorg/springframework/core/env/Environment;Ljava/lang/Class;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 4
start local 4 1: aload 1
aload 2
aload 3
new java.io.PrintStream
dup
aload 4
invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
invokeinterface org.springframework.boot.Banner.printBanner:(Lorg/springframework/core/env/Environment;Ljava/lang/Class;Ljava/io/PrintStream;)V
2: aload 2
ldc "spring.banner.charset"
ldc "UTF-8"
invokeinterface org.springframework.core.env.Environment.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 3: aload 4
aload 5
invokevirtual java.io.ByteArrayOutputStream.toString:(Ljava/lang/String;)Ljava/lang/String;
areturn
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 4 0 this Lorg/springframework/boot/SpringApplicationBannerPrinter;
0 4 1 banner Lorg/springframework/boot/Banner;
0 4 2 environment Lorg/springframework/core/env/Environment;
0 4 3 mainApplicationClass Ljava/lang/Class<*>;
1 4 4 baos Ljava/io/ByteArrayOutputStream;
3 4 5 charset Ljava/lang/String;
Exceptions:
throws java.io.UnsupportedEncodingException
Signature: (Lorg/springframework/boot/Banner;Lorg/springframework/core/env/Environment;Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
banner
environment
mainApplicationClass
}
SourceFile: "SpringApplicationBannerPrinter.java"
NestMembers:
org.springframework.boot.SpringApplicationBannerPrinter$Banners org.springframework.boot.SpringApplicationBannerPrinter$PrintedBanner
InnerClasses:
private Banners = org.springframework.boot.SpringApplicationBannerPrinter$Banners of org.springframework.boot.SpringApplicationBannerPrinter
private PrintedBanner = org.springframework.boot.SpringApplicationBannerPrinter$PrintedBanner of org.springframework.boot.SpringApplicationBannerPrinter