public class org.apache.commons.beanutils.FluentPropertyBeanIntrospector implements org.apache.commons.beanutils.BeanIntrospector
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.beanutils.FluentPropertyBeanIntrospector
  super_class: java.lang.Object
{
  public static final java.lang.String DEFAULT_WRITE_METHOD_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "set"

  private final org.apache.commons.logging.Log log;
    descriptor: Lorg/apache/commons/logging/Log;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String writeMethodPrefix;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.beanutils.FluentPropertyBeanIntrospector this
        start local 1 // java.lang.String writePrefix
         0: .line 98
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 84
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
            putfield org.apache.commons.beanutils.FluentPropertyBeanIntrospector.log:Lorg/apache/commons/logging/Log;
         2: .line 99
            aload 1 /* writePrefix */
            ifnonnull 6
         3: .line 100
            new java.lang.IllegalArgumentException
            dup
         4: .line 101
            ldc "Prefix for write methods must not be null!"
         5: .line 100
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 103
      StackMap locals: org.apache.commons.beanutils.FluentPropertyBeanIntrospector java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* writePrefix */
            putfield org.apache.commons.beanutils.FluentPropertyBeanIntrospector.writeMethodPrefix:Ljava/lang/String;
         7: .line 104
            return
        end local 1 // java.lang.String writePrefix
        end local 0 // org.apache.commons.beanutils.FluentPropertyBeanIntrospector this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lorg/apache/commons/beanutils/FluentPropertyBeanIntrospector;
            0    8     1  writePrefix  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      writePrefix  final

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.beanutils.FluentPropertyBeanIntrospector this
         0: .line 112
            aload 0 /* this */
            ldc "set"
            invokespecial org.apache.commons.beanutils.FluentPropertyBeanIntrospector.<init>:(Ljava/lang/String;)V
         1: .line 113
            return
        end local 0 // org.apache.commons.beanutils.FluentPropertyBeanIntrospector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/beanutils/FluentPropertyBeanIntrospector;

  public java.lang.String getWriteMethodPrefix();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.beanutils.FluentPropertyBeanIntrospector this
         0: .line 121
            aload 0 /* this */
            getfield org.apache.commons.beanutils.FluentPropertyBeanIntrospector.writeMethodPrefix:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.beanutils.FluentPropertyBeanIntrospector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/beanutils/FluentPropertyBeanIntrospector;

  public void introspect(org.apache.commons.beanutils.IntrospectionContext);
    descriptor: (Lorg/apache/commons/beanutils/IntrospectionContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // org.apache.commons.beanutils.FluentPropertyBeanIntrospector this
        start local 1 // org.apache.commons.beanutils.IntrospectionContext icontext
         0: .line 134
            aload 1 /* icontext */
            invokeinterface org.apache.commons.beanutils.IntrospectionContext.getTargetClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 21
      StackMap locals: org.apache.commons.beanutils.FluentPropertyBeanIntrospector org.apache.commons.beanutils.IntrospectionContext top int int java.lang.reflect.Method[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* m */
        start local 2 // java.lang.reflect.Method m
         2: .line 135
            aload 2 /* m */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.apache.commons.beanutils.FluentPropertyBeanIntrospector.getWriteMethodPrefix:()Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 20
         3: .line 136
            aload 0 /* this */
            aload 2 /* m */
            invokevirtual org.apache.commons.beanutils.FluentPropertyBeanIntrospector.propertyName:(Ljava/lang/reflect/Method;)Ljava/lang/String;
            astore 6 /* propertyName */
        start local 6 // java.lang.String propertyName
         4: .line 137
            aload 1 /* icontext */
         5: .line 138
            aload 6 /* propertyName */
            invokeinterface org.apache.commons.beanutils.IntrospectionContext.getPropertyDescriptor:(Ljava/lang/String;)Ljava/beans/PropertyDescriptor;
         6: .line 137
            astore 7 /* pd */
        start local 7 // java.beans.PropertyDescriptor pd
         7: .line 140
            aload 7 /* pd */
            ifnonnull 12
         8: .line 141
            aload 1 /* icontext */
            aload 0 /* this */
         9: .line 142
            aload 2 /* m */
            aload 6 /* propertyName */
        10: .line 141
            invokevirtual org.apache.commons.beanutils.FluentPropertyBeanIntrospector.createFluentPropertyDescritor:(Ljava/lang/reflect/Method;Ljava/lang/String;)Ljava/beans/PropertyDescriptor;
            invokeinterface org.apache.commons.beanutils.IntrospectionContext.addPropertyDescriptor:(Ljava/beans/PropertyDescriptor;)V
        11: .line 143
            goto 20
      StackMap locals: org.apache.commons.beanutils.FluentPropertyBeanIntrospector org.apache.commons.beanutils.IntrospectionContext java.lang.reflect.Method int int java.lang.reflect.Method[] java.lang.String java.beans.PropertyDescriptor
      StackMap stack:
        12: aload 7 /* pd */
            invokevirtual java.beans.PropertyDescriptor.getWriteMethod:()Ljava/lang/reflect/Method;
            ifnonnull 20
        13: .line 144
            aload 7 /* pd */
            aload 2 /* m */
            invokevirtual java.beans.PropertyDescriptor.setWriteMethod:(Ljava/lang/reflect/Method;)V
        14: .line 146
            goto 20
      StackMap locals:
      StackMap stack: java.beans.IntrospectionException
        15: astore 8 /* e */
        start local 8 // java.beans.IntrospectionException e
        16: .line 147
            aload 0 /* this */
            getfield org.apache.commons.beanutils.FluentPropertyBeanIntrospector.log:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Error when creating PropertyDescriptor for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* m */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        17: .line 148
            ldc "! Ignoring this property."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 147
            invokeinterface org.apache.commons.logging.Log.info:(Ljava/lang/Object;)V
        19: .line 149
            aload 0 /* this */
            getfield org.apache.commons.beanutils.FluentPropertyBeanIntrospector.log:Lorg/apache/commons/logging/Log;
            ldc "Exception is:"
            aload 8 /* e */
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 8 // java.beans.IntrospectionException e
        end local 7 // java.beans.PropertyDescriptor pd
        end local 6 // java.lang.String propertyName
        end local 2 // java.lang.reflect.Method m
        20: .line 134
      StackMap locals: org.apache.commons.beanutils.FluentPropertyBeanIntrospector org.apache.commons.beanutils.IntrospectionContext top int int java.lang.reflect.Method[]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        21: iload 3
            iload 4
            if_icmplt 1
        22: .line 153
            return
        end local 1 // org.apache.commons.beanutils.IntrospectionContext icontext
        end local 0 // org.apache.commons.beanutils.FluentPropertyBeanIntrospector this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   23     0          this  Lorg/apache/commons/beanutils/FluentPropertyBeanIntrospector;
            0   23     1      icontext  Lorg/apache/commons/beanutils/IntrospectionContext;
            2   20     2             m  Ljava/lang/reflect/Method;
            4   20     6  propertyName  Ljava/lang/String;
            7   20     7            pd  Ljava/beans/PropertyDescriptor;
           16   20     8             e  Ljava/beans/IntrospectionException;
      Exception table:
        from    to  target  type
           7    14      15  Class java.beans.IntrospectionException
    Exceptions:
      throws java.beans.IntrospectionException
    MethodParameters:
          Name  Flags
      icontext  final

  private java.lang.String propertyName(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.commons.beanutils.FluentPropertyBeanIntrospector this
        start local 1 // java.lang.reflect.Method m
         0: .line 162
            aload 1 /* m */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
         1: .line 163
            aload 0 /* this */
            invokevirtual org.apache.commons.beanutils.FluentPropertyBeanIntrospector.getWriteMethodPrefix:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
         2: .line 162
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 2 /* methodName */
        start local 2 // java.lang.String methodName
         3: .line 164
            aload 2 /* methodName */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmple 4
            aload 2 /* methodName */
            invokestatic java.beans.Introspector.decapitalize:(Ljava/lang/String;)Ljava/lang/String;
            goto 6
      StackMap locals: java.lang.String
      StackMap stack:
         4: aload 2 /* methodName */
         5: .line 165
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
         6: .line 164
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 2 // java.lang.String methodName
        end local 1 // java.lang.reflect.Method m
        end local 0 // org.apache.commons.beanutils.FluentPropertyBeanIntrospector this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/apache/commons/beanutils/FluentPropertyBeanIntrospector;
            0    7     1           m  Ljava/lang/reflect/Method;
            3    7     2  methodName  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      m     final

  private java.beans.PropertyDescriptor createFluentPropertyDescritor(java.lang.reflect.Method, java.lang.String);
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/String;)Ljava/beans/PropertyDescriptor;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.apache.commons.beanutils.FluentPropertyBeanIntrospector this
        start local 1 // java.lang.reflect.Method m
        start local 2 // java.lang.String propertyName
         0: .line 178
            new java.beans.PropertyDescriptor
            dup
            aload 0 /* this */
            aload 1 /* m */
            invokevirtual org.apache.commons.beanutils.FluentPropertyBeanIntrospector.propertyName:(Ljava/lang/reflect/Method;)Ljava/lang/String;
            aconst_null
            aload 1 /* m */
            invokespecial java.beans.PropertyDescriptor.<init>:(Ljava/lang/String;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)V
            areturn
        end local 2 // java.lang.String propertyName
        end local 1 // java.lang.reflect.Method m
        end local 0 // org.apache.commons.beanutils.FluentPropertyBeanIntrospector this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/apache/commons/beanutils/FluentPropertyBeanIntrospector;
            0    1     1             m  Ljava/lang/reflect/Method;
            0    1     2  propertyName  Ljava/lang/String;
    Exceptions:
      throws java.beans.IntrospectionException
    MethodParameters:
              Name  Flags
      m             final
      propertyName  final
}
SourceFile: "FluentPropertyBeanIntrospector.java"