test_class.file: core/src/test/java/org/ulordj/core/CoinTest.java
test_class.identifier: CoinTest
test_case.body: @Test(expected = IllegalArgumentException.class)
      public void testParseCoinOverprecise() {
          parseCoin("0.000000011");
      }
test_case.class_method_signature: CoinTest.testParseCoinOverprecise()
test_case.full_signature: @Test(expected = IllegalArgumentException.class) public void testParseCoinOverprecise()
test_case.identifier: testParseCoinOverprecise
test_case.invocations: parseCoin
test_case.modifiers: @Test(expected = IllegalArgumentException.class) public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testParseCoinOverprecise()
focal_class.declarator: SMALLEST_UNIT_EXPONENT = 8
focal_class.modifier: public static final
focal_class.original_string: public static final int SMALLEST_UNIT_EXPONENT = 8;
focal_class.type: int
focal_class.var_name: SMALLEST_UNIT_EXPONENT
focal_class.declarator: COIN_VALUE = LongMath.pow(10, SMALLEST_UNIT_EXPONENT)
focal_class.modifier: private static final
focal_class.original_string: private static final long COIN_VALUE = LongMath.pow(10, SMALLEST_UNIT_EXPONENT);
focal_class.type: long
focal_class.var_name: COIN_VALUE
focal_class.declarator: ZERO = Coin.valueOf(0)
focal_class.modifier: public static final
focal_class.original_string: public static final Coin ZERO = Coin.valueOf(0);
focal_class.type: Coin
focal_class.var_name: ZERO
focal_class.declarator: COIN = Coin.valueOf(COIN_VALUE)
focal_class.modifier: public static final
focal_class.original_string: public static final Coin COIN = Coin.valueOf(COIN_VALUE);
focal_class.type: Coin
focal_class.var_name: COIN
focal_class.declarator: CENT = COIN.divide(100)
focal_class.modifier: public static final
focal_class.original_string: public static final Coin CENT = COIN.divide(100);
focal_class.type: Coin
focal_class.var_name: CENT
focal_class.declarator: MILLICOIN = COIN.divide(1000)
focal_class.modifier: public static final
focal_class.original_string: public static final Coin MILLICOIN = COIN.divide(1000);
focal_class.type: Coin
focal_class.var_name: MILLICOIN
focal_class.declarator: MICROCOIN = MILLICOIN.divide(1000)
focal_class.modifier: public static final
focal_class.original_string: public static final Coin MICROCOIN = MILLICOIN.divide(1000);
focal_class.type: Coin
focal_class.var_name: MICROCOIN
focal_class.declarator: SATOSHI = Coin.valueOf(1)
focal_class.modifier: public static final
focal_class.original_string: public static final Coin SATOSHI = Coin.valueOf(1);
focal_class.type: Coin
focal_class.var_name: SATOSHI
focal_class.declarator: ONE_COIN = COIN.multiply(1)
focal_class.modifier: public static final
focal_class.original_string: public static final Coin ONE_COIN = COIN.multiply(1);
focal_class.type: Coin
focal_class.var_name: ONE_COIN
focal_class.declarator: NEGATIVE_SATOSHI = Coin.valueOf(-1)
focal_class.modifier: public static final
focal_class.original_string: public static final Coin NEGATIVE_SATOSHI = Coin.valueOf(-1);
focal_class.type: Coin
focal_class.var_name: NEGATIVE_SATOSHI
focal_class.declarator: value
focal_class.modifier: public final
focal_class.original_string: public final long value;
focal_class.type: long
focal_class.var_name: value
focal_class.declarator: FRIENDLY_FORMAT = MonetaryFormat.BTC.minDecimals(2).repeatOptionalDecimals(1, 6).postfixCode()
focal_class.modifier: private static final
focal_class.original_string: private static final MonetaryFormat FRIENDLY_FORMAT = MonetaryFormat.BTC.minDecimals(2).repeatOptionalDecimals(1, 6).postfixCode();
focal_class.type: MonetaryFormat
focal_class.var_name: FRIENDLY_FORMAT
focal_class.declarator: PLAIN_FORMAT = MonetaryFormat.BTC.minDecimals(0).repeatOptionalDecimals(1, 8).noCode()
focal_class.modifier: private static final
focal_class.original_string: private static final MonetaryFormat PLAIN_FORMAT = MonetaryFormat.BTC.minDecimals(0).repeatOptionalDecimals(1, 8).noCode();
focal_class.type: MonetaryFormat
focal_class.var_name: PLAIN_FORMAT
focal_class.file: core/src/main/java/org/ulordj/core/Coin.java
focal_class.identifier: Coin
focal_class.interfaces: implements Monetary, Comparable<Coin>, Serializable
focal_class.class_method_signature: Coin.Coin(final long satoshis)
focal_class.full_signature: private  Coin(final long satoshis)
focal_class.identifier: Coin
focal_class.modifiers: private
focal_class.parameters: (final long satoshis)
focal_class.signature:  Coin(final long satoshis)
focal_class.class_method_signature: Coin.valueOf(final long satoshis)
focal_class.full_signature: public static Coin valueOf(final long satoshis)
focal_class.identifier: valueOf
focal_class.modifiers: public static
focal_class.parameters: (final long satoshis)
focal_class.return: Coin
focal_class.signature: Coin valueOf(final long satoshis)
focal_class.class_method_signature: Coin.smallestUnitExponent()
focal_class.full_signature: @Override public int smallestUnitExponent()
focal_class.identifier: smallestUnitExponent
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int smallestUnitExponent()
focal_class.class_method_signature: Coin.getValue()
focal_class.full_signature: @Override public long getValue()
focal_class.identifier: getValue
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: long
focal_class.signature: long getValue()
focal_class.class_method_signature: Coin.valueOf(final int coins, final int cents)
focal_class.full_signature: public static Coin valueOf(final int coins, final int cents)
focal_class.identifier: valueOf
focal_class.modifiers: public static
focal_class.parameters: (final int coins, final int cents)
focal_class.return: Coin
focal_class.signature: Coin valueOf(final int coins, final int cents)
focal_class.class_method_signature: Coin.parseCoin(final String str)
focal_class.full_signature: public static Coin parseCoin(final String str)
focal_class.identifier: parseCoin
focal_class.modifiers: public static
focal_class.parameters: (final String str)
focal_class.return: Coin
focal_class.signature: Coin parseCoin(final String str)
focal_class.class_method_signature: Coin.parseCoinInexact(final String str)
focal_class.full_signature: public static Coin parseCoinInexact(final String str)
focal_class.identifier: parseCoinInexact
focal_class.modifiers: public static
focal_class.parameters: (final String str)
focal_class.return: Coin
focal_class.signature: Coin parseCoinInexact(final String str)
focal_class.class_method_signature: Coin.add(final Coin value)
focal_class.full_signature: public Coin add(final Coin value)
focal_class.identifier: add
focal_class.modifiers: public
focal_class.parameters: (final Coin value)
focal_class.return: Coin
focal_class.signature: Coin add(final Coin value)
focal_class.class_method_signature: Coin.plus(final Coin value)
focal_class.full_signature: public Coin plus(final Coin value)
focal_class.identifier: plus
focal_class.modifiers: public
focal_class.parameters: (final Coin value)
focal_class.return: Coin
focal_class.signature: Coin plus(final Coin value)
focal_class.class_method_signature: Coin.subtract(final Coin value)
focal_class.full_signature: public Coin subtract(final Coin value)
focal_class.identifier: subtract
focal_class.modifiers: public
focal_class.parameters: (final Coin value)
focal_class.return: Coin
focal_class.signature: Coin subtract(final Coin value)
focal_class.class_method_signature: Coin.minus(final Coin value)
focal_class.full_signature: public Coin minus(final Coin value)
focal_class.identifier: minus
focal_class.modifiers: public
focal_class.parameters: (final Coin value)
focal_class.return: Coin
focal_class.signature: Coin minus(final Coin value)
focal_class.class_method_signature: Coin.multiply(final long factor)
focal_class.full_signature: public Coin multiply(final long factor)
focal_class.identifier: multiply
focal_class.modifiers: public
focal_class.parameters: (final long factor)
focal_class.return: Coin
focal_class.signature: Coin multiply(final long factor)
focal_class.class_method_signature: Coin.times(final long factor)
focal_class.full_signature: public Coin times(final long factor)
focal_class.identifier: times
focal_class.modifiers: public
focal_class.parameters: (final long factor)
focal_class.return: Coin
focal_class.signature: Coin times(final long factor)
focal_class.class_method_signature: Coin.times(final int factor)
focal_class.full_signature: public Coin times(final int factor)
focal_class.identifier: times
focal_class.modifiers: public
focal_class.parameters: (final int factor)
focal_class.return: Coin
focal_class.signature: Coin times(final int factor)
focal_class.class_method_signature: Coin.divide(final long divisor)
focal_class.full_signature: public Coin divide(final long divisor)
focal_class.identifier: divide
focal_class.modifiers: public
focal_class.parameters: (final long divisor)
focal_class.return: Coin
focal_class.signature: Coin divide(final long divisor)
focal_class.class_method_signature: Coin.div(final long divisor)
focal_class.full_signature: public Coin div(final long divisor)
focal_class.identifier: div
focal_class.modifiers: public
focal_class.parameters: (final long divisor)
focal_class.return: Coin
focal_class.signature: Coin div(final long divisor)
focal_class.class_method_signature: Coin.div(final int divisor)
focal_class.full_signature: public Coin div(final int divisor)
focal_class.identifier: div
focal_class.modifiers: public
focal_class.parameters: (final int divisor)
focal_class.return: Coin
focal_class.signature: Coin div(final int divisor)
focal_class.class_method_signature: Coin.divideAndRemainder(final long divisor)
focal_class.full_signature: public Coin[] divideAndRemainder(final long divisor)
focal_class.identifier: divideAndRemainder
focal_class.modifiers: public
focal_class.parameters: (final long divisor)
focal_class.return: Coin[]
focal_class.signature: Coin[] divideAndRemainder(final long divisor)
focal_class.class_method_signature: Coin.divide(final Coin divisor)
focal_class.full_signature: public long divide(final Coin divisor)
focal_class.identifier: divide
focal_class.modifiers: public
focal_class.parameters: (final Coin divisor)
focal_class.return: long
focal_class.signature: long divide(final Coin divisor)
focal_class.class_method_signature: Coin.isPositive()
focal_class.full_signature: public boolean isPositive()
focal_class.identifier: isPositive
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isPositive()
focal_class.class_method_signature: Coin.isNegative()
focal_class.full_signature: public boolean isNegative()
focal_class.identifier: isNegative
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isNegative()
focal_class.class_method_signature: Coin.isZero()
focal_class.full_signature: public boolean isZero()
focal_class.identifier: isZero
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isZero()
focal_class.class_method_signature: Coin.isGreaterThan(Coin other)
focal_class.full_signature: public boolean isGreaterThan(Coin other)
focal_class.identifier: isGreaterThan
focal_class.modifiers: public
focal_class.parameters: (Coin other)
focal_class.return: boolean
focal_class.signature: boolean isGreaterThan(Coin other)
focal_class.class_method_signature: Coin.isLessThan(Coin other)
focal_class.full_signature: public boolean isLessThan(Coin other)
focal_class.identifier: isLessThan
focal_class.modifiers: public
focal_class.parameters: (Coin other)
focal_class.return: boolean
focal_class.signature: boolean isLessThan(Coin other)
focal_class.class_method_signature: Coin.shiftLeft(final int n)
focal_class.full_signature: public Coin shiftLeft(final int n)
focal_class.identifier: shiftLeft
focal_class.modifiers: public
focal_class.parameters: (final int n)
focal_class.return: Coin
focal_class.signature: Coin shiftLeft(final int n)
focal_class.class_method_signature: Coin.shiftRight(final int n)
focal_class.full_signature: public Coin shiftRight(final int n)
focal_class.identifier: shiftRight
focal_class.modifiers: public
focal_class.parameters: (final int n)
focal_class.return: Coin
focal_class.signature: Coin shiftRight(final int n)
focal_class.class_method_signature: Coin.signum()
focal_class.full_signature: @Override public int signum()
focal_class.identifier: signum
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int signum()
focal_class.class_method_signature: Coin.negate()
focal_class.full_signature: public Coin negate()
focal_class.identifier: negate
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Coin
focal_class.signature: Coin negate()
focal_class.class_method_signature: Coin.longValue()
focal_class.full_signature: public long longValue()
focal_class.identifier: longValue
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: long
focal_class.signature: long longValue()
focal_class.class_method_signature: Coin.toFriendlyString()
focal_class.full_signature: public String toFriendlyString()
focal_class.identifier: toFriendlyString
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toFriendlyString()
focal_class.class_method_signature: Coin.toPlainString()
focal_class.full_signature: public String toPlainString()
focal_class.identifier: toPlainString
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toPlainString()
focal_class.class_method_signature: Coin.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_class.class_method_signature: Coin.equals(final Object o)
focal_class.full_signature: @Override public boolean equals(final Object o)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (final Object o)
focal_class.return: boolean
focal_class.signature: boolean equals(final Object o)
focal_class.class_method_signature: Coin.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.class_method_signature: Coin.compareTo(final Coin other)
focal_class.full_signature: @Override public int compareTo(final Coin other)
focal_class.identifier: compareTo
focal_class.modifiers: @Override public
focal_class.parameters: (final Coin other)
focal_class.return: int
focal_class.signature: int compareTo(final Coin other)
focal_method.body: public static Coin parseCoin(final String str) {
          try {
              long satoshis = new BigDecimal(str).movePointRight(SMALLEST_UNIT_EXPONENT).longValueExact();
              return Coin.valueOf(satoshis);
          } catch (ArithmeticException e) {
              throw new IllegalArgumentException(e); // Repackage exception to honor method contract
          }
      }
focal_method.class_method_signature: Coin.parseCoin(final String str)
focal_method.full_signature: public static Coin parseCoin(final String str)
focal_method.identifier: parseCoin
focal_method.invocations: longValueExact movePointRight valueOf
focal_method.modifiers: public static
focal_method.parameters: (final String str)
focal_method.return: Coin
focal_method.signature: Coin parseCoin(final String str)