public class sun.print.UnixPrintServiceLookup extends javax.print.PrintServiceLookup implements sun.print.BackgroundServiceLookup, java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.print.UnixPrintServiceLookup
super_class: javax.print.PrintServiceLookup
{
private java.lang.String defaultPrinter;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private javax.print.PrintService defaultPrintService;
descriptor: Ljavax/print/PrintService;
flags: (0x0002) ACC_PRIVATE
private javax.print.PrintService[] printServices;
descriptor: [Ljavax/print/PrintService;
flags: (0x0002) ACC_PRIVATE
private java.util.Vector lookupListeners;
descriptor: Ljava/util/Vector;
flags: (0x0002) ACC_PRIVATE
private static java.lang.String debugPrefix;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean pollServices;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final int DEFAULT_MINREFRESH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 120
private static int minRefreshTime;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static java.lang.String osname;
descriptor: Ljava/lang/String;
flags: (0x0008) ACC_STATIC
static final int UNINITIALIZED;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -1
static final int BSD_LPD;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final int BSD_LPD_NG;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static int cmdIndex;
descriptor: I
flags: (0x0008) ACC_STATIC
java.lang.String[] lpcFirstCom;
descriptor: [Ljava/lang/String;
flags: (0x0000)
java.lang.String[] lpcAllCom;
descriptor: [Ljava/lang/String;
flags: (0x0000)
java.lang.String[] lpcNameCom;
descriptor: [Ljava/lang/String;
flags: (0x0000)
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=0
0: ldc "UnixPrintServiceLookup>> "
putstatic sun.print.UnixPrintServiceLookup.debugPrefix:Ljava/lang/String;
1: iconst_1
putstatic sun.print.UnixPrintServiceLookup.pollServices:Z
2: bipush 120
putstatic sun.print.UnixPrintServiceLookup.minRefreshTime:I
3: new sun.security.action.GetPropertyAction
dup
ldc "sun.java2d.print.polling"
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
4: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 0
start local 0 5: aload 0
ifnull 11
6: aload 0
ldc "true"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 9
7: iconst_1
putstatic sun.print.UnixPrintServiceLookup.pollServices:Z
8: goto 11
StackMap locals: java.lang.String
StackMap stack:
9: aload 0
ldc "false"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 11
10: iconst_0
putstatic sun.print.UnixPrintServiceLookup.pollServices:Z
11: StackMap locals:
StackMap stack:
new sun.security.action.GetPropertyAction
dup
12: ldc "sun.java2d.print.minRefreshTime"
13: invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
14: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 15: aload 1
ifnull 21
16: new java.lang.Integer
dup
aload 1
invokespecial java.lang.Integer.<init>:(Ljava/lang/String;)V
invokevirtual java.lang.Integer.intValue:()I
putstatic sun.print.UnixPrintServiceLookup.minRefreshTime:I
17: goto 19
StackMap locals: java.lang.String java.lang.String
StackMap stack: java.lang.NumberFormatException
18: pop
19: StackMap locals:
StackMap stack:
getstatic sun.print.UnixPrintServiceLookup.minRefreshTime:I
bipush 120
if_icmpge 21
20: bipush 120
putstatic sun.print.UnixPrintServiceLookup.minRefreshTime:I
21: StackMap locals:
StackMap stack:
new sun.security.action.GetPropertyAction
dup
ldc "os.name"
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
22: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
putstatic sun.print.UnixPrintServiceLookup.osname:Ljava/lang/String;
end local 1 end local 0 23: iconst_m1
putstatic sun.print.UnixPrintServiceLookup.cmdIndex:I
return
LocalVariableTable:
Start End Slot Name Signature
5 23 0 pollStr Ljava/lang/String;
15 23 1 refreshTimeStr Ljava/lang/String;
Exception table:
from to target type
16 17 18 Class java.lang.NumberFormatException
static boolean isSysV();
descriptor: ()Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic sun.print.UnixPrintServiceLookup.osname:Ljava/lang/String;
ldc "SunOS"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
static boolean isBSD();
descriptor: ()Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic sun.print.UnixPrintServiceLookup.osname:Ljava/lang/String;
ldc "Linux"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
static int getBSDCommandIndex();
descriptor: ()I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=0
0: ldc "/usr/sbin/lpc status"
astore 0
start local 0 1: aload 0
invokestatic sun.print.UnixPrintServiceLookup.execCmd:(Ljava/lang/String;)[Ljava/lang/String;
astore 1
start local 1 2: aload 1
ifnull 3
aload 1
arraylength
ifne 4
3: StackMap locals: java.lang.String java.lang.String[]
StackMap stack:
iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 5: goto 9
6: StackMap locals: int
StackMap stack:
aload 1
iload 2
aaload
bipush 64
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 8
7: iconst_1
ireturn
8: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
aload 1
arraylength
if_icmplt 6
end local 2 10: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 11 0 command Ljava/lang/String;
2 11 1 names [Ljava/lang/String;
5 10 2 i I
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokespecial javax.print.PrintServiceLookup.<init>:()V
1: aload 0
aconst_null
putfield sun.print.UnixPrintServiceLookup.lookupListeners:Ljava/util/Vector;
2: aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
3: ldc "/usr/sbin/lpc status | grep : | sed -ne '1,1 s/://p'"
aastore
dup
iconst_1
4: ldc "/usr/sbin/lpc status | grep -E '^[ 0-9a-zA-Z_-]*@' | awk -F'@' '{print $1}'"
aastore
putfield sun.print.UnixPrintServiceLookup.lpcFirstCom:[Ljava/lang/String;
5: aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
6: ldc "/usr/sbin/lpc status | grep : | sed -e 's/://'"
aastore
dup
iconst_1
7: ldc "/usr/sbin/lpc -a status | grep -E '^[ 0-9a-zA-Z_-]*@' | awk -F'@' '{print $1}' | sort"
aastore
putfield sun.print.UnixPrintServiceLookup.lpcAllCom:[Ljava/lang/String;
8: aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
9: ldc "| grep : | sed -ne 's/://p'"
aastore
dup
iconst_1
10: ldc "| grep -E '^[ 0-9a-zA-Z_-]*@' | awk -F'@' '{print $1}'"
aastore
putfield sun.print.UnixPrintServiceLookup.lpcNameCom:[Ljava/lang/String;
11: getstatic sun.print.UnixPrintServiceLookup.pollServices:Z
ifeq 16
12: new sun.print.UnixPrintServiceLookup$PrinterChangeListener
dup
aload 0
invokespecial sun.print.UnixPrintServiceLookup$PrinterChangeListener.<init>:(Lsun/print/UnixPrintServiceLookup;)V
astore 1
start local 1 13: aload 1
iconst_1
invokevirtual sun.print.UnixPrintServiceLookup$PrinterChangeListener.setDaemon:(Z)V
14: aload 1
invokevirtual sun.print.UnixPrintServiceLookup$PrinterChangeListener.start:()V
15: new java.lang.StringBuilder
dup
getstatic sun.print.UnixPrintServiceLookup.debugPrefix:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "polling turned on"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.print.IPPPrintService.debug_println:(Ljava/lang/String;)V
end local 1 16: StackMap locals: sun.print.UnixPrintServiceLookup
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/print/UnixPrintServiceLookup;
13 16 1 thr Lsun/print/UnixPrintServiceLookup$PrinterChangeListener;
public synchronized javax.print.PrintService[] getPrintServices();
descriptor: ()[Ljavax/print/PrintService;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=2, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
invokevirtual java.lang.SecurityManager.checkPrintJobAccess:()V
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
ifnull 4
getstatic sun.print.UnixPrintServiceLookup.pollServices:Z
ifne 5
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.print.UnixPrintServiceLookup.refreshServices:()V
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
ifnonnull 7
6: iconst_0
anewarray javax.print.PrintService
areturn
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/print/UnixPrintServiceLookup;
1 8 1 security Ljava/lang/SecurityManager;
public synchronized void refreshServices();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=8, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: aload 0
invokevirtual sun.print.UnixPrintServiceLookup.getDefaultPrintService:()Ljavax/print/PrintService;
pop
3: invokestatic sun.print.CUPSPrinter.isCupsRunning:()Z
ifeq 14
4: invokestatic sun.print.CUPSPrinter.getAllPrinters:()[Ljava/lang/String;
astore 2
5: aload 2
ifnull 18
aload 2
arraylength
ifle 18
6: aload 2
arraylength
anewarray java.lang.String
astore 1
7: iconst_0
istore 3
start local 3 8: goto 12
9: StackMap locals: java.lang.String[] java.lang.String[] int
StackMap stack:
aload 2
iload 3
aaload
ldc "/"
invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
istore 4
start local 4 10: aload 1
iload 3
aload 2
iload 3
aaload
iload 4
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
aastore
end local 4 11: iinc 3 1
StackMap locals:
StackMap stack:
12: iload 3
aload 2
arraylength
if_icmplt 9
end local 3 13: goto 18
14: StackMap locals:
StackMap stack:
invokestatic sun.print.UnixPrintServiceLookup.isSysV:()Z
ifeq 17
15: aload 0
invokevirtual sun.print.UnixPrintServiceLookup.getAllPrinterNamesSysV:()[Ljava/lang/String;
astore 1
16: goto 18
17: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.print.UnixPrintServiceLookup.getAllPrinterNamesBSD:()[Ljava/lang/String;
astore 1
18: StackMap locals:
StackMap stack:
aload 1
ifnonnull 25
19: aload 0
getfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
ifnull 23
20: aload 0
iconst_1
anewarray javax.print.PrintService
putfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
21: aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
iconst_0
aload 0
getfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
aastore
22: goto 24
23: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
24: StackMap locals:
StackMap stack:
return
25: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 26: iconst_m1
istore 4
start local 4 27: iconst_0
istore 5
start local 5 28: goto 78
29: StackMap locals: java.util.ArrayList int int
StackMap stack:
aload 1
iload 5
aaload
ifnonnull 31
30: goto 77
31: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
ifnull 36
32: aload 1
iload 5
aaload
aload 0
getfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
invokeinterface javax.print.PrintService.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 36
33: aload 3
aload 0
getfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
34: aload 3
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
istore 4
35: goto 77
36: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
ifnonnull 54
37: new java.lang.StringBuilder
dup
getstatic sun.print.UnixPrintServiceLookup.debugPrefix:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
38: ldc "total# of printers = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
39: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.print.IPPPrintService.debug_println:(Ljava/lang/String;)V
40: invokestatic sun.print.CUPSPrinter.isCupsRunning:()Z
ifeq 52
41: aload 3
new sun.print.IPPPrintService
dup
aload 1
iload 5
aaload
42: aload 2
iload 5
aaload
43: iconst_1
invokespecial sun.print.IPPPrintService.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
44: invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
45: goto 77
StackMap locals:
StackMap stack: java.lang.Exception
46: astore 6
start local 6 47: new java.lang.StringBuilder
dup
getstatic sun.print.UnixPrintServiceLookup.debugPrefix:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
48: ldc " getAllPrinters Exception "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
49: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
50: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.print.IPPPrintService.debug_println:(Ljava/lang/String;)V
end local 6 51: goto 77
52: StackMap locals:
StackMap stack:
aload 3
new sun.print.UnixPrintService
dup
aload 1
iload 5
aaload
invokespecial sun.print.UnixPrintService.<init>:(Ljava/lang/String;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
53: goto 77
54: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 55: goto 62
56: StackMap locals: int
StackMap stack:
aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
iload 6
aaload
ifnull 61
57: aload 1
iload 5
aaload
aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
iload 6
aaload
invokeinterface javax.print.PrintService.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 61
58: aload 3
aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
iload 6
aaload
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
59: aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
iload 6
aconst_null
aastore
60: goto 63
61: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
62: iload 6
aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
arraylength
if_icmplt 56
63: StackMap locals:
StackMap stack:
iload 6
aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
arraylength
if_icmpne 77
64: invokestatic sun.print.CUPSPrinter.isCupsRunning:()Z
ifeq 76
65: aload 3
new sun.print.IPPPrintService
dup
aload 1
iload 5
aaload
66: aload 2
iload 5
aaload
67: iconst_1
invokespecial sun.print.IPPPrintService.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
68: invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
69: goto 77
StackMap locals:
StackMap stack: java.lang.Exception
70: astore 7
start local 7 71: new java.lang.StringBuilder
dup
getstatic sun.print.UnixPrintServiceLookup.debugPrefix:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
72: ldc " getAllPrinters Exception "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
73: aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
74: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.print.IPPPrintService.debug_println:(Ljava/lang/String;)V
end local 7 75: goto 77
76: StackMap locals:
StackMap stack:
aload 3
new sun.print.UnixPrintService
dup
aload 1
iload 5
aaload
invokespecial sun.print.UnixPrintService.<init>:(Ljava/lang/String;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 6 77: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
78: iload 5
aload 1
arraylength
if_icmplt 29
end local 5 79: aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
ifnull 87
80: iconst_0
istore 5
start local 5 81: goto 86
82: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
iload 5
aaload
instanceof sun.print.UnixPrintService
ifeq 85
83: aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
iload 5
aaload
aload 0
getfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
invokeinterface javax.print.PrintService.equals:(Ljava/lang/Object;)Z
ifne 85
84: aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
iload 5
aaload
checkcast sun.print.UnixPrintService
invokevirtual sun.print.UnixPrintService.invalidateService:()V
85: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
86: iload 5
aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
arraylength
if_icmplt 82
end local 5 87: StackMap locals:
StackMap stack:
iload 4
iconst_m1
if_icmpne 90
aload 0
getfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
ifnull 90
88: aload 3
aload 0
getfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
89: aload 3
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
istore 4
90: StackMap locals:
StackMap stack:
aload 0
aload 3
91: iconst_0
anewarray javax.print.PrintService
92: invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast javax.print.PrintService[]
putfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
93: iload 4
ifle 97
94: aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
iconst_0
aaload
astore 5
start local 5 95: aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
iconst_0
aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
iload 4
aaload
aastore
96: aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
iload 4
aload 5
aastore
end local 5 97: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 98 0 this Lsun/print/UnixPrintServiceLookup;
1 98 1 printers [Ljava/lang/String;
2 98 2 printerURIs [Ljava/lang/String;
8 13 3 i I
10 11 4 lastIndex I
26 98 3 printerList Ljava/util/ArrayList;
27 98 4 defaultIndex I
28 79 5 p I
47 51 6 e Ljava/lang/Exception;
55 77 6 j I
71 75 7 e Ljava/lang/Exception;
81 87 5 j I
95 97 5 saveService Ljavax/print/PrintService;
Exception table:
from to target type
41 45 46 Class java.lang.Exception
65 69 70 Class java.lang.Exception
private boolean matchesAttributes(javax.print.PrintService, javax.print.attribute.PrintServiceAttributeSet);
descriptor: (Ljavax/print/PrintService;Ljavax/print/attribute/PrintServiceAttributeSet;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface javax.print.attribute.PrintServiceAttributeSet.toArray:()[Ljavax/print/attribute/Attribute;
astore 3
start local 3 1: iconst_0
istore 5
start local 5 2: goto 8
3: StackMap locals: sun.print.UnixPrintServiceLookup javax.print.PrintService javax.print.attribute.PrintServiceAttributeSet javax.print.attribute.Attribute[] top int
StackMap stack:
aload 1
aload 3
iload 5
aaload
invokeinterface javax.print.attribute.Attribute.getCategory:()Ljava/lang/Class;
invokeinterface javax.print.PrintService.getAttribute:(Ljava/lang/Class;)Ljavax/print/attribute/PrintServiceAttribute;
4: astore 4
start local 4 5: aload 4
ifnull 6
aload 4
aload 3
iload 5
aaload
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 7
6: StackMap locals: sun.print.UnixPrintServiceLookup javax.print.PrintService javax.print.attribute.PrintServiceAttributeSet javax.print.attribute.Attribute[] javax.print.attribute.Attribute int
StackMap stack:
iconst_0
ireturn
7: StackMap locals:
StackMap stack:
iinc 5 1
end local 4 StackMap locals: sun.print.UnixPrintServiceLookup javax.print.PrintService javax.print.attribute.PrintServiceAttributeSet javax.print.attribute.Attribute[] top int
StackMap stack:
8: iload 5
aload 3
arraylength
if_icmplt 3
end local 5 9: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/print/UnixPrintServiceLookup;
0 10 1 service Ljavax/print/PrintService;
0 10 2 attributes Ljavax/print/attribute/PrintServiceAttributeSet;
1 10 3 attrs [Ljavax/print/attribute/Attribute;
5 8 4 serviceAttr Ljavax/print/attribute/Attribute;
2 9 5 i I
MethodParameters:
Name Flags
service
attributes
private boolean checkPrinterName(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 3
start local 3 1: goto 8
2: StackMap locals: sun.print.UnixPrintServiceLookup java.lang.String top int
StackMap stack:
aload 1
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 2
start local 2 3: iload 2
invokestatic java.lang.Character.isLetterOrDigit:(C)Z
ifne 7
4: iload 2
bipush 45
if_icmpeq 7
iload 2
bipush 95
if_icmpeq 7
iload 2
bipush 46
if_icmpeq 7
iload 2
bipush 47
if_icmpne 6
5: goto 7
6: StackMap locals: sun.print.UnixPrintServiceLookup java.lang.String int int
StackMap stack:
iconst_0
ireturn
7: StackMap locals:
StackMap stack:
iinc 3 1
end local 2 StackMap locals: sun.print.UnixPrintServiceLookup java.lang.String top int
StackMap stack:
8: iload 3
aload 1
invokevirtual java.lang.String.length:()I
if_icmplt 2
end local 3 9: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/print/UnixPrintServiceLookup;
0 10 1 s Ljava/lang/String;
3 8 2 c C
1 9 3 i I
MethodParameters:
Name Flags
s
private javax.print.PrintService getServiceByName(javax.print.attribute.standard.PrinterName);
descriptor: (Ljavax/print/attribute/standard/PrinterName;)Ljavax/print/PrintService;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual javax.print.attribute.standard.PrinterName.getValue:()Ljava/lang/String;
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 2
ifnull 3
aload 2
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
aload 0
aload 2
invokevirtual sun.print.UnixPrintServiceLookup.checkPrinterName:(Ljava/lang/String;)Z
ifne 4
3: StackMap locals: java.lang.String javax.print.PrintService
StackMap stack:
aconst_null
areturn
4: StackMap locals:
StackMap stack:
invokestatic sun.print.UnixPrintServiceLookup.isSysV:()Z
ifeq 7
5: aload 0
aload 2
invokevirtual sun.print.UnixPrintServiceLookup.getNamedPrinterNameSysV:(Ljava/lang/String;)Ljavax/print/PrintService;
astore 3
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual sun.print.UnixPrintServiceLookup.getNamedPrinterNameBSD:(Ljava/lang/String;)Ljavax/print/PrintService;
astore 3
8: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/print/UnixPrintServiceLookup;
0 9 1 nameAttr Ljavax/print/attribute/standard/PrinterName;
1 9 2 name Ljava/lang/String;
2 9 3 printer Ljavax/print/PrintService;
MethodParameters:
Name Flags
nameAttr
private javax.print.PrintService[] getPrintServices(javax.print.attribute.PrintServiceAttributeSet);
descriptor: (Ljavax/print/attribute/PrintServiceAttributeSet;)[Ljavax/print/PrintService;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
invokeinterface javax.print.attribute.PrintServiceAttributeSet.isEmpty:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.print.UnixPrintServiceLookup.getPrintServices:()[Ljavax/print/PrintService;
areturn
2: StackMap locals:
StackMap stack:
aload 1
ldc Ljavax/print/attribute/standard/PrinterName;
invokeinterface javax.print.attribute.PrintServiceAttributeSet.get:(Ljava/lang/Class;)Ljavax/print/attribute/Attribute;
checkcast javax.print.attribute.standard.PrinterName
astore 3
start local 3 3: aload 3
ifnull 20
aload 0
invokevirtual sun.print.UnixPrintServiceLookup.getDefaultPrintService:()Ljavax/print/PrintService;
dup
astore 4
start local 4 4: ifnull 20
5: aload 4
ldc Ljavax/print/attribute/standard/PrinterName;
invokeinterface javax.print.PrintService.getAttribute:(Ljava/lang/Class;)Ljavax/print/attribute/PrintServiceAttribute;
checkcast javax.print.attribute.standard.PrinterName
6: astore 5
start local 5 7: aload 5
ifnull 13
aload 3
aload 5
invokevirtual javax.print.attribute.standard.PrinterName.equals:(Ljava/lang/Object;)Z
ifeq 13
8: aload 0
aload 4
aload 1
invokevirtual sun.print.UnixPrintServiceLookup.matchesAttributes:(Ljavax/print/PrintService;Ljavax/print/attribute/PrintServiceAttributeSet;)Z
ifeq 12
9: iconst_1
anewarray javax.print.PrintService
astore 2
start local 2 10: aload 2
iconst_0
aload 4
aastore
11: aload 2
areturn
end local 2 12: StackMap locals: sun.print.UnixPrintServiceLookup javax.print.attribute.PrintServiceAttributeSet top javax.print.attribute.standard.PrinterName javax.print.PrintService javax.print.attribute.standard.PrinterName
StackMap stack:
iconst_0
anewarray javax.print.PrintService
areturn
13: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual sun.print.UnixPrintServiceLookup.getServiceByName:(Ljavax/print/attribute/standard/PrinterName;)Ljavax/print/PrintService;
astore 6
start local 6 14: aload 6
ifnull 19
15: aload 0
aload 6
aload 1
invokevirtual sun.print.UnixPrintServiceLookup.matchesAttributes:(Ljavax/print/PrintService;Ljavax/print/attribute/PrintServiceAttributeSet;)Z
ifeq 19
16: iconst_1
anewarray javax.print.PrintService
astore 2
start local 2 17: aload 2
iconst_0
aload 6
aastore
18: aload 2
areturn
end local 2 19: StackMap locals: javax.print.PrintService
StackMap stack:
iconst_0
anewarray javax.print.PrintService
areturn
end local 6 end local 5 end local 4 20: StackMap locals:
StackMap stack:
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 5
start local 5 21: aload 0
invokevirtual sun.print.UnixPrintServiceLookup.getPrintServices:()[Ljavax/print/PrintService;
astore 2
start local 2 22: iconst_0
istore 6
start local 6 23: goto 27
24: StackMap locals: sun.print.UnixPrintServiceLookup javax.print.attribute.PrintServiceAttributeSet javax.print.PrintService[] javax.print.attribute.standard.PrinterName top java.util.Vector int
StackMap stack:
aload 0
aload 2
iload 6
aaload
aload 1
invokevirtual sun.print.UnixPrintServiceLookup.matchesAttributes:(Ljavax/print/PrintService;Ljavax/print/attribute/PrintServiceAttributeSet;)Z
ifeq 26
25: aload 5
aload 2
iload 6
aaload
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
26: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
27: iload 6
aload 2
arraylength
if_icmplt 24
end local 6 28: aload 5
invokevirtual java.util.Vector.size:()I
anewarray javax.print.PrintService
astore 2
29: iconst_0
istore 6
start local 6 30: goto 33
31: StackMap locals:
StackMap stack:
aload 2
iload 6
aload 5
iload 6
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast javax.print.PrintService
aastore
32: iinc 6 1
StackMap locals:
StackMap stack:
33: iload 6
aload 2
arraylength
if_icmplt 31
end local 6 34: aload 2
areturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lsun/print/UnixPrintServiceLookup;
0 35 1 serviceSet Ljavax/print/attribute/PrintServiceAttributeSet;
10 12 2 services [Ljavax/print/PrintService;
17 19 2 services [Ljavax/print/PrintService;
22 35 2 services [Ljavax/print/PrintService;
3 35 3 name Ljavax/print/attribute/standard/PrinterName;
4 20 4 defService Ljavax/print/PrintService;
7 20 5 defName Ljavax/print/attribute/standard/PrinterName;
14 20 6 service Ljavax/print/PrintService;
21 35 5 matchedServices Ljava/util/Vector;
23 28 6 i I
30 34 6 i I
MethodParameters:
Name Flags
serviceSet
public javax.print.PrintService[] getPrintServices(javax.print.DocFlavor, javax.print.attribute.AttributeSet);
descriptor: (Ljavax/print/DocFlavor;Ljavax/print/attribute/AttributeSet;)[Ljavax/print/PrintService;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 3
invokevirtual java.lang.SecurityManager.checkPrintJobAccess:()V
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
aconst_null
astore 4
start local 4 4: aconst_null
astore 5
start local 5 5: aload 2
ifnull 18
aload 2
invokeinterface javax.print.attribute.AttributeSet.isEmpty:()Z
ifne 18
6: new javax.print.attribute.HashPrintRequestAttributeSet
dup
invokespecial javax.print.attribute.HashPrintRequestAttributeSet.<init>:()V
astore 4
7: new javax.print.attribute.HashPrintServiceAttributeSet
dup
invokespecial javax.print.attribute.HashPrintServiceAttributeSet.<init>:()V
astore 5
8: aload 2
invokeinterface javax.print.attribute.AttributeSet.toArray:()[Ljavax/print/attribute/Attribute;
astore 6
start local 6 9: iconst_0
istore 7
start local 7 10: goto 17
11: StackMap locals: sun.print.UnixPrintServiceLookup javax.print.DocFlavor javax.print.attribute.AttributeSet java.lang.SecurityManager javax.print.attribute.PrintRequestAttributeSet javax.print.attribute.PrintServiceAttributeSet javax.print.attribute.Attribute[] int
StackMap stack:
aload 6
iload 7
aaload
instanceof javax.print.attribute.PrintRequestAttribute
ifeq 14
12: aload 4
aload 6
iload 7
aaload
invokeinterface javax.print.attribute.PrintRequestAttributeSet.add:(Ljavax/print/attribute/Attribute;)Z
pop
13: goto 16
StackMap locals:
StackMap stack:
14: aload 6
iload 7
aaload
instanceof javax.print.attribute.PrintServiceAttribute
ifeq 16
15: aload 5
aload 6
iload 7
aaload
invokeinterface javax.print.attribute.PrintServiceAttributeSet.add:(Ljavax/print/attribute/Attribute;)Z
pop
16: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
17: iload 7
aload 6
arraylength
if_icmplt 11
end local 7 end local 6 18: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual sun.print.UnixPrintServiceLookup.getPrintServices:(Ljavax/print/attribute/PrintServiceAttributeSet;)[Ljavax/print/PrintService;
astore 6
start local 6 19: aload 6
arraylength
ifne 21
20: aload 6
areturn
21: StackMap locals: javax.print.PrintService[]
StackMap stack:
invokestatic sun.print.CUPSPrinter.isCupsRunning:()Z
ifeq 35
22: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
start local 7 23: iconst_0
istore 8
start local 8 24: goto 32
25: StackMap locals: java.util.ArrayList int
StackMap stack:
aload 6
iload 8
aaload
26: aload 1
aload 4
invokeinterface javax.print.PrintService.getUnsupportedAttributes:(Ljavax/print/DocFlavor;Ljavax/print/attribute/AttributeSet;)Ljavax/print/attribute/AttributeSet;
27: ifnonnull 31
28: aload 7
aload 6
iload 8
aaload
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
29: goto 31
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
30: pop
31: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
32: iload 8
aload 6
arraylength
if_icmplt 25
end local 8 33: aload 7
invokevirtual java.util.ArrayList.size:()I
anewarray javax.print.PrintService
astore 6
34: aload 7
aload 6
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast javax.print.PrintService[]
areturn
end local 7 35: StackMap locals:
StackMap stack:
aload 6
iconst_0
aaload
astore 7
start local 7 36: aload 1
ifnull 38
37: aload 7
aload 1
invokeinterface javax.print.PrintService.isDocFlavorSupported:(Ljavax/print/DocFlavor;)Z
ifeq 40
38: StackMap locals: javax.print.PrintService
StackMap stack:
aload 7
aload 1
aload 4
invokeinterface javax.print.PrintService.getUnsupportedAttributes:(Ljavax/print/DocFlavor;Ljavax/print/attribute/AttributeSet;)Ljavax/print/attribute/AttributeSet;
ifnonnull 40
39: aload 6
areturn
40: StackMap locals:
StackMap stack:
iconst_0
anewarray javax.print.PrintService
areturn
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 41 0 this Lsun/print/UnixPrintServiceLookup;
0 41 1 flavor Ljavax/print/DocFlavor;
0 41 2 attributes Ljavax/print/attribute/AttributeSet;
1 41 3 security Ljava/lang/SecurityManager;
4 41 4 requestSet Ljavax/print/attribute/PrintRequestAttributeSet;
5 41 5 serviceSet Ljavax/print/attribute/PrintServiceAttributeSet;
9 18 6 attrs [Ljavax/print/attribute/Attribute;
10 18 7 i I
19 41 6 services [Ljavax/print/PrintService;
23 35 7 matchingServices Ljava/util/ArrayList;
24 33 8 i I
36 41 7 service Ljavax/print/PrintService;
Exception table:
from to target type
25 29 30 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
flavor
attributes
public javax.print.MultiDocPrintService[] getMultiDocPrintServices(javax.print.DocFlavor[], javax.print.attribute.AttributeSet);
descriptor: ([Ljavax/print/DocFlavor;Ljavax/print/attribute/AttributeSet;)[Ljavax/print/MultiDocPrintService;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 3
invokevirtual java.lang.SecurityManager.checkPrintJobAccess:()V
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
iconst_0
anewarray javax.print.MultiDocPrintService
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/print/UnixPrintServiceLookup;
0 4 1 flavors [Ljavax/print/DocFlavor;
0 4 2 attributes Ljavax/print/attribute/AttributeSet;
1 4 3 security Ljava/lang/SecurityManager;
MethodParameters:
Name Flags
flavors
attributes
public synchronized javax.print.PrintService getDefaultPrintService();
descriptor: ()Ljavax/print/PrintService;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=8, locals=3, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
invokevirtual java.lang.SecurityManager.checkPrintJobAccess:()V
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 0
aconst_null
putfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
4: new java.lang.StringBuilder
dup
ldc "isRunning ? "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: invokestatic sun.print.CUPSPrinter.isCupsRunning:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
6: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.print.IPPPrintService.debug_println:(Ljava/lang/String;)V
7: invokestatic sun.print.CUPSPrinter.isCupsRunning:()Z
ifeq 10
8: aload 0
invokestatic sun.print.CUPSPrinter.getDefaultPrinter:()Ljava/lang/String;
putfield sun.print.UnixPrintServiceLookup.defaultPrinter:Ljava/lang/String;
9: goto 14
10: StackMap locals:
StackMap stack:
invokestatic sun.print.UnixPrintServiceLookup.isSysV:()Z
ifeq 13
11: aload 0
aload 0
invokevirtual sun.print.UnixPrintServiceLookup.getDefaultPrinterNameSysV:()Ljava/lang/String;
putfield sun.print.UnixPrintServiceLookup.defaultPrinter:Ljava/lang/String;
12: goto 14
13: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual sun.print.UnixPrintServiceLookup.getDefaultPrinterNameBSD:()Ljava/lang/String;
putfield sun.print.UnixPrintServiceLookup.defaultPrinter:Ljava/lang/String;
14: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.UnixPrintServiceLookup.defaultPrinter:Ljava/lang/String;
ifnonnull 16
15: aconst_null
areturn
16: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
17: aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
ifnull 25
18: iconst_0
istore 2
start local 2 19: goto 24
20: StackMap locals: int
StackMap stack:
aload 0
getfield sun.print.UnixPrintServiceLookup.defaultPrinter:Ljava/lang/String;
aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
iload 2
aaload
invokeinterface javax.print.PrintService.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
21: aload 0
aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
iload 2
aaload
putfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
22: goto 25
23: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
24: iload 2
aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
arraylength
if_icmplt 20
end local 2 25: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
ifnonnull 40
26: invokestatic sun.print.CUPSPrinter.isCupsRunning:()Z
ifeq 39
27: new sun.print.IPPPrintService
dup
aload 0
getfield sun.print.UnixPrintServiceLookup.defaultPrinter:Ljava/lang/String;
28: new java.net.URL
dup
new java.lang.StringBuilder
dup
ldc "http://"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
29: invokestatic sun.print.CUPSPrinter.getServer:()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;
30: invokestatic sun.print.CUPSPrinter.getPort:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
31: aload 0
getfield sun.print.UnixPrintServiceLookup.defaultPrinter:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
32: invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
33: invokespecial sun.print.IPPPrintService.<init>:(Ljava/lang/String;Ljava/net/URL;)V
34: astore 2
start local 2 35: aload 0
aload 2
putfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
end local 2 36: goto 40
StackMap locals:
StackMap stack: java.lang.Exception
37: pop
38: goto 40
39: StackMap locals:
StackMap stack:
aload 0
new sun.print.UnixPrintService
dup
aload 0
getfield sun.print.UnixPrintServiceLookup.defaultPrinter:Ljava/lang/String;
invokespecial sun.print.UnixPrintService.<init>:(Ljava/lang/String;)V
putfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
40: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.UnixPrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lsun/print/UnixPrintServiceLookup;
1 41 1 security Ljava/lang/SecurityManager;
19 25 2 j I
35 36 2 defaultPS Ljavax/print/PrintService;
Exception table:
from to target type
27 36 37 Class java.lang.Exception
public synchronized void getServicesInbackground(sun.print.BackgroundLookupListener);
descriptor: (Lsun/print/BackgroundLookupListener;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
ifnull 3
1: aload 1
aload 0
getfield sun.print.UnixPrintServiceLookup.printServices:[Ljavax/print/PrintService;
invokeinterface sun.print.BackgroundLookupListener.notifyServices:([Ljavax/print/PrintService;)V
2: goto 10
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.UnixPrintServiceLookup.lookupListeners:Ljava/util/Vector;
ifnonnull 9
4: aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield sun.print.UnixPrintServiceLookup.lookupListeners:Ljava/util/Vector;
5: aload 0
getfield sun.print.UnixPrintServiceLookup.lookupListeners:Ljava/util/Vector;
aload 1
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
6: new java.lang.Thread
dup
aload 0
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
astore 2
start local 2 7: aload 2
invokevirtual java.lang.Thread.start:()V
end local 2 8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.UnixPrintServiceLookup.lookupListeners:Ljava/util/Vector;
aload 1
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/print/UnixPrintServiceLookup;
0 11 1 listener Lsun/print/BackgroundLookupListener;
7 8 2 lookupThread Ljava/lang/Thread;
MethodParameters:
Name Flags
listener
private javax.print.PrintService[] copyOf(javax.print.PrintService[]);
descriptor: ([Ljavax/print/PrintService;)[Ljavax/print/PrintService;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
arraylength
ifne 2
1: StackMap locals:
StackMap stack:
aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
arraylength
anewarray javax.print.PrintService
astore 2
start local 2 3: aload 1
iconst_0
aload 2
iconst_0
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/print/UnixPrintServiceLookup;
0 5 1 inArr [Ljavax/print/PrintService;
3 5 2 outArr [Ljavax/print/PrintService;
MethodParameters:
Name Flags
inArr
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual sun.print.UnixPrintServiceLookup.getPrintServices:()[Ljavax/print/PrintService;
astore 1
start local 1 1: aload 0
dup
astore 2
monitorenter
2: iconst_0
istore 4
start local 4 3: goto 8
4: StackMap locals: sun.print.UnixPrintServiceLookup javax.print.PrintService[] sun.print.UnixPrintServiceLookup top int
StackMap stack:
aload 0
getfield sun.print.UnixPrintServiceLookup.lookupListeners:Ljava/util/Vector;
iload 4
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast sun.print.BackgroundLookupListener
5: astore 3
start local 3 6: aload 3
aload 0
aload 1
invokevirtual sun.print.UnixPrintServiceLookup.copyOf:([Ljavax/print/PrintService;)[Ljavax/print/PrintService;
invokeinterface sun.print.BackgroundLookupListener.notifyServices:([Ljavax/print/PrintService;)V
7: iinc 4 1
end local 3 StackMap locals:
StackMap stack:
8: iload 4
aload 0
getfield sun.print.UnixPrintServiceLookup.lookupListeners:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
if_icmplt 4
end local 4 9: aload 0
aconst_null
putfield sun.print.UnixPrintServiceLookup.lookupListeners:Ljava/util/Vector;
10: aload 2
monitorexit
11: goto 14
StackMap locals: sun.print.UnixPrintServiceLookup javax.print.PrintService[] sun.print.UnixPrintServiceLookup
StackMap stack: java.lang.Throwable
12: aload 2
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/print/UnixPrintServiceLookup;
1 15 1 services [Ljavax/print/PrintService;
6 8 3 listener Lsun/print/BackgroundLookupListener;
3 9 4 i I
Exception table:
from to target type
2 11 12 any
12 13 12 any
private java.lang.String getDefaultPrinterNameBSD();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic sun.print.UnixPrintServiceLookup.cmdIndex:I
iconst_m1
if_icmpne 2
1: invokestatic sun.print.UnixPrintServiceLookup.getBSDCommandIndex:()I
putstatic sun.print.UnixPrintServiceLookup.cmdIndex:I
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.UnixPrintServiceLookup.lpcFirstCom:[Ljava/lang/String;
getstatic sun.print.UnixPrintServiceLookup.cmdIndex:I
aaload
invokestatic sun.print.UnixPrintServiceLookup.execCmd:(Ljava/lang/String;)[Ljava/lang/String;
astore 1
start local 1 3: aload 1
ifnull 4
aload 1
arraylength
ifne 5
4: StackMap locals: java.lang.String[]
StackMap stack:
aconst_null
areturn
5: StackMap locals:
StackMap stack:
getstatic sun.print.UnixPrintServiceLookup.cmdIndex:I
iconst_1
if_icmpne 8
6: aload 1
iconst_0
aaload
ldc "missingprinter"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 8
7: aconst_null
areturn
8: StackMap locals:
StackMap stack:
aload 1
iconst_0
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/print/UnixPrintServiceLookup;
3 9 1 names [Ljava/lang/String;
private javax.print.PrintService getNamedPrinterNameBSD(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/print/PrintService;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: getstatic sun.print.UnixPrintServiceLookup.cmdIndex:I
iconst_m1
if_icmpne 2
1: invokestatic sun.print.UnixPrintServiceLookup.getBSDCommandIndex:()I
putstatic sun.print.UnixPrintServiceLookup.cmdIndex:I
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "/usr/sbin/lpc status "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.print.UnixPrintServiceLookup.lpcNameCom:[Ljava/lang/String;
getstatic sun.print.UnixPrintServiceLookup.cmdIndex:I
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 3: aload 2
invokestatic sun.print.UnixPrintServiceLookup.execCmd:(Ljava/lang/String;)[Ljava/lang/String;
astore 3
start local 3 4: aload 3
ifnull 5
aload 3
iconst_0
aaload
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
5: StackMap locals: java.lang.String java.lang.String[]
StackMap stack:
aconst_null
areturn
6: StackMap locals:
StackMap stack:
new sun.print.UnixPrintService
dup
aload 1
invokespecial sun.print.UnixPrintService.<init>:(Ljava/lang/String;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/print/UnixPrintServiceLookup;
0 7 1 name Ljava/lang/String;
3 7 2 command Ljava/lang/String;
4 7 3 result [Ljava/lang/String;
MethodParameters:
Name Flags
name
private java.lang.String[] getAllPrinterNamesBSD();
descriptor: ()[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic sun.print.UnixPrintServiceLookup.cmdIndex:I
iconst_m1
if_icmpne 2
1: invokestatic sun.print.UnixPrintServiceLookup.getBSDCommandIndex:()I
putstatic sun.print.UnixPrintServiceLookup.cmdIndex:I
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.UnixPrintServiceLookup.lpcAllCom:[Ljava/lang/String;
getstatic sun.print.UnixPrintServiceLookup.cmdIndex:I
aaload
invokestatic sun.print.UnixPrintServiceLookup.execCmd:(Ljava/lang/String;)[Ljava/lang/String;
astore 1
start local 1 3: aload 1
ifnull 4
aload 1
arraylength
ifne 5
4: StackMap locals: java.lang.String[]
StackMap stack:
aconst_null
areturn
5: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/print/UnixPrintServiceLookup;
3 6 1 names [Ljava/lang/String;
private java.lang.String getDefaultPrinterNameSysV();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=1
start local 0 0: ldc "lp"
astore 1
start local 1 1: ldc "/usr/bin/lpstat -d"
astore 2
start local 2 2: aload 2
invokestatic sun.print.UnixPrintServiceLookup.execCmd:(Ljava/lang/String;)[Ljava/lang/String;
astore 3
start local 3 3: aload 3
ifnull 4
aload 3
arraylength
ifne 5
4: StackMap locals: java.lang.String java.lang.String java.lang.String[]
StackMap stack:
aload 1
areturn
5: StackMap locals:
StackMap stack:
aload 3
iconst_0
aaload
ldc ":"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 4
start local 4 6: iload 4
iconst_m1
if_icmpeq 7
aload 3
iconst_0
aaload
invokevirtual java.lang.String.length:()I
iload 4
iconst_1
iadd
if_icmpgt 8
7: StackMap locals: int
StackMap stack:
aconst_null
areturn
8: StackMap locals:
StackMap stack:
aload 3
iconst_0
aaload
iload 4
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 5
start local 5 9: aload 5
invokevirtual java.lang.String.length:()I
ifne 11
10: aconst_null
areturn
11: StackMap locals: java.lang.String
StackMap stack:
aload 5
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 12 0 this Lsun/print/UnixPrintServiceLookup;
1 12 1 defaultPrinter Ljava/lang/String;
2 12 2 command Ljava/lang/String;
3 12 3 names [Ljava/lang/String;
6 12 4 index I
9 12 5 name Ljava/lang/String;
private javax.print.PrintService getNamedPrinterNameSysV(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/print/PrintService;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "/usr/bin/lpstat -v "
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 2
start local 2 1: aload 2
invokestatic sun.print.UnixPrintServiceLookup.execCmd:(Ljava/lang/String;)[Ljava/lang/String;
astore 3
start local 3 2: aload 3
ifnull 3
aload 3
iconst_0
aaload
ldc "unknown printer"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
ifle 4
3: StackMap locals: java.lang.String java.lang.String[]
StackMap stack:
aconst_null
areturn
4: StackMap locals:
StackMap stack:
new sun.print.UnixPrintService
dup
aload 1
invokespecial sun.print.UnixPrintService.<init>:(Ljava/lang/String;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/print/UnixPrintServiceLookup;
0 5 1 name Ljava/lang/String;
1 5 2 command Ljava/lang/String;
2 5 3 result [Ljava/lang/String;
MethodParameters:
Name Flags
name
private java.lang.String[] getAllPrinterNamesSysV();
descriptor: ()[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=1
start local 0 0: ldc "lp"
astore 1
start local 1 1: ldc "/usr/bin/lpstat -v|/usr/bin/expand|/usr/bin/cut -f3 -d' ' |/usr/bin/cut -f1 -d':' | /usr/bin/sort"
astore 2
start local 2 2: aload 2
invokestatic sun.print.UnixPrintServiceLookup.execCmd:(Ljava/lang/String;)[Ljava/lang/String;
astore 3
start local 3 3: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: goto 11
6: StackMap locals: sun.print.UnixPrintServiceLookup java.lang.String java.lang.String java.lang.String[] java.util.ArrayList int
StackMap stack:
aload 3
iload 5
aaload
ldc "_default"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
7: aload 3
iload 5
aaload
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
8: aload 3
iload 5
aaload
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
9: aload 4
aload 3
iload 5
aaload
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
10: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
aload 3
arraylength
if_icmplt 6
end local 5 12: aload 4
aload 4
invokevirtual java.util.ArrayList.size:()I
anewarray java.lang.String
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/print/UnixPrintServiceLookup;
1 13 1 defaultPrinter Ljava/lang/String;
2 13 2 command Ljava/lang/String;
3 13 3 names [Ljava/lang/String;
4 13 4 printerNames Ljava/util/ArrayList;
5 12 5 i I
static java.lang.String[] execCmd(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: iconst_3
anewarray java.lang.String
astore 2
start local 2 2: invokestatic sun.print.UnixPrintServiceLookup.isSysV:()Z
ifeq 7
3: aload 2
iconst_0
ldc "/usr/bin/sh"
aastore
4: aload 2
iconst_1
ldc "-c"
aastore
5: aload 2
iconst_2
new java.lang.StringBuilder
dup
ldc "env LC_ALL=C "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
6: goto 10
7: StackMap locals: java.util.ArrayList java.lang.String[]
StackMap stack:
aload 2
iconst_0
ldc "/bin/sh"
aastore
8: aload 2
iconst_1
ldc "-c"
aastore
9: aload 2
iconst_2
new java.lang.StringBuilder
dup
ldc "LC_ALL=C "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
10: StackMap locals:
StackMap stack:
new sun.print.UnixPrintServiceLookup$1
dup
aload 2
invokespecial sun.print.UnixPrintServiceLookup$1.<init>:([Ljava/lang/String;)V
11: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast java.util.ArrayList
astore 1
end local 2 12: goto 14
StackMap locals: java.lang.String java.util.ArrayList
StackMap stack: java.security.PrivilegedActionException
13: pop
14: StackMap locals:
StackMap stack:
aload 1
ifnonnull 16
15: iconst_0
anewarray java.lang.String
areturn
16: StackMap locals:
StackMap stack:
aload 1
aload 1
invokevirtual java.util.ArrayList.size:()I
anewarray java.lang.String
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 command Ljava/lang/String;
1 17 1 results Ljava/util/ArrayList;
2 12 2 cmd [Ljava/lang/String;
Exception table:
from to target type
1 12 13 Class java.security.PrivilegedActionException
MethodParameters:
Name Flags
command final
}
SourceFile: "UnixPrintServiceLookup.java"
NestMembers:
sun.print.UnixPrintServiceLookup$1 sun.print.UnixPrintServiceLookup$PrinterChangeListener
InnerClasses:
sun.print.UnixPrintServiceLookup$1
private PrinterChangeListener = sun.print.UnixPrintServiceLookup$PrinterChangeListener of sun.print.UnixPrintServiceLookup