public class org.apache.fop.pdf.PDFPageLabels extends org.apache.fop.pdf.PDFNumberTreeNode
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.fop.pdf.PDFPageLabels
super_class: org.apache.fop.pdf.PDFNumberTreeNode
{
private static final int DECIMAL;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int LOWER_ALPHA;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int UPPER_ALPHA;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int LOWER_ROMAN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int UPPER_ROMAN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private static final int PREFIX;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6
private static final org.apache.fop.pdf.PDFName S_DECIMAL;
descriptor: Lorg/apache/fop/pdf/PDFName;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.apache.fop.pdf.PDFName S_UPPER_ROMAN;
descriptor: Lorg/apache/fop/pdf/PDFName;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.apache.fop.pdf.PDFName S_LOWER_ROMAN;
descriptor: Lorg/apache/fop/pdf/PDFName;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.apache.fop.pdf.PDFName S_UPPER_ALPHA;
descriptor: Lorg/apache/fop/pdf/PDFName;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.apache.fop.pdf.PDFName S_LOWER_ALPHA;
descriptor: Lorg/apache/fop/pdf/PDFName;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern MATCH_DECIMAL;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern MATCH_ROMAN;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern MATCH_LETTER;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private int lastPageLabelType;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int lastPageNumber;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.lang.String lastZeroPaddingPrefix;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new org.apache.fop.pdf.PDFName
dup
ldc "D"
invokespecial org.apache.fop.pdf.PDFName.<init>:(Ljava/lang/String;)V
putstatic org.apache.fop.pdf.PDFPageLabels.S_DECIMAL:Lorg/apache/fop/pdf/PDFName;
1: new org.apache.fop.pdf.PDFName
dup
ldc "R"
invokespecial org.apache.fop.pdf.PDFName.<init>:(Ljava/lang/String;)V
putstatic org.apache.fop.pdf.PDFPageLabels.S_UPPER_ROMAN:Lorg/apache/fop/pdf/PDFName;
2: new org.apache.fop.pdf.PDFName
dup
ldc "r"
invokespecial org.apache.fop.pdf.PDFName.<init>:(Ljava/lang/String;)V
putstatic org.apache.fop.pdf.PDFPageLabels.S_LOWER_ROMAN:Lorg/apache/fop/pdf/PDFName;
3: new org.apache.fop.pdf.PDFName
dup
ldc "A"
invokespecial org.apache.fop.pdf.PDFName.<init>:(Ljava/lang/String;)V
putstatic org.apache.fop.pdf.PDFPageLabels.S_UPPER_ALPHA:Lorg/apache/fop/pdf/PDFName;
4: new org.apache.fop.pdf.PDFName
dup
ldc "a"
invokespecial org.apache.fop.pdf.PDFName.<init>:(Ljava/lang/String;)V
putstatic org.apache.fop.pdf.PDFPageLabels.S_LOWER_ALPHA:Lorg/apache/fop/pdf/PDFName;
5: ldc "\\d+"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic org.apache.fop.pdf.PDFPageLabels.MATCH_DECIMAL:Ljava/util/regex/Pattern;
6: ldc "^M{0,3}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$"
iconst_2
7: invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
putstatic org.apache.fop.pdf.PDFPageLabels.MATCH_ROMAN:Ljava/util/regex/Pattern;
8: ldc "^[a-zA-Z]$"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic org.apache.fop.pdf.PDFPageLabels.MATCH_LETTER:Ljava/util/regex/Pattern;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.fop.pdf.PDFNumberTreeNode.<init>:()V
1: aload 0
ldc ""
putfield org.apache.fop.pdf.PDFPageLabels.lastZeroPaddingPrefix:Ljava/lang/String;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/fop/pdf/PDFPageLabels;
public void addPageLabel(int, java.lang.String);
descriptor: (ILjava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=11, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: ldc "00000000"
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: iconst_0
istore 6
start local 6 4: ldc ""
astore 7
start local 7 5: getstatic org.apache.fop.pdf.PDFPageLabels.MATCH_DECIMAL:Ljava/util/regex/Pattern;
aload 2
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 19
6: iconst_1
istore 6
7: aload 2
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 5
8: iconst_0
istore 8
start local 8 9: aload 2
iload 8
invokevirtual java.lang.String.charAt:(I)C
bipush 48
if_icmpne 16
10: StackMap locals: org.apache.fop.pdf.PDFPageLabels int java.lang.String int java.lang.String int int java.lang.String int
StackMap stack:
iinc 8 1
11: aload 2
iload 8
invokevirtual java.lang.String.charAt:(I)C
bipush 48
if_icmpeq 10
12: aload 4
iconst_0
iload 8
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 7
13: aload 7
invokevirtual java.lang.String.length:()I
aload 0
getfield org.apache.fop.pdf.PDFPageLabels.lastZeroPaddingPrefix:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmpeq 36
14: iconst_1
istore 3
15: goto 36
16: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.pdf.PDFPageLabels.lastZeroPaddingPrefix:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifeq 36
17: iconst_1
istore 3
end local 8 18: goto 36
StackMap locals:
StackMap stack:
19: getstatic org.apache.fop.pdf.PDFPageLabels.MATCH_ROMAN:Ljava/util/regex/Pattern;
aload 2
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 26
20: aload 2
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
21: iconst_4
istore 6
22: goto 24
23: StackMap locals:
StackMap stack:
iconst_5
istore 6
24: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.apache.fop.pdf.PDFPageLabels.romanToArabic:(Ljava/lang/String;)I
istore 5
25: goto 36
StackMap locals:
StackMap stack:
26: getstatic org.apache.fop.pdf.PDFPageLabels.MATCH_LETTER:Ljava/util/regex/Pattern;
aload 2
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 34
27: aload 2
iconst_0
invokevirtual java.lang.String.charAt:(I)C
istore 8
start local 8 28: iload 8
bipush 90
if_icmple 31
29: iconst_2
istore 6
30: goto 32
31: StackMap locals: int
StackMap stack:
iconst_3
istore 6
32: StackMap locals:
StackMap stack:
aload 0
iload 8
invokevirtual org.apache.fop.pdf.PDFPageLabels.alphabeticToArabic:(C)I
istore 5
end local 8 33: goto 36
34: StackMap locals:
StackMap stack:
bipush 6
istore 6
35: iconst_1
istore 3
36: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.pdf.PDFPageLabels.lastPageLabelType:I
iload 6
if_icmpeq 38
37: iconst_1
istore 3
38: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.pdf.PDFPageLabels.lastPageNumber:I
iload 5
iconst_1
isub
if_icmpeq 40
39: iconst_1
istore 3
40: StackMap locals:
StackMap stack:
iload 3
ifeq 63
41: aload 0
invokevirtual org.apache.fop.pdf.PDFPageLabels.getNums:()Lorg/apache/fop/pdf/PDFNumsArray;
astore 8
start local 8 42: new org.apache.fop.pdf.PDFDictionary
dup
aload 8
invokespecial org.apache.fop.pdf.PDFDictionary.<init>:(Lorg/apache/fop/pdf/PDFObject;)V
astore 9
start local 9 43: aconst_null
astore 10
start local 10 44: iload 6
tableswitch { // 6 - 6
6: 45
default: 47
}
45: StackMap locals: org.apache.fop.pdf.PDFNumsArray org.apache.fop.pdf.PDFDictionary org.apache.fop.pdf.PDFName
StackMap stack:
aload 9
ldc "P"
aload 2
invokevirtual org.apache.fop.pdf.PDFDictionary.put:(Ljava/lang/String;Ljava/lang/Object;)V
46: goto 62
47: StackMap locals:
StackMap stack:
iload 6
tableswitch { // 1 - 5
1: 48
2: 56
3: 58
4: 52
5: 54
default: 59
}
48: StackMap locals:
StackMap stack:
getstatic org.apache.fop.pdf.PDFPageLabels.S_DECIMAL:Lorg/apache/fop/pdf/PDFName;
astore 10
49: aload 7
invokevirtual java.lang.String.length:()I
ifeq 59
50: aload 9
ldc "P"
aload 7
invokevirtual org.apache.fop.pdf.PDFDictionary.put:(Ljava/lang/String;Ljava/lang/Object;)V
51: goto 59
52: StackMap locals:
StackMap stack:
getstatic org.apache.fop.pdf.PDFPageLabels.S_LOWER_ROMAN:Lorg/apache/fop/pdf/PDFName;
astore 10
53: goto 59
54: StackMap locals:
StackMap stack:
getstatic org.apache.fop.pdf.PDFPageLabels.S_UPPER_ROMAN:Lorg/apache/fop/pdf/PDFName;
astore 10
55: goto 59
56: StackMap locals:
StackMap stack:
getstatic org.apache.fop.pdf.PDFPageLabels.S_LOWER_ALPHA:Lorg/apache/fop/pdf/PDFName;
astore 10
57: goto 59
58: StackMap locals:
StackMap stack:
getstatic org.apache.fop.pdf.PDFPageLabels.S_UPPER_ALPHA:Lorg/apache/fop/pdf/PDFName;
astore 10
59: StackMap locals:
StackMap stack:
aload 9
ldc "S"
aload 10
invokevirtual org.apache.fop.pdf.PDFDictionary.put:(Ljava/lang/String;Ljava/lang/Object;)V
60: iload 5
iconst_1
if_icmpeq 62
61: aload 9
ldc "St"
iload 5
invokevirtual org.apache.fop.pdf.PDFDictionary.put:(Ljava/lang/String;I)V
62: StackMap locals:
StackMap stack:
aload 8
iload 1
aload 9
invokevirtual org.apache.fop.pdf.PDFNumsArray.put:(ILjava/lang/Object;)V
end local 10 end local 9 end local 8 63: StackMap locals:
StackMap stack:
aload 0
iload 6
putfield org.apache.fop.pdf.PDFPageLabels.lastPageLabelType:I
64: aload 0
iload 5
putfield org.apache.fop.pdf.PDFPageLabels.lastPageNumber:I
65: aload 0
aload 7
putfield org.apache.fop.pdf.PDFPageLabels.lastZeroPaddingPrefix:Ljava/lang/String;
66: return
end local 7 end local 6 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 67 0 this Lorg/apache/fop/pdf/PDFPageLabels;
0 67 1 index I
0 67 2 pageLabel Ljava/lang/String;
1 67 3 addNewPageLabel Z
2 67 4 padding Ljava/lang/String;
3 67 5 currentPageNumber I
4 67 6 currentPageLabelType I
5 67 7 currentZeroPaddingPrefix Ljava/lang/String;
9 18 8 zeroPadding I
28 33 8 c C
42 63 8 nums Lorg/apache/fop/pdf/PDFNumsArray;
43 63 9 dict Lorg/apache/fop/pdf/PDFDictionary;
44 63 10 pdfName Lorg/apache/fop/pdf/PDFName;
MethodParameters:
Name Flags
index
pageLabel
private int romanToArabic(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: aload 1
invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
astore 5
start local 5 4: iconst_0
istore 6
start local 6 5: goto 27
6: StackMap locals: org.apache.fop.pdf.PDFPageLabels java.lang.String int int int java.lang.String int
StackMap stack:
aload 5
iload 6
invokevirtual java.lang.String.charAt:(I)C
istore 7
start local 7 7: iload 7
lookupswitch { // 7
67: 16
68: 18
73: 8
76: 14
77: 20
86: 10
88: 12
default: 21
}
8: StackMap locals: int
StackMap stack:
iconst_1
istore 4
9: goto 21
10: StackMap locals:
StackMap stack:
iconst_5
istore 4
11: goto 21
12: StackMap locals:
StackMap stack:
bipush 10
istore 4
13: goto 21
14: StackMap locals:
StackMap stack:
bipush 50
istore 4
15: goto 21
16: StackMap locals:
StackMap stack:
bipush 100
istore 4
17: goto 21
18: StackMap locals:
StackMap stack:
sipush 500
istore 4
19: goto 21
20: StackMap locals:
StackMap stack:
sipush 1000
istore 4
21: StackMap locals:
StackMap stack:
iload 3
iload 4
if_icmpge 24
22: iload 2
iload 3
isub
istore 2
23: goto 25
24: StackMap locals:
StackMap stack:
iload 2
iload 3
iadd
istore 2
25: StackMap locals:
StackMap stack:
iload 4
istore 3
end local 7 26: iinc 6 1
StackMap locals:
StackMap stack:
27: iload 6
aload 5
invokevirtual java.lang.String.length:()I
if_icmplt 6
end local 6 28: iload 2
iload 3
iadd
istore 2
29: iload 2
ireturn
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 30 0 this Lorg/apache/fop/pdf/PDFPageLabels;
0 30 1 roman Ljava/lang/String;
1 30 2 arabic I
2 30 3 previousValue I
3 30 4 newValue I
4 30 5 upperRoman Ljava/lang/String;
5 28 6 i I
7 26 7 romanDigit C
MethodParameters:
Name Flags
roman
private int alphabeticToArabic(char);
descriptor: (C)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iload 1
invokestatic java.lang.Character.toLowerCase:(C)C
bipush 97
isub
iconst_1
iadd
istore 2
start local 2 1: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/fop/pdf/PDFPageLabels;
0 2 1 c C
1 2 2 arabic I
MethodParameters:
Name Flags
c
}
SourceFile: "PDFPageLabels.java"