public abstract class org.apache.batik.anim.dom.AbstractSVGLength implements org.w3c.dom.svg.SVGLength
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.batik.anim.dom.AbstractSVGLength
  super_class: java.lang.Object
{
  public static final short HORIZONTAL_LENGTH;
    descriptor: S
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final short VERTICAL_LENGTH;
    descriptor: S
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final short OTHER_LENGTH;
    descriptor: S
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  protected short unitType;
    descriptor: S
    flags: (0x0004) ACC_PROTECTED

  protected float value;
    descriptor: F
    flags: (0x0004) ACC_PROTECTED

  protected short direction;
    descriptor: S
    flags: (0x0004) ACC_PROTECTED

  protected org.apache.batik.parser.UnitProcessor$Context context;
    descriptor: Lorg/apache/batik/parser/UnitProcessor$Context;
    flags: (0x0004) ACC_PROTECTED

  protected static final java.lang.String[] UNITS;
    descriptor: [Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 92
            bipush 11
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 93
            ldc ""
            aastore
            dup
            iconst_1
            ldc ""
            aastore
            dup
            iconst_2
            ldc "%"
            aastore
            dup
            iconst_3
            ldc "em"
            aastore
            dup
            iconst_4
            ldc "ex"
            aastore
            dup
            iconst_5
            ldc "px"
            aastore
            dup
            bipush 6
            ldc "cm"
            aastore
            dup
            bipush 7
            ldc "mm"
            aastore
            dup
            bipush 8
            ldc "in"
            aastore
            dup
            bipush 9
            ldc "pt"
            aastore
            dup
            bipush 10
            ldc "pc"
            aastore
         2: .line 92
            putstatic org.apache.batik.anim.dom.AbstractSVGLength.UNITS:[Ljava/lang/String;
         3: .line 94
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected abstract org.apache.batik.anim.dom.SVGOMElement getAssociatedElement();
    descriptor: ()Lorg/apache/batik/anim/dom/SVGOMElement;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  public void <init>(short);
    descriptor: (S)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
        start local 1 // short direction
         0: .line 104
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 105
            aload 0 /* this */
            new org.apache.batik.anim.dom.AbstractSVGLength$DefaultContext
            dup
            aload 0 /* this */
            invokespecial org.apache.batik.anim.dom.AbstractSVGLength$DefaultContext.<init>:(Lorg/apache/batik/anim/dom/AbstractSVGLength;)V
            putfield org.apache.batik.anim.dom.AbstractSVGLength.context:Lorg/apache/batik/parser/UnitProcessor$Context;
         2: .line 106
            aload 0 /* this */
            iload 1 /* direction */
            putfield org.apache.batik.anim.dom.AbstractSVGLength.direction:S
         3: .line 107
            aload 0 /* this */
            fconst_0
            putfield org.apache.batik.anim.dom.AbstractSVGLength.value:F
         4: .line 108
            aload 0 /* this */
            iconst_1
            putfield org.apache.batik.anim.dom.AbstractSVGLength.unitType:S
         5: .line 109
            return
        end local 1 // short direction
        end local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/apache/batik/anim/dom/AbstractSVGLength;
            0    6     1  direction  S
    MethodParameters:
           Name  Flags
      direction  

  public short getUnitType();
    descriptor: ()S
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
         0: .line 115
            aload 0 /* this */
            invokevirtual org.apache.batik.anim.dom.AbstractSVGLength.revalidate:()V
         1: .line 116
            aload 0 /* this */
            getfield org.apache.batik.anim.dom.AbstractSVGLength.unitType:S
            ireturn
        end local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/anim/dom/AbstractSVGLength;

  public float getValue();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
         0: .line 123
            aload 0 /* this */
            invokevirtual org.apache.batik.anim.dom.AbstractSVGLength.revalidate:()V
         1: .line 125
            aload 0 /* this */
            getfield org.apache.batik.anim.dom.AbstractSVGLength.value:F
            aload 0 /* this */
            getfield org.apache.batik.anim.dom.AbstractSVGLength.unitType:S
         2: .line 126
            aload 0 /* this */
            getfield org.apache.batik.anim.dom.AbstractSVGLength.direction:S
            aload 0 /* this */
            getfield org.apache.batik.anim.dom.AbstractSVGLength.context:Lorg/apache/batik/parser/UnitProcessor$Context;
         3: .line 125
            invokestatic org.apache.batik.parser.UnitProcessor.svgToUserSpace:(FSSLorg/apache/batik/parser/UnitProcessor$Context;)F
         4: freturn
         5: .line 127
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            pop
         6: .line 130
            fconst_0
            freturn
        end local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/batik/anim/dom/AbstractSVGLength;
      Exception table:
        from    to  target  type
           1     4       5  Class java.lang.IllegalArgumentException

  public void setValue(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
        start local 1 // float value
         0: .line 138
            aload 0 /* this */
            fload 1 /* value */
            aload 0 /* this */
            getfield org.apache.batik.anim.dom.AbstractSVGLength.unitType:S
         1: .line 139
            aload 0 /* this */
            getfield org.apache.batik.anim.dom.AbstractSVGLength.direction:S
            aload 0 /* this */
            getfield org.apache.batik.anim.dom.AbstractSVGLength.context:Lorg/apache/batik/parser/UnitProcessor$Context;
         2: .line 138
            invokestatic org.apache.batik.parser.UnitProcessor.userSpaceToSVG:(FSSLorg/apache/batik/parser/UnitProcessor$Context;)F
            putfield org.apache.batik.anim.dom.AbstractSVGLength.value:F
         3: .line 140
            aload 0 /* this */
            invokevirtual org.apache.batik.anim.dom.AbstractSVGLength.reset:()V
         4: .line 141
            return
        end local 1 // float value
        end local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/apache/batik/anim/dom/AbstractSVGLength;
            0    5     1  value  F
    Exceptions:
      throws org.w3c.dom.DOMException
    MethodParameters:
       Name  Flags
      value  

  public float getValueInSpecifiedUnits();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
         0: .line 147
            aload 0 /* this */
            invokevirtual org.apache.batik.anim.dom.AbstractSVGLength.revalidate:()V
         1: .line 148
            aload 0 /* this */
            getfield org.apache.batik.anim.dom.AbstractSVGLength.value:F
            freturn
        end local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/anim/dom/AbstractSVGLength;

  public void setValueInSpecifiedUnits(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
        start local 1 // float value
         0: .line 156
            aload 0 /* this */
            invokevirtual org.apache.batik.anim.dom.AbstractSVGLength.revalidate:()V
         1: .line 157
            aload 0 /* this */
            fload 1 /* value */
            putfield org.apache.batik.anim.dom.AbstractSVGLength.value:F
         2: .line 158
            aload 0 /* this */
            invokevirtual org.apache.batik.anim.dom.AbstractSVGLength.reset:()V
         3: .line 159
            return
        end local 1 // float value
        end local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/apache/batik/anim/dom/AbstractSVGLength;
            0    4     1  value  F
    Exceptions:
      throws org.w3c.dom.DOMException
    MethodParameters:
       Name  Flags
      value  

  public java.lang.String getValueAsString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
         0: .line 165
            aload 0 /* this */
            invokevirtual org.apache.batik.anim.dom.AbstractSVGLength.revalidate:()V
         1: .line 166
            aload 0 /* this */
            getfield org.apache.batik.anim.dom.AbstractSVGLength.unitType:S
            ifne 3
         2: .line 167
            ldc ""
            areturn
         3: .line 169
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.apache.batik.anim.dom.AbstractSVGLength.value:F
            invokestatic java.lang.Float.toString:(F)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic org.apache.batik.anim.dom.AbstractSVGLength.UNITS:[Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.batik.anim.dom.AbstractSVGLength.unitType:S
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/batik/anim/dom/AbstractSVGLength;

  public void setValueAsString(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
        start local 1 // java.lang.String value
         0: .line 176
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.apache.batik.anim.dom.AbstractSVGLength.parse:(Ljava/lang/String;)V
         1: .line 177
            aload 0 /* this */
            invokevirtual org.apache.batik.anim.dom.AbstractSVGLength.reset:()V
         2: .line 178
            return
        end local 1 // java.lang.String value
        end local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/batik/anim/dom/AbstractSVGLength;
            0    3     1  value  Ljava/lang/String;
    Exceptions:
      throws org.w3c.dom.DOMException
    MethodParameters:
       Name  Flags
      value  

  public void newValueSpecifiedUnits(short, float);
    descriptor: (SF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
        start local 1 // short unit
        start local 2 // float value
         0: .line 185
            aload 0 /* this */
            iload 1 /* unit */
            putfield org.apache.batik.anim.dom.AbstractSVGLength.unitType:S
         1: .line 186
            aload 0 /* this */
            fload 2 /* value */
            putfield org.apache.batik.anim.dom.AbstractSVGLength.value:F
         2: .line 187
            aload 0 /* this */
            invokevirtual org.apache.batik.anim.dom.AbstractSVGLength.reset:()V
         3: .line 188
            return
        end local 2 // float value
        end local 1 // short unit
        end local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/apache/batik/anim/dom/AbstractSVGLength;
            0    4     1   unit  S
            0    4     2  value  F
    MethodParameters:
       Name  Flags
      unit   
      value  

  public void convertToSpecifiedUnits(short);
    descriptor: (S)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
        start local 1 // short unit
         0: .line 195
            aload 0 /* this */
            invokevirtual org.apache.batik.anim.dom.AbstractSVGLength.getValue:()F
            fstore 2 /* v */
        start local 2 // float v
         1: .line 196
            aload 0 /* this */
            iload 1 /* unit */
            putfield org.apache.batik.anim.dom.AbstractSVGLength.unitType:S
         2: .line 197
            aload 0 /* this */
            fload 2 /* v */
            invokevirtual org.apache.batik.anim.dom.AbstractSVGLength.setValue:(F)V
         3: .line 198
            return
        end local 2 // float v
        end local 1 // short unit
        end local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/batik/anim/dom/AbstractSVGLength;
            0    4     1  unit  S
            1    4     2     v  F
    MethodParameters:
      Name  Flags
      unit  

  protected void reset();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
         0: .line 207
            return
        end local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/anim/dom/AbstractSVGLength;

  protected void revalidate();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
         0: .line 216
            return
        end local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/anim/dom/AbstractSVGLength;

  protected void parse(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
        start local 1 // java.lang.String s
         0: .line 227
            new org.apache.batik.parser.LengthParser
            dup
            invokespecial org.apache.batik.parser.LengthParser.<init>:()V
            astore 2 /* lengthParser */
        start local 2 // org.apache.batik.parser.LengthParser lengthParser
         1: .line 229
            new org.apache.batik.parser.UnitProcessor$UnitResolver
            dup
            invokespecial org.apache.batik.parser.UnitProcessor$UnitResolver.<init>:()V
         2: .line 228
            astore 3 /* ur */
        start local 3 // org.apache.batik.parser.UnitProcessor$UnitResolver ur
         3: .line 230
            aload 2 /* lengthParser */
            aload 3 /* ur */
            invokevirtual org.apache.batik.parser.LengthParser.setLengthHandler:(Lorg/apache/batik/parser/LengthHandler;)V
         4: .line 231
            aload 2 /* lengthParser */
            aload 1 /* s */
            invokevirtual org.apache.batik.parser.LengthParser.parse:(Ljava/lang/String;)V
         5: .line 232
            aload 0 /* this */
            aload 3 /* ur */
            getfield org.apache.batik.parser.UnitProcessor$UnitResolver.unit:S
            putfield org.apache.batik.anim.dom.AbstractSVGLength.unitType:S
         6: .line 233
            aload 0 /* this */
            aload 3 /* ur */
            getfield org.apache.batik.parser.UnitProcessor$UnitResolver.value:F
            putfield org.apache.batik.anim.dom.AbstractSVGLength.value:F
        end local 3 // org.apache.batik.parser.UnitProcessor$UnitResolver ur
        end local 2 // org.apache.batik.parser.LengthParser lengthParser
         7: .line 234
            goto 11
      StackMap locals:
      StackMap stack: org.apache.batik.parser.ParseException
         8: pop
         9: .line 235
            aload 0 /* this */
            iconst_0
            putfield org.apache.batik.anim.dom.AbstractSVGLength.unitType:S
        10: .line 236
            aload 0 /* this */
            fconst_0
            putfield org.apache.batik.anim.dom.AbstractSVGLength.value:F
        11: .line 238
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String s
        end local 0 // org.apache.batik.anim.dom.AbstractSVGLength this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lorg/apache/batik/anim/dom/AbstractSVGLength;
            0   12     1             s  Ljava/lang/String;
            1    7     2  lengthParser  Lorg/apache/batik/parser/LengthParser;
            3    7     3            ur  Lorg/apache/batik/parser/UnitProcessor$UnitResolver;
      Exception table:
        from    to  target  type
           0     7       8  Class org.apache.batik.parser.ParseException
    MethodParameters:
      Name  Flags
      s     
}
SourceFile: "AbstractSVGLength.java"
NestMembers:
  org.apache.batik.anim.dom.AbstractSVGLength$DefaultContext
InnerClasses:
  protected DefaultContext = org.apache.batik.anim.dom.AbstractSVGLength$DefaultContext of org.apache.batik.anim.dom.AbstractSVGLength
  public abstract Context = org.apache.batik.parser.UnitProcessor$Context of org.apache.batik.parser.UnitProcessor
  public UnitResolver = org.apache.batik.parser.UnitProcessor$UnitResolver of org.apache.batik.parser.UnitProcessor