com.retek.commons.util.type
Class Quantity

java.lang.Object
  extended bycom.retek.commons.util.type.Quantity
All Implemented Interfaces:
java.io.Serializable

public final class Quantity
extends java.lang.Object
implements java.io.Serializable

A representation of units. Units can be whole or fractional. Instances are immutable.

Note: This implementation has no notion of units of measure, and thus, no notion of converting between units.

See Also:
Serialized Form

Field Summary
static int MINIMUM_SCALE_FOR_DIVISION
           
static int ROUND_CEILING
           
static int ROUND_DOWN
           
static int ROUND_FLOOR
           
static int ROUND_HALF_DOWN
           
static int ROUND_HALF_EVEN
           
static int ROUND_HALF_UP
           
static int ROUND_UP
           
static Quantity ZERO
           
 
Constructor Summary
Quantity(java.math.BigDecimal amt)
           
Quantity(long amt)
           
Quantity(java.lang.String amt)
           
 
Method Summary
 Quantity absoluteValue()
           
 Quantity add(Quantity num)
           
 Quantity divide(java.math.BigDecimal denomiator, int roundingRule)
           
 Quantity divide(java.math.BigDecimal denomiator, int decimalPlaces, int roundingRule)
           
 Quantity divide(long denominator, int roundingRule)
           
 Quantity divide(long denominator, int decimalPlaces, int roundingRule)
           
 Quantity divide(Quantity denominator, int roundingRule)
           
 Quantity divide(Quantity denominator, int decimalPlaces, int roundingRule)
           
 boolean equals(java.lang.Object o)
           
 int hashCode()
           
 boolean isGreaterThan(Quantity that)
           
 boolean isGreaterThanOrEqualTo(Quantity that)
           
 boolean isLessThan(Quantity that)
           
 boolean isLessThanOrEqualTo(Quantity that)
           
 boolean isNegative()
           
 boolean isPositive()
           
 boolean isWholeNumber()
           
 boolean isZero()
           
 Quantity multiply(java.math.BigDecimal num)
           
 Quantity multiply(long num)
           
 Quantity multiply(Quantity num)
           
 Quantity negate()
           
 Quantity subtract(Quantity num)
           
 java.math.BigDecimal toBigDecimal()
           
 java.lang.String toString()
           
protected  java.lang.Object writeReplace()
          Quick hack to work around a problem we're having with AIX + JBoss + RMI.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

ZERO

public static final Quantity ZERO

MINIMUM_SCALE_FOR_DIVISION

public static final int MINIMUM_SCALE_FOR_DIVISION
See Also:
Constant Field Values

ROUND_UP

public static final int ROUND_UP
See Also:
Constant Field Values

ROUND_DOWN

public static final int ROUND_DOWN
See Also:
Constant Field Values

ROUND_CEILING

public static final int ROUND_CEILING
See Also:
Constant Field Values

ROUND_FLOOR

public static final int ROUND_FLOOR
See Also:
Constant Field Values

ROUND_HALF_UP

public static final int ROUND_HALF_UP
See Also:
Constant Field Values

ROUND_HALF_DOWN

public static final int ROUND_HALF_DOWN
See Also:
Constant Field Values

ROUND_HALF_EVEN

public static final int ROUND_HALF_EVEN
See Also:
Constant Field Values
Constructor Detail

Quantity

public Quantity(java.lang.String amt)

Quantity

public Quantity(long amt)

Quantity

public Quantity(java.math.BigDecimal amt)
Method Detail

toString

public java.lang.String toString()

toBigDecimal

public java.math.BigDecimal toBigDecimal()

add

public Quantity add(Quantity num)

subtract

public Quantity subtract(Quantity num)

negate

public Quantity negate()

isWholeNumber

public boolean isWholeNumber()

isPositive

public boolean isPositive()

isNegative

public boolean isNegative()

isZero

public boolean isZero()

multiply

public Quantity multiply(Quantity num)

multiply

public Quantity multiply(long num)

multiply

public Quantity multiply(java.math.BigDecimal num)

divide

public Quantity divide(Quantity denominator,
                       int roundingRule)
Returns:
Quantity with a minimum of 6 decimal places, rounded if necessary.

divide

public Quantity divide(Quantity denominator,
                       int decimalPlaces,
                       int roundingRule)

divide

public Quantity divide(java.math.BigDecimal denomiator,
                       int roundingRule)
Returns:
Quantity with a minimum of 6 decimal places, rounded if necessary.

divide

public Quantity divide(java.math.BigDecimal denomiator,
                       int decimalPlaces,
                       int roundingRule)

divide

public Quantity divide(long denominator,
                       int roundingRule)
Returns:
Quantity with a minimum of 6 decimal places, rounded if necessary.

divide

public Quantity divide(long denominator,
                       int decimalPlaces,
                       int roundingRule)

isGreaterThanOrEqualTo

public boolean isGreaterThanOrEqualTo(Quantity that)

isGreaterThan

public boolean isGreaterThan(Quantity that)

isLessThanOrEqualTo

public boolean isLessThanOrEqualTo(Quantity that)

isLessThan

public boolean isLessThan(Quantity that)

absoluteValue

public Quantity absoluteValue()

equals

public boolean equals(java.lang.Object o)

hashCode

public int hashCode()

writeReplace

protected final java.lang.Object writeReplace()
Quick hack to work around a problem we're having with AIX + JBoss + RMI.



Copyright © 2004 Retek Inc. All Rights Reserved. - Generated at Fri, 10/22/2004 07:28