public interface javax.money.MonetaryAmount extends javax.money.CurrencySupplier, javax.money.NumberSupplier, java.lang.Comparable<javax.money.MonetaryAmount>
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: javax.money.MonetaryAmount
  super_class: java.lang.Object
{
  public abstract javax.money.MonetaryContext getContext();
    descriptor: ()Ljavax/money/MonetaryContext;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public <R> R query(javax.money.MonetaryQuery<R>);
    descriptor: (Ljavax/money/MonetaryQuery;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.money.MonetaryAmount this
        start local 1 // javax.money.MonetaryQuery query
         0: .line 122
            aload 1 /* query */
            aload 0 /* this */
            invokeinterface javax.money.MonetaryQuery.queryFrom:(Ljavax/money/MonetaryAmount;)Ljava/lang/Object;
            areturn
        end local 1 // javax.money.MonetaryQuery query
        end local 0 // javax.money.MonetaryAmount this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljavax/money/MonetaryAmount;
            0    1     1  query  Ljavax/money/MonetaryQuery<TR;>;
    Signature: <R:Ljava/lang/Object;>(Ljavax/money/MonetaryQuery<TR;>;)TR;
    MethodParameters:
       Name  Flags
      query  

  public javax.money.MonetaryAmount with(javax.money.MonetaryOperator);
    descriptor: (Ljavax/money/MonetaryOperator;)Ljavax/money/MonetaryAmount;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.money.MonetaryAmount this
        start local 1 // javax.money.MonetaryOperator operator
         0: .line 176
            aload 1 /* operator */
            aload 0 /* this */
            invokeinterface javax.money.MonetaryOperator.apply:(Ljavax/money/MonetaryAmount;)Ljavax/money/MonetaryAmount;
            areturn
        end local 1 // javax.money.MonetaryOperator operator
        end local 0 // javax.money.MonetaryAmount this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljavax/money/MonetaryAmount;
            0    1     1  operator  Ljavax/money/MonetaryOperator;
    MethodParameters:
          Name  Flags
      operator  

  public abstract javax.money.MonetaryAmountFactory<? extends javax.money.MonetaryAmount> getFactory();
    descriptor: ()Ljavax/money/MonetaryAmountFactory;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljavax/money/MonetaryAmountFactory<+Ljavax/money/MonetaryAmount;>;

  public abstract boolean isGreaterThan(javax.money.MonetaryAmount);
    descriptor: (Ljavax/money/MonetaryAmount;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      amount  

  public abstract boolean isGreaterThanOrEqualTo(javax.money.MonetaryAmount);
    descriptor: (Ljavax/money/MonetaryAmount;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      amount  

  public abstract boolean isLessThan(javax.money.MonetaryAmount);
    descriptor: (Ljavax/money/MonetaryAmount;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      amount  

  public abstract boolean isLessThanOrEqualTo(javax.money.MonetaryAmount);
    descriptor: (Ljavax/money/MonetaryAmount;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      amt   

  public abstract boolean isEqualTo(javax.money.MonetaryAmount);
    descriptor: (Ljavax/money/MonetaryAmount;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      amount  

  public boolean isNegative();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.money.MonetaryAmount this
         0: .line 248
            aload 0 /* this */
            invokeinterface javax.money.MonetaryAmount.signum:()I
            ifge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // javax.money.MonetaryAmount this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/money/MonetaryAmount;

  public boolean isNegativeOrZero();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.money.MonetaryAmount this
         0: .line 257
            aload 0 /* this */
            invokeinterface javax.money.MonetaryAmount.signum:()I
            ifgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // javax.money.MonetaryAmount this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/money/MonetaryAmount;

  public boolean isPositive();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.money.MonetaryAmount this
         0: .line 266
            aload 0 /* this */
            invokeinterface javax.money.MonetaryAmount.signum:()I
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // javax.money.MonetaryAmount this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/money/MonetaryAmount;

  public boolean isPositiveOrZero();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.money.MonetaryAmount this
         0: .line 275
            aload 0 /* this */
            invokeinterface javax.money.MonetaryAmount.signum:()I
            iflt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // javax.money.MonetaryAmount this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/money/MonetaryAmount;

  public boolean isZero();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.money.MonetaryAmount this
         0: .line 284
            aload 0 /* this */
            invokeinterface javax.money.MonetaryAmount.signum:()I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // javax.money.MonetaryAmount this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/money/MonetaryAmount;

  public abstract int signum();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract javax.money.MonetaryAmount add(javax.money.MonetaryAmount);
    descriptor: (Ljavax/money/MonetaryAmount;)Ljavax/money/MonetaryAmount;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      amount  

  public abstract javax.money.MonetaryAmount subtract(javax.money.MonetaryAmount);
    descriptor: (Ljavax/money/MonetaryAmount;)Ljavax/money/MonetaryAmount;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      amount  

  public abstract javax.money.MonetaryAmount multiply(long);
    descriptor: (J)Ljavax/money/MonetaryAmount;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      multiplicand  

  public abstract javax.money.MonetaryAmount multiply(double);
    descriptor: (D)Ljavax/money/MonetaryAmount;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      multiplicand  

  public abstract javax.money.MonetaryAmount multiply(java.lang.Number);
    descriptor: (Ljava/lang/Number;)Ljavax/money/MonetaryAmount;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      multiplicand  

  public abstract javax.money.MonetaryAmount divide(long);
    descriptor: (J)Ljavax/money/MonetaryAmount;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      divisor  

  public abstract javax.money.MonetaryAmount divide(double);
    descriptor: (D)Ljavax/money/MonetaryAmount;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      divisor  

  public abstract javax.money.MonetaryAmount divide(java.lang.Number);
    descriptor: (Ljava/lang/Number;)Ljavax/money/MonetaryAmount;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      divisor  

  public abstract javax.money.MonetaryAmount remainder(long);
    descriptor: (J)Ljavax/money/MonetaryAmount;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      divisor  

  public abstract javax.money.MonetaryAmount remainder(double);
    descriptor: (D)Ljavax/money/MonetaryAmount;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      divisor  

  public abstract javax.money.MonetaryAmount remainder(java.lang.Number);
    descriptor: (Ljava/lang/Number;)Ljavax/money/MonetaryAmount;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      divisor  

  public abstract javax.money.MonetaryAmount[] divideAndRemainder(long);
    descriptor: (J)[Ljavax/money/MonetaryAmount;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      divisor  

  public abstract javax.money.MonetaryAmount[] divideAndRemainder(double);
    descriptor: (D)[Ljavax/money/MonetaryAmount;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      divisor  

  public abstract javax.money.MonetaryAmount[] divideAndRemainder(java.lang.Number);
    descriptor: (Ljava/lang/Number;)[Ljavax/money/MonetaryAmount;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      divisor  

  public abstract javax.money.MonetaryAmount divideToIntegralValue(long);
    descriptor: (J)Ljavax/money/MonetaryAmount;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      divisor  

  public abstract javax.money.MonetaryAmount divideToIntegralValue(double);
    descriptor: (D)Ljavax/money/MonetaryAmount;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      divisor  

  public abstract javax.money.MonetaryAmount divideToIntegralValue(java.lang.Number);
    descriptor: (Ljava/lang/Number;)Ljavax/money/MonetaryAmount;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      divisor  

  public abstract javax.money.MonetaryAmount scaleByPowerOfTen(int);
    descriptor: (I)Ljavax/money/MonetaryAmount;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      power  

  public abstract javax.money.MonetaryAmount abs();
    descriptor: ()Ljavax/money/MonetaryAmount;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract javax.money.MonetaryAmount negate();
    descriptor: ()Ljavax/money/MonetaryAmount;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract javax.money.MonetaryAmount plus();
    descriptor: ()Ljavax/money/MonetaryAmount;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract javax.money.MonetaryAmount stripTrailingZeros();
    descriptor: ()Ljavax/money/MonetaryAmount;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
}
Signature: Ljava/lang/Object;Ljavax/money/CurrencySupplier;Ljavax/money/NumberSupplier;Ljava/lang/Comparable<Ljavax/money/MonetaryAmount;>;
SourceFile: "MonetaryAmount.java"