public class sun.awt.X11.XClipboard extends sun.awt.datatransfer.SunClipboard implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.awt.X11.XClipboard
super_class: sun.awt.datatransfer.SunClipboard
{
private final sun.awt.X11.XSelection selection;
descriptor: Lsun/awt/X11/XSelection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final java.lang.Object classLock;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int defaultPollInterval;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 200
private static int pollInterval;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.util.Set listenedClipboards;
descriptor: Ljava/util/Set;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic sun.awt.X11.XClipboard.classLock:Ljava/lang/Object;
1: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial sun.awt.datatransfer.SunClipboard.<init>:(Ljava/lang/String;)V
1: aload 0
new sun.awt.X11.XSelection
dup
aload 2
invokestatic sun.awt.X11.XAtom.get:(Ljava/lang/String;)Lsun/awt/X11/XAtom;
aload 0
invokespecial sun.awt.X11.XSelection.<init>:(Lsun/awt/X11/XAtom;Lsun/awt/X11/XClipboard;)V
putfield sun.awt.X11.XClipboard.selection:Lsun/awt/X11/XSelection;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/awt/X11/XClipboard;
0 3 1 name Ljava/lang/String;
0 3 2 selectionName Ljava/lang/String;
MethodParameters:
Name Flags
name
selectionName
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.awt.X11.XClipboard.lostOwnershipImpl:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/awt/X11/XClipboard;
protected synchronized void setContentsNative(java.awt.datatransfer.Transferable);
descriptor: (Ljava/awt/datatransfer/Transferable;)V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: invokestatic sun.awt.datatransfer.DataTransferer.getInstance:()Lsun/awt/datatransfer/DataTransferer;
1: aload 1
invokestatic sun.awt.X11.XClipboard.getDefaultFlavorTable:()Ljava/awt/datatransfer/FlavorTable;
invokestatic sun.awt.datatransfer.DataTransferer.adaptFlavorMap:(Ljava/awt/datatransfer/FlavorMap;)Ljava/awt/datatransfer/FlavorTable;
2: invokevirtual sun.awt.datatransfer.DataTransferer.getFormatsForTransferable:(Ljava/awt/datatransfer/Transferable;Ljava/awt/datatransfer/FlavorTable;)Ljava/util/SortedMap;
astore 2
start local 2 3: invokestatic sun.awt.datatransfer.DataTransferer.getInstance:()Lsun/awt/datatransfer/DataTransferer;
pop
aload 2
invokestatic sun.awt.datatransfer.DataTransferer.keysToLongArray:(Ljava/util/SortedMap;)[J
4: astore 3
start local 3 5: aload 0
getfield sun.awt.X11.XClipboard.selection:Lsun/awt/X11/XSelection;
aload 1
aload 2
aload 3
6: invokestatic sun.awt.X11.XToolkit.getCurrentServerTime:()J
7: invokevirtual sun.awt.X11.XSelection.setOwner:(Ljava/awt/datatransfer/Transferable;Ljava/util/Map;[JJ)Z
8: ifne 11
9: aload 0
aconst_null
putfield sun.awt.X11.XClipboard.owner:Ljava/awt/datatransfer/ClipboardOwner;
10: aload 0
aconst_null
putfield sun.awt.X11.XClipboard.contents:Ljava/awt/datatransfer/Transferable;
11: StackMap locals: java.util.SortedMap long[]
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/awt/X11/XClipboard;
0 12 1 contents Ljava/awt/datatransfer/Transferable;
3 12 2 formatMap Ljava/util/SortedMap;
5 12 3 formats [J
MethodParameters:
Name Flags
contents
public long getID();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.X11.XClipboard.selection:Lsun/awt/X11/XSelection;
invokevirtual sun.awt.X11.XSelection.getSelectionAtom:()Lsun/awt/X11/XAtom;
invokevirtual sun.awt.X11.XAtom.getAtom:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/X11/XClipboard;
public synchronized java.awt.datatransfer.Transferable getContents(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/awt/datatransfer/Transferable;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.awt.X11.XClipboard.contents:Ljava/awt/datatransfer/Transferable;
ifnull 2
1: aload 0
getfield sun.awt.X11.XClipboard.contents:Ljava/awt/datatransfer/Transferable;
areturn
2: StackMap locals:
StackMap stack:
new sun.awt.datatransfer.ClipboardTransferable
dup
aload 0
invokespecial sun.awt.datatransfer.ClipboardTransferable.<init>:(Lsun/awt/datatransfer/SunClipboard;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/awt/X11/XClipboard;
0 3 1 requestor Ljava/lang/Object;
MethodParameters:
Name Flags
requestor
protected void clearNativeContext();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.X11.XClipboard.selection:Lsun/awt/X11/XSelection;
invokevirtual sun.awt.X11.XSelection.reset:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/awt/X11/XClipboard;
protected long[] getClipboardFormats();
descriptor: ()[J
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.X11.XClipboard.selection:Lsun/awt/X11/XSelection;
invokestatic sun.awt.X11.XToolkit.getCurrentServerTime:()J
invokevirtual sun.awt.X11.XSelection.getTargets:(J)[J
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/X11/XClipboard;
protected byte[] getClipboardData(long);
descriptor: (J)[B
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.awt.X11.XClipboard.selection:Lsun/awt/X11/XSelection;
lload 1
invokestatic sun.awt.X11.XToolkit.getCurrentServerTime:()J
invokevirtual sun.awt.X11.XSelection.getData:(JJ)[B
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/X11/XClipboard;
0 1 1 format J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
format
public void checkChange(long[]);
descriptor: ([J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.awt.X11.XClipboard.selection:Lsun/awt/X11/XSelection;
invokevirtual sun.awt.X11.XSelection.isOwner:()Z
ifne 2
1: aload 0
aload 1
invokespecial sun.awt.datatransfer.SunClipboard.checkChange:([J)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/awt/X11/XClipboard;
0 3 1 formats [J
MethodParameters:
Name Flags
formats
void checkChangeHere(java.awt.datatransfer.Transferable);
descriptor: (Ljava/awt/datatransfer/Transferable;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.awt.X11.XClipboard.areFlavorListenersRegistered:()Z
ifeq 4
1: aload 0
invokestatic sun.awt.datatransfer.DataTransferer.getInstance:()Lsun/awt/datatransfer/DataTransferer;
2: aload 1
invokestatic sun.awt.X11.XClipboard.getDefaultFlavorTable:()Ljava/awt/datatransfer/FlavorTable;
invokevirtual sun.awt.datatransfer.DataTransferer.getFormatsForTransferableAsArray:(Ljava/awt/datatransfer/Transferable;Ljava/awt/datatransfer/FlavorTable;)[J
3: invokespecial sun.awt.datatransfer.SunClipboard.checkChange:([J)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/awt/X11/XClipboard;
0 5 1 contents Ljava/awt/datatransfer/Transferable;
MethodParameters:
Name Flags
contents
protected void registerClipboardViewerChecked();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=1
start local 0 0: getstatic sun.awt.X11.XClipboard.pollInterval:I
ifgt 9
1: new sun.security.action.GetIntegerAction
dup
ldc "awt.datatransfer.clipboard.poll.interval"
2: sipush 200
3: invokespecial sun.security.action.GetIntegerAction.<init>:(Ljava/lang/String;I)V
4: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Integer
5: invokevirtual java.lang.Integer.intValue:()I
6: putstatic sun.awt.X11.XClipboard.pollInterval:I
7: getstatic sun.awt.X11.XClipboard.pollInterval:I
ifgt 9
8: sipush 200
putstatic sun.awt.X11.XClipboard.pollInterval:I
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.X11.XClipboard.selection:Lsun/awt/X11/XSelection;
invokevirtual sun.awt.X11.XSelection.initializeSelectionForTrackingChanges:()V
10: iconst_0
istore 1
start local 1 11: getstatic sun.awt.X11.XClipboard.classLock:Ljava/lang/Object;
dup
astore 2
monitorenter
12: getstatic sun.awt.X11.XClipboard.listenedClipboards:Ljava/util/Set;
ifnonnull 14
13: new java.util.HashSet
dup
iconst_2
invokespecial java.util.HashSet.<init>:(I)V
putstatic sun.awt.X11.XClipboard.listenedClipboards:Ljava/util/Set;
14: StackMap locals: int java.lang.Object
StackMap stack:
getstatic sun.awt.X11.XClipboard.listenedClipboards:Ljava/util/Set;
invokeinterface java.util.Set.isEmpty:()Z
istore 1
15: getstatic sun.awt.X11.XClipboard.listenedClipboards:Ljava/util/Set;
aload 0
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
16: aload 2
monitorexit
17: goto 20
StackMap locals:
StackMap stack: java.lang.Throwable
18: aload 2
monitorexit
19: athrow
20: StackMap locals:
StackMap stack:
iload 1
ifeq 22
21: new sun.awt.X11.XClipboard$CheckChangeTimerTask
dup
invokespecial sun.awt.X11.XClipboard$CheckChangeTimerTask.<init>:()V
getstatic sun.awt.X11.XClipboard.pollInterval:I
i2l
invokestatic sun.awt.X11.XToolkit.schedule:(Ljava/lang/Runnable;J)V
22: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/awt/X11/XClipboard;
11 23 1 mustSchedule Z
Exception table:
from to target type
12 17 18 any
18 19 18 any
protected void unregisterClipboardViewerChecked();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.awt.X11.XClipboard.selection:Lsun/awt/X11/XSelection;
invokevirtual sun.awt.X11.XSelection.deinitializeSelectionForTrackingChanges:()V
1: getstatic sun.awt.X11.XClipboard.classLock:Ljava/lang/Object;
dup
astore 1
monitorenter
2: getstatic sun.awt.X11.XClipboard.listenedClipboards:Ljava/util/Set;
aload 0
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
3: aload 1
monitorexit
4: goto 7
StackMap locals: sun.awt.X11.XClipboard java.lang.Object
StackMap stack: java.lang.Throwable
5: aload 1
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/awt/X11/XClipboard;
Exception table:
from to target type
2 4 5 any
5 6 5 any
}
SourceFile: "XClipboard.java"
NestMembers:
sun.awt.X11.XClipboard$CheckChangeTimerTask
InnerClasses:
private CheckChangeTimerTask = sun.awt.X11.XClipboard$CheckChangeTimerTask of sun.awt.X11.XClipboard