public abstract class javax.swing.JFormattedTextField$AbstractFormatter implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: javax.swing.JFormattedTextField$AbstractFormatter
  super_class: java.lang.Object
{
  private javax.swing.JFormattedTextField ftf;
    descriptor: Ljavax/swing/JFormattedTextField;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.JFormattedTextField$AbstractFormatter this
         0: .line 909
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // javax.swing.JFormattedTextField$AbstractFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JFormattedTextField$AbstractFormatter;

  public void install(javax.swing.JFormattedTextField);
    descriptor: (Ljavax/swing/JFormattedTextField;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.swing.JFormattedTextField$AbstractFormatter this
        start local 1 // javax.swing.JFormattedTextField ftf
         0: .line 946
            aload 0 /* this */
            getfield javax.swing.JFormattedTextField$AbstractFormatter.ftf:Ljavax/swing/JFormattedTextField;
            ifnull 2
         1: .line 947
            aload 0 /* this */
            invokevirtual javax.swing.JFormattedTextField$AbstractFormatter.uninstall:()V
         2: .line 949
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ftf */
            putfield javax.swing.JFormattedTextField$AbstractFormatter.ftf:Ljavax/swing/JFormattedTextField;
         3: .line 950
            aload 1 /* ftf */
            ifnull 12
         4: .line 952
            aload 1 /* ftf */
            aload 0 /* this */
            aload 1 /* ftf */
            invokevirtual javax.swing.JFormattedTextField.getValue:()Ljava/lang/Object;
            invokevirtual javax.swing.JFormattedTextField$AbstractFormatter.valueToString:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual javax.swing.JFormattedTextField.setText:(Ljava/lang/String;)V
         5: .line 953
            goto 9
      StackMap locals:
      StackMap stack: java.text.ParseException
         6: pop
         7: .line 954
            aload 1 /* ftf */
            ldc ""
            invokevirtual javax.swing.JFormattedTextField.setText:(Ljava/lang/String;)V
         8: .line 955
            aload 0 /* this */
            iconst_0
            invokevirtual javax.swing.JFormattedTextField$AbstractFormatter.setEditValid:(Z)V
         9: .line 957
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual javax.swing.JFormattedTextField$AbstractFormatter.getDocumentFilter:()Ljavax/swing/text/DocumentFilter;
            invokevirtual javax.swing.JFormattedTextField$AbstractFormatter.installDocumentFilter:(Ljavax/swing/text/DocumentFilter;)V
        10: .line 958
            aload 1 /* ftf */
            aload 0 /* this */
            invokevirtual javax.swing.JFormattedTextField$AbstractFormatter.getNavigationFilter:()Ljavax/swing/text/NavigationFilter;
            invokevirtual javax.swing.JFormattedTextField.setNavigationFilter:(Ljavax/swing/text/NavigationFilter;)V
        11: .line 959
            aload 1 /* ftf */
            aload 0 /* this */
            invokevirtual javax.swing.JFormattedTextField$AbstractFormatter.getActions:()[Ljavax/swing/Action;
            invokevirtual javax.swing.JFormattedTextField.setFormatterActions:([Ljavax/swing/Action;)V
        12: .line 961
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.swing.JFormattedTextField ftf
        end local 0 // javax.swing.JFormattedTextField$AbstractFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Ljavax/swing/JFormattedTextField$AbstractFormatter;
            0   13     1   ftf  Ljavax/swing/JFormattedTextField;
      Exception table:
        from    to  target  type
           4     5       6  Class java.text.ParseException
    MethodParameters:
      Name  Flags
      ftf   

  public void uninstall();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.JFormattedTextField$AbstractFormatter this
         0: .line 971
            aload 0 /* this */
            getfield javax.swing.JFormattedTextField$AbstractFormatter.ftf:Ljavax/swing/JFormattedTextField;
            ifnull 4
         1: .line 972
            aload 0 /* this */
            aconst_null
            invokevirtual javax.swing.JFormattedTextField$AbstractFormatter.installDocumentFilter:(Ljavax/swing/text/DocumentFilter;)V
         2: .line 973
            aload 0 /* this */
            getfield javax.swing.JFormattedTextField$AbstractFormatter.ftf:Ljavax/swing/JFormattedTextField;
            aconst_null
            invokevirtual javax.swing.JFormattedTextField.setNavigationFilter:(Ljavax/swing/text/NavigationFilter;)V
         3: .line 974
            aload 0 /* this */
            getfield javax.swing.JFormattedTextField$AbstractFormatter.ftf:Ljavax/swing/JFormattedTextField;
            aconst_null
            invokevirtual javax.swing.JFormattedTextField.setFormatterActions:([Ljavax/swing/Action;)V
         4: .line 976
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.swing.JFormattedTextField$AbstractFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/swing/JFormattedTextField$AbstractFormatter;

  public abstract java.lang.Object stringToValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.text.ParseException
    MethodParameters:
      Name  Flags
      text  

  public abstract java.lang.String valueToString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.text.ParseException
    MethodParameters:
       Name  Flags
      value  

  protected javax.swing.JFormattedTextField getFormattedTextField();
    descriptor: ()Ljavax/swing/JFormattedTextField;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.JFormattedTextField$AbstractFormatter this
         0: .line 1006
            aload 0 /* this */
            getfield javax.swing.JFormattedTextField$AbstractFormatter.ftf:Ljavax/swing/JFormattedTextField;
            areturn
        end local 0 // javax.swing.JFormattedTextField$AbstractFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JFormattedTextField$AbstractFormatter;

  protected void invalidEdit();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // javax.swing.JFormattedTextField$AbstractFormatter this
         0: .line 1014
            aload 0 /* this */
            invokevirtual javax.swing.JFormattedTextField$AbstractFormatter.getFormattedTextField:()Ljavax/swing/JFormattedTextField;
            astore 1 /* ftf */
        start local 1 // javax.swing.JFormattedTextField ftf
         1: .line 1016
            aload 1 /* ftf */
            ifnull 3
         2: .line 1017
            aload 1 /* ftf */
            invokevirtual javax.swing.JFormattedTextField.invalidEdit:()V
         3: .line 1019
      StackMap locals: javax.swing.JFormattedTextField
      StackMap stack:
            return
        end local 1 // javax.swing.JFormattedTextField ftf
        end local 0 // javax.swing.JFormattedTextField$AbstractFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/swing/JFormattedTextField$AbstractFormatter;
            1    4     1   ftf  Ljavax/swing/JFormattedTextField;

  protected void setEditValid(boolean);
    descriptor: (Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.swing.JFormattedTextField$AbstractFormatter this
        start local 1 // boolean valid
         0: .line 1030
            aload 0 /* this */
            invokevirtual javax.swing.JFormattedTextField$AbstractFormatter.getFormattedTextField:()Ljavax/swing/JFormattedTextField;
            astore 2 /* ftf */
        start local 2 // javax.swing.JFormattedTextField ftf
         1: .line 1032
            aload 2 /* ftf */
            ifnull 3
         2: .line 1033
            aload 2 /* ftf */
            iload 1 /* valid */
            invokevirtual javax.swing.JFormattedTextField.setEditValid:(Z)V
         3: .line 1035
      StackMap locals: javax.swing.JFormattedTextField
      StackMap stack:
            return
        end local 2 // javax.swing.JFormattedTextField ftf
        end local 1 // boolean valid
        end local 0 // javax.swing.JFormattedTextField$AbstractFormatter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljavax/swing/JFormattedTextField$AbstractFormatter;
            0    4     1  valid  Z
            1    4     2    ftf  Ljavax/swing/JFormattedTextField;
    MethodParameters:
       Name  Flags
      valid  

  protected javax.swing.Action[] getActions();
    descriptor: ()[Ljavax/swing/Action;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.JFormattedTextField$AbstractFormatter this
         0: .line 1045
            aconst_null
            areturn
        end local 0 // javax.swing.JFormattedTextField$AbstractFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JFormattedTextField$AbstractFormatter;

  protected javax.swing.text.DocumentFilter getDocumentFilter();
    descriptor: ()Ljavax/swing/text/DocumentFilter;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.JFormattedTextField$AbstractFormatter this
         0: .line 1057
            aconst_null
            areturn
        end local 0 // javax.swing.JFormattedTextField$AbstractFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JFormattedTextField$AbstractFormatter;

  protected javax.swing.text.NavigationFilter getNavigationFilter();
    descriptor: ()Ljavax/swing/text/NavigationFilter;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.JFormattedTextField$AbstractFormatter this
         0: .line 1069
            aconst_null
            areturn
        end local 0 // javax.swing.JFormattedTextField$AbstractFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JFormattedTextField$AbstractFormatter;

  protected java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // javax.swing.JFormattedTextField$AbstractFormatter this
         0: .line 1079
            aload 0 /* this */
            invokespecial java.lang.Object.clone:()Ljava/lang/Object;
            checkcast javax.swing.JFormattedTextField$AbstractFormatter
            astore 1 /* formatter */
        start local 1 // javax.swing.JFormattedTextField$AbstractFormatter formatter
         1: .line 1081
            aload 1 /* formatter */
            aconst_null
            putfield javax.swing.JFormattedTextField$AbstractFormatter.ftf:Ljavax/swing/JFormattedTextField;
         2: .line 1082
            aload 1 /* formatter */
            areturn
        end local 1 // javax.swing.JFormattedTextField$AbstractFormatter formatter
        end local 0 // javax.swing.JFormattedTextField$AbstractFormatter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljavax/swing/JFormattedTextField$AbstractFormatter;
            1    3     1  formatter  Ljavax/swing/JFormattedTextField$AbstractFormatter;
    Exceptions:
      throws java.lang.CloneNotSupportedException

  private void installDocumentFilter(javax.swing.text.DocumentFilter);
    descriptor: (Ljavax/swing/text/DocumentFilter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // javax.swing.JFormattedTextField$AbstractFormatter this
        start local 1 // javax.swing.text.DocumentFilter filter
         0: .line 1092
            aload 0 /* this */
            invokevirtual javax.swing.JFormattedTextField$AbstractFormatter.getFormattedTextField:()Ljavax/swing/JFormattedTextField;
            astore 2 /* ftf */
        start local 2 // javax.swing.JFormattedTextField ftf
         1: .line 1094
            aload 2 /* ftf */
            ifnull 6
         2: .line 1095
            aload 2 /* ftf */
            invokevirtual javax.swing.JFormattedTextField.getDocument:()Ljavax/swing/text/Document;
            astore 3 /* doc */
        start local 3 // javax.swing.text.Document doc
         3: .line 1097
            aload 3 /* doc */
            instanceof javax.swing.text.AbstractDocument
            ifeq 5
         4: .line 1098
            aload 3 /* doc */
            checkcast javax.swing.text.AbstractDocument
            aload 1 /* filter */
            invokevirtual javax.swing.text.AbstractDocument.setDocumentFilter:(Ljavax/swing/text/DocumentFilter;)V
         5: .line 1100
      StackMap locals: javax.swing.JFormattedTextField javax.swing.text.Document
      StackMap stack:
            aload 3 /* doc */
            ldc Ljavax/swing/text/DocumentFilter;
            aconst_null
            invokeinterface javax.swing.text.Document.putProperty:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 3 // javax.swing.text.Document doc
         6: .line 1102
      StackMap locals:
      StackMap stack:
            return
        end local 2 // javax.swing.JFormattedTextField ftf
        end local 1 // javax.swing.text.DocumentFilter filter
        end local 0 // javax.swing.JFormattedTextField$AbstractFormatter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Ljavax/swing/JFormattedTextField$AbstractFormatter;
            0    7     1  filter  Ljavax/swing/text/DocumentFilter;
            1    7     2     ftf  Ljavax/swing/JFormattedTextField;
            3    6     3     doc  Ljavax/swing/text/Document;
    MethodParameters:
        Name  Flags
      filter  
}
SourceFile: "JFormattedTextField.java"
NestHost: javax.swing.JFormattedTextField
InnerClasses:
  public abstract AbstractFormatter = javax.swing.JFormattedTextField$AbstractFormatter of javax.swing.JFormattedTextField