public final class org.jasypt.normalization.Normalizer
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.jasypt.normalization.Normalizer
super_class: java.lang.Object
{
private static final java.lang.String ICU_NORMALIZER_CLASS_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "com.ibm.icu.text.Normalizer"
private static final java.lang.String JDK_NORMALIZER_CLASS_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java.text.Normalizer"
private static final java.lang.String JDK_NORMALIZER_FORM_CLASS_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java.text.Normalizer$Form"
private static java.lang.Boolean useIcuNormalizer;
descriptor: Ljava/lang/Boolean;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.reflect.Method javaTextNormalizerMethod;
descriptor: Ljava/lang/reflect/Method;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.Object javaTextNormalizerFormNFCConstant;
descriptor: Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: aconst_null
putstatic org.jasypt.normalization.Normalizer.useIcuNormalizer:Ljava/lang/Boolean;
1: aconst_null
putstatic org.jasypt.normalization.Normalizer.javaTextNormalizerMethod:Ljava/lang/reflect/Method;
2: aconst_null
putstatic org.jasypt.normalization.Normalizer.javaTextNormalizerFormNFCConstant:Ljava/lang/Object;
return
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.String normalizeToNfc(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.String
dup
aload 0
invokevirtual java.lang.String.toCharArray:()[C
invokestatic org.jasypt.normalization.Normalizer.normalizeToNfc:([C)[C
invokespecial java.lang.String.<init>:([C)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 message Ljava/lang/String;
MethodParameters:
Name Flags
message final
public static char[] normalizeToNfc(char[]);
descriptor: ([C)[C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic org.jasypt.normalization.Normalizer.useIcuNormalizer:Ljava/lang/Boolean;
ifnonnull 22
1: invokestatic org.jasypt.normalization.Normalizer.initializeIcu4j:()V
2: goto 22
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
3: pop
4: invokestatic org.jasypt.normalization.Normalizer.initializeJavaTextNormalizer:()V
5: goto 22
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
6: pop
7: new org.jasypt.exceptions.EncryptionInitializationException
dup
8: ldc "Cannot find a valid UNICODE normalizer: neither java.text.Normalizer nor com.ibm.icu.text.Normalizer have been found at the classpath. If you are using a version of the JDK older than JavaSE 6, you should include the icu4j library in your classpath."
9: invokespecial org.jasypt.exceptions.EncryptionInitializationException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
pop
11: new org.jasypt.exceptions.EncryptionInitializationException
dup
12: ldc "Cannot find a valid UNICODE normalizer: java.text.Normalizer has been found at the classpath, but has an incompatible signature for its 'normalize' method."
13: invokespecial org.jasypt.exceptions.EncryptionInitializationException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack: java.lang.NoSuchFieldException
pop
15: new org.jasypt.exceptions.EncryptionInitializationException
dup
16: ldc "Cannot find a valid UNICODE normalizer: java.text.Normalizer$Form has been found at the classpath, but seems to have no 'NFC' value."
17: invokespecial org.jasypt.exceptions.EncryptionInitializationException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack: java.lang.IllegalAccessException
pop
19: new org.jasypt.exceptions.EncryptionInitializationException
dup
20: ldc "Cannot find a valid UNICODE normalizer: java.text.Normalizer$Form has been found at the classpath, but seems to have no 'NFC' value."
21: invokespecial org.jasypt.exceptions.EncryptionInitializationException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals:
StackMap stack:
getstatic org.jasypt.normalization.Normalizer.useIcuNormalizer:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 24
23: aload 0
invokestatic org.jasypt.normalization.Normalizer.normalizeWithIcu4j:([C)[C
areturn
24: StackMap locals:
StackMap stack:
aload 0
invokestatic org.jasypt.normalization.Normalizer.normalizeWithJavaNormalizer:([C)[C
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 message [C
Exception table:
from to target type
1 2 3 Class java.lang.ClassNotFoundException
4 5 6 Class java.lang.ClassNotFoundException
4 5 10 Class java.lang.NoSuchMethodException
4 5 14 Class java.lang.NoSuchFieldException
4 5 18 Class java.lang.IllegalAccessException
MethodParameters:
Name Flags
message final
static void initializeIcu4j();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
ldc "com.ibm.icu.text.Normalizer"
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
pop
1: getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
putstatic org.jasypt.normalization.Normalizer.useIcuNormalizer:Ljava/lang/Boolean;
2: return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.ClassNotFoundException
static void initializeJavaTextNormalizer();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=3, args_size=0
0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
ldc "java.text.Normalizer"
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
1: astore 0
start local 0 2: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
ldc "java.text.Normalizer$Form"
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
3: astore 1
start local 1 4: aload 0
5: ldc "normalize"
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/CharSequence;
aastore
dup
iconst_1
aload 1
aastore
6: invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
7: putstatic org.jasypt.normalization.Normalizer.javaTextNormalizerMethod:Ljava/lang/reflect/Method;
8: aload 1
ldc "NFC"
invokevirtual java.lang.Class.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 2
start local 2 9: aload 2
aconst_null
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
putstatic org.jasypt.normalization.Normalizer.javaTextNormalizerFormNFCConstant:Ljava/lang/Object;
10: getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
putstatic org.jasypt.normalization.Normalizer.useIcuNormalizer:Ljava/lang/Boolean;
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
2 12 0 javaTextNormalizerClass Ljava/lang/Class;
4 12 1 javaTextNormalizerFormClass Ljava/lang/Class;
9 12 2 javaTextNormalizerFormNFCConstantField Ljava/lang/reflect/Field;
Exceptions:
throws java.lang.ClassNotFoundException, java.lang.NoSuchMethodException, java.lang.NoSuchFieldException, java.lang.IllegalAccessException
static char[] normalizeWithJavaNormalizer(char[]);
descriptor: ([C)[C
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: getstatic org.jasypt.normalization.Normalizer.javaTextNormalizerMethod:Ljava/lang/reflect/Method;
ifnull 1
getstatic org.jasypt.normalization.Normalizer.javaTextNormalizerFormNFCConstant:Ljava/lang/Object;
ifnonnull 4
1: StackMap locals:
StackMap stack:
new org.jasypt.exceptions.EncryptionInitializationException
dup
2: ldc "Cannot use: java.text.Normalizer$Form, as JDK-based normalization has not been initialized! (check previous execution errors)"
3: invokespecial org.jasypt.exceptions.EncryptionInitializationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 0
invokespecial java.lang.String.<init>:([C)V
astore 1
start local 1 5: getstatic org.jasypt.normalization.Normalizer.javaTextNormalizerMethod:Ljava/lang/reflect/Method;
6: aconst_null
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
getstatic org.jasypt.normalization.Normalizer.javaTextNormalizerFormNFCConstant:Ljava/lang/Object;
aastore
7: invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 8: goto 13
end local 2 StackMap locals: char[] java.lang.String
StackMap stack: java.lang.Exception
9: astore 3
start local 3 10: new org.jasypt.exceptions.EncryptionInitializationException
dup
11: ldc "Could not perform a valid UNICODE normalization"
aload 3
12: invokespecial org.jasypt.exceptions.EncryptionInitializationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 start local 2 13: StackMap locals: java.lang.String
StackMap stack:
aload 2
invokevirtual java.lang.String.toCharArray:()[C
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 message [C
5 14 1 messageStr Ljava/lang/String;
8 9 2 result Ljava/lang/String;
13 14 2 result Ljava/lang/String;
10 13 3 e Ljava/lang/Exception;
Exception table:
from to target type
5 8 9 Class java.lang.Exception
MethodParameters:
Name Flags
message final
static char[] normalizeWithIcu4j(char[]);
descriptor: ([C)[C
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tcom.ibm cannot be resolved\n\tcom.ibm cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
message final
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jasypt/normalization/Normalizer;
}
SourceFile: "Normalizer.java"