class javafx.scene.control.TreeView$TreeViewFocusModel<T> extends javafx.scene.control.FocusModel<javafx.scene.control.TreeItem<T>>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: javafx.scene.control.TreeView$TreeViewFocusModel
super_class: javafx.scene.control.FocusModel
{
private final javafx.scene.control.TreeView<T> treeView;
descriptor: Ljavafx/scene/control/TreeView;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljavafx/scene/control/TreeView<TT;>;
private final javafx.beans.value.ChangeListener<javafx.scene.control.TreeItem<T>> rootPropertyListener;
descriptor: Ljavafx/beans/value/ChangeListener;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljavafx/beans/value/ChangeListener<Ljavafx/scene/control/TreeItem<TT;>;>;
private final javafx.beans.value.WeakChangeListener<javafx.scene.control.TreeItem<T>> weakRootPropertyListener;
descriptor: Ljavafx/beans/value/WeakChangeListener;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljavafx/beans/value/WeakChangeListener<Ljavafx/scene/control/TreeItem<TT;>;>;
private javafx.event.EventHandler<javafx.scene.control.TreeItem$TreeModificationEvent<T>> treeItemListener;
descriptor: Ljavafx/event/EventHandler;
flags: (0x0002) ACC_PRIVATE
Signature: Ljavafx/event/EventHandler<Ljavafx/scene/control/TreeItem$TreeModificationEvent<TT;>;>;
private javafx.event.WeakEventHandler<javafx.scene.control.TreeItem$TreeModificationEvent<T>> weakTreeItemListener;
descriptor: Ljavafx/event/WeakEventHandler;
flags: (0x0002) ACC_PRIVATE
Signature: Ljavafx/event/WeakEventHandler<Ljavafx/scene/control/TreeItem$TreeModificationEvent<TT;>;>;
public void <init>(javafx.scene.control.TreeView<T>);
descriptor: (Ljavafx/scene/control/TreeView;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial javafx.scene.control.FocusModel.<init>:()V
1: aload 0
aload 0
invokedynamic changed(Ljavafx/scene/control/TreeView$TreeViewFocusModel;)Ljavafx/beans/value/ChangeListener;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljavafx/beans/value/ObservableValue;Ljava/lang/Object;Ljava/lang/Object;)V
javafx/scene/control/TreeView$TreeViewFocusModel.lambda$0(Ljavafx/beans/value/ObservableValue;Ljavafx/scene/control/TreeItem;Ljavafx/scene/control/TreeItem;)V (7)
(Ljavafx/beans/value/ObservableValue;Ljavafx/scene/control/TreeItem;Ljavafx/scene/control/TreeItem;)V
putfield javafx.scene.control.TreeView$TreeViewFocusModel.rootPropertyListener:Ljavafx/beans/value/ChangeListener;
2: aload 0
3: new javafx.beans.value.WeakChangeListener
dup
aload 0
getfield javafx.scene.control.TreeView$TreeViewFocusModel.rootPropertyListener:Ljavafx/beans/value/ChangeListener;
invokespecial javafx.beans.value.WeakChangeListener.<init>:(Ljavafx/beans/value/ChangeListener;)V
putfield javafx.scene.control.TreeView$TreeViewFocusModel.weakRootPropertyListener:Ljavafx/beans/value/WeakChangeListener;
4: aload 0
new javafx.scene.control.TreeView$TreeViewFocusModel$1
dup
aload 0
invokespecial javafx.scene.control.TreeView$TreeViewFocusModel$1.<init>:(Ljavafx/scene/control/TreeView$TreeViewFocusModel;)V
putfield javafx.scene.control.TreeView$TreeViewFocusModel.treeItemListener:Ljavafx/event/EventHandler;
5: aload 0
aload 1
putfield javafx.scene.control.TreeView$TreeViewFocusModel.treeView:Ljavafx/scene/control/TreeView;
6: aload 0
getfield javafx.scene.control.TreeView$TreeViewFocusModel.treeView:Ljavafx/scene/control/TreeView;
invokevirtual javafx.scene.control.TreeView.rootProperty:()Ljavafx/beans/property/ObjectProperty;
aload 0
getfield javafx.scene.control.TreeView$TreeViewFocusModel.weakRootPropertyListener:Ljavafx/beans/value/WeakChangeListener;
invokevirtual javafx.beans.property.ObjectProperty.addListener:(Ljavafx/beans/value/ChangeListener;)V
7: aload 0
aconst_null
aload 1
invokevirtual javafx.scene.control.TreeView.getRoot:()Ljavafx/scene/control/TreeItem;
invokevirtual javafx.scene.control.TreeView$TreeViewFocusModel.updateTreeEventListener:(Ljavafx/scene/control/TreeItem;Ljavafx/scene/control/TreeItem;)V
8: aload 1
invokevirtual javafx.scene.control.TreeView.getExpandedItemCount:()I
ifle 10
9: aload 0
iconst_0
invokevirtual javafx.scene.control.TreeView$TreeViewFocusModel.focus:(I)V
10: StackMap locals: javafx.scene.control.TreeView$TreeViewFocusModel javafx.scene.control.TreeView
StackMap stack:
aload 1
invokevirtual javafx.scene.control.TreeView.showRootProperty:()Ljavafx/beans/property/BooleanProperty;
aload 0
invokedynamic invalidated(Ljavafx/scene/control/TreeView$TreeViewFocusModel;)Ljavafx/beans/InvalidationListener;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljavafx/beans/Observable;)V
javafx/scene/control/TreeView$TreeViewFocusModel.lambda$1(Ljavafx/beans/Observable;)V (7)
(Ljavafx/beans/Observable;)V
invokevirtual javafx.beans.property.BooleanProperty.addListener:(Ljavafx/beans/InvalidationListener;)V
11: aload 0
invokevirtual javafx.scene.control.TreeView$TreeViewFocusModel.focusedIndexProperty:()Ljavafx/beans/property/ReadOnlyIntegerProperty;
aload 1
invokedynamic invalidated(Ljavafx/scene/control/TreeView;)Ljavafx/beans/InvalidationListener;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljavafx/beans/Observable;)V
javafx/scene/control/TreeView$TreeViewFocusModel.lambda$2(Ljavafx/scene/control/TreeView;Ljavafx/beans/Observable;)V (6)
(Ljavafx/beans/Observable;)V
invokevirtual javafx.beans.property.ReadOnlyIntegerProperty.addListener:(Ljavafx/beans/InvalidationListener;)V
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljavafx/scene/control/TreeView$TreeViewFocusModel<TT;>;
0 13 1 treeView Ljavafx/scene/control/TreeView<TT;>;
Signature: (Ljavafx/scene/control/TreeView<TT;>;)V
MethodParameters:
Name Flags
treeView final
private void updateTreeEventListener(javafx.scene.control.TreeItem<T>, javafx.scene.control.TreeItem<T>);
descriptor: (Ljavafx/scene/control/TreeItem;Ljavafx/scene/control/TreeItem;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 2
aload 0
getfield javafx.scene.control.TreeView$TreeViewFocusModel.weakTreeItemListener:Ljavafx/event/WeakEventHandler;
ifnull 2
1: aload 1
invokestatic javafx.scene.control.TreeItem.expandedItemCountChangeEvent:()Ljavafx/event/EventType;
aload 0
getfield javafx.scene.control.TreeView$TreeViewFocusModel.weakTreeItemListener:Ljavafx/event/WeakEventHandler;
invokevirtual javafx.scene.control.TreeItem.removeEventHandler:(Ljavafx/event/EventType;Ljavafx/event/EventHandler;)V
2: StackMap locals:
StackMap stack:
aload 2
ifnull 5
3: aload 0
new javafx.event.WeakEventHandler
dup
aload 0
getfield javafx.scene.control.TreeView$TreeViewFocusModel.treeItemListener:Ljavafx/event/EventHandler;
invokespecial javafx.event.WeakEventHandler.<init>:(Ljavafx/event/EventHandler;)V
putfield javafx.scene.control.TreeView$TreeViewFocusModel.weakTreeItemListener:Ljavafx/event/WeakEventHandler;
4: aload 2
invokestatic javafx.scene.control.TreeItem.expandedItemCountChangeEvent:()Ljavafx/event/EventType;
aload 0
getfield javafx.scene.control.TreeView$TreeViewFocusModel.weakTreeItemListener:Ljavafx/event/WeakEventHandler;
invokevirtual javafx.scene.control.TreeItem.addEventHandler:(Ljavafx/event/EventType;Ljavafx/event/EventHandler;)V
5: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavafx/scene/control/TreeView$TreeViewFocusModel<TT;>;
0 6 1 oldRoot Ljavafx/scene/control/TreeItem<TT;>;
0 6 2 newRoot Ljavafx/scene/control/TreeItem<TT;>;
Signature: (Ljavafx/scene/control/TreeItem<TT;>;Ljavafx/scene/control/TreeItem<TT;>;)V
MethodParameters:
Name Flags
oldRoot
newRoot
protected int getItemCount();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javafx.scene.control.TreeView$TreeViewFocusModel.treeView:Ljavafx/scene/control/TreeView;
ifnonnull 1
iconst_m1
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield javafx.scene.control.TreeView$TreeViewFocusModel.treeView:Ljavafx/scene/control/TreeView;
invokevirtual javafx.scene.control.TreeView.getExpandedItemCount:()I
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavafx/scene/control/TreeView$TreeViewFocusModel<TT;>;
protected javafx.scene.control.TreeItem<T> getModelItem(int);
descriptor: (I)Ljavafx/scene/control/TreeItem;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield javafx.scene.control.TreeView$TreeViewFocusModel.treeView:Ljavafx/scene/control/TreeView;
ifnonnull 1
aconst_null
areturn
1: StackMap locals:
StackMap stack:
iload 1
iflt 2
iload 1
aload 0
getfield javafx.scene.control.TreeView$TreeViewFocusModel.treeView:Ljavafx/scene/control/TreeView;
invokevirtual javafx.scene.control.TreeView.getExpandedItemCount:()I
if_icmplt 3
StackMap locals:
StackMap stack:
2: aconst_null
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield javafx.scene.control.TreeView$TreeViewFocusModel.treeView:Ljavafx/scene/control/TreeView;
iload 1
invokevirtual javafx.scene.control.TreeView.getTreeItem:(I)Ljavafx/scene/control/TreeItem;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavafx/scene/control/TreeView$TreeViewFocusModel<TT;>;
0 4 1 index I
Signature: (I)Ljavafx/scene/control/TreeItem<TT;>;
MethodParameters:
Name Flags
index
public void focus(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield javafx.scene.control.TreeView$TreeViewFocusModel.treeView:Ljavafx/scene/control/TreeView;
getfield javafx.scene.control.TreeView.expandedItemCountDirty:Z
ifeq 2
1: aload 0
getfield javafx.scene.control.TreeView$TreeViewFocusModel.treeView:Ljavafx/scene/control/TreeView;
aload 0
getfield javafx.scene.control.TreeView$TreeViewFocusModel.treeView:Ljavafx/scene/control/TreeView;
invokevirtual javafx.scene.control.TreeView.getRoot:()Ljavafx/scene/control/TreeItem;
invokevirtual javafx.scene.control.TreeView.updateExpandedItemCount:(Ljavafx/scene/control/TreeItem;)V
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokespecial javafx.scene.control.FocusModel.focus:(I)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavafx/scene/control/TreeView$TreeViewFocusModel<TT;>;
0 4 1 index I
MethodParameters:
Name Flags
index
protected java.lang.Object getModelItem(int);
descriptor: (I)Ljava/lang/Object;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
iload 1
invokevirtual javafx.scene.control.TreeView$TreeViewFocusModel.getModelItem:(I)Ljavafx/scene/control/TreeItem;
areturn
LocalVariableTable:
Start End Slot Name Signature
private void lambda$0(javafx.beans.value.ObservableValue, javafx.scene.control.TreeItem, javafx.scene.control.TreeItem);
descriptor: (Ljavafx/beans/value/ObservableValue;Ljavafx/scene/control/TreeItem;Ljavafx/scene/control/TreeItem;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
aload 3
invokevirtual javafx.scene.control.TreeView$TreeViewFocusModel.updateTreeEventListener:(Ljavafx/scene/control/TreeItem;Ljavafx/scene/control/TreeItem;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavafx/scene/control/TreeView$TreeViewFocusModel<TT;>;
0 2 1 observable Ljavafx/beans/value/ObservableValue<+Ljavafx/scene/control/TreeItem<TT;>;>;
0 2 2 oldValue Ljavafx/scene/control/TreeItem<TT;>;
0 2 3 newValue Ljavafx/scene/control/TreeItem<TT;>;
private void lambda$1(javafx.beans.Observable);
descriptor: (Ljavafx/beans/Observable;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
invokevirtual javafx.scene.control.TreeView$TreeViewFocusModel.isFocused:(I)Z
ifeq 3
1: aload 0
iconst_m1
invokevirtual javafx.scene.control.TreeView$TreeViewFocusModel.focus:(I)V
2: aload 0
iconst_0
invokevirtual javafx.scene.control.TreeView$TreeViewFocusModel.focus:(I)V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavafx/scene/control/TreeView$TreeViewFocusModel<TT;>;
0 4 1 o Ljavafx/beans/Observable;
private static void lambda$2(javafx.scene.control.TreeView, javafx.beans.Observable);
descriptor: (Ljavafx/scene/control/TreeView;Ljavafx/beans/Observable;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
getstatic javafx.scene.AccessibleAttribute.FOCUS_ITEM:Ljavafx/scene/AccessibleAttribute;
invokevirtual javafx.scene.control.TreeView.notifyAccessibleAttributeChanged:(Ljavafx/scene/AccessibleAttribute;)V
1: return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 2 1 o Ljavafx/beans/Observable;
}
Signature: <T:Ljava/lang/Object;>Ljavafx/scene/control/FocusModel<Ljavafx/scene/control/TreeItem<TT;>;>;
SourceFile: "TreeView.java"
NestHost: javafx.scene.control.TreeView
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public TreeModificationEvent = javafx.scene.control.TreeItem$TreeModificationEvent of javafx.scene.control.TreeItem
TreeViewFocusModel = javafx.scene.control.TreeView$TreeViewFocusModel of javafx.scene.control.TreeView
javafx.scene.control.TreeView$TreeViewFocusModel$1