net.ponder2.objects
Class P2Number

java.lang.Object
  extended by net.ponder2.objects.P2Object
      extended by net.ponder2.objects.P2Number
All Implemented Interfaces:
java.io.Serializable, P2Serializable, ManagedObject, Ponder2Message

public class P2Number
extends P2Object
implements ManagedObject

An object used for comparing and counting

Version:
$Id:$
Author:
Kevin Twidle
See Also:
Serialized Form

Field Summary
static java.util.Random random
           
 
Constructor Summary
protected P2Number()
          constructor for Ponder2 serialisation
  P2Number(java.math.BigDecimal value)
          constructs a P2Number with value as its initial value
  P2Number(java.lang.String value)
          constructs a P2Number with its initial value expressed as a string
 
Method Summary
 java.math.BigDecimal asNumber()
          Returns itself as a BigDecimal number
protected  java.math.BigDecimal divide(java.math.BigDecimal aNumber)
          Answer the result of dividing the receiver by aNumber
protected  boolean eq(java.math.BigDecimal aNumber)
          Answer true if the receiver is equal to aNumber else answer false
 boolean equals(java.lang.Object obj)
           
protected  boolean ge(java.math.BigDecimal aNumber)
          Answer true if the receiver is greater than or equal to aNumber else answer false
protected  boolean gt(java.math.BigDecimal aNumber)
          Answer true if the receiver is greater than aNumber else answer false
 int hashCode()
           
protected  boolean le(java.math.BigDecimal aNumber)
          Answer true if the receiver is less than or equal to aNumber else answer false
protected  boolean lt(java.math.BigDecimal aNumber)
          Answer true if the receiver is less than aNumber else answer false
protected  java.math.BigDecimal minus(java.math.BigDecimal aNumber)
          Answer the result of subtracting aNumber from the receiver
protected  boolean ne(java.math.BigDecimal aNumber)
          Answer true if the receiver is not equal to aNumber else answer false
protected  P2Array op_collect(P2Object source, P2Object aBlock)
          Execute aBlock this number of times.
protected  void op_do(P2Object source, P2Object aBlock)
          Execute aBlock this number of times.
protected  java.math.BigDecimal plus(java.math.BigDecimal aNumber)
          Answer the result of adding the receiver and aNumber
protected  java.math.BigDecimal random()
          Answer a random number depending upon the value of the receiver:
0 => random long value
n => random integer >=0 and < n
n.m => random double >= 0.0 and < 1.0
 P2Object readXml(com.twicom.qdparser.TaggedElement xml, java.util.Map<java.lang.Integer,P2Serializable> read)
           
protected  java.math.BigDecimal times(java.math.BigDecimal aNumber)
          Answer the result of multiplying the receiver and aNumber
 java.lang.String toString()
           
 com.twicom.qdparser.TaggedElement writeXml(java.util.Set<P2Object> written)
           
 
Methods inherited from class net.ponder2.objects.P2Object
asArray, asBlock, asBoolean, asClass, asDouble, asFloat, asHash, asInteger, asLong, asP2Array, asString, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, fromXml, getManagedObject, getOID, getSMC, operation, operation, setSMC
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

random

public static final java.util.Random random
Constructor Detail

P2Number

protected P2Number()
constructor for Ponder2 serialisation


P2Number

public P2Number(java.math.BigDecimal value)
constructs a P2Number with value as its initial value

Parameters:
value - the initial value of this number

P2Number

public P2Number(java.lang.String value)
         throws Ponder2ArgumentException
constructs a P2Number with its initial value expressed as a string

Parameters:
value - the initial value of this number
Throws:
Ponder2ArgumentException
Method Detail

asNumber

public java.math.BigDecimal asNumber()
                              throws Ponder2ArgumentException
Description copied from class: P2Object
Returns itself as a BigDecimal number

Overrides:
asNumber in class P2Object
Returns:
the BigDecimal value
Throws:
Ponder2ArgumentException

lt

protected boolean lt(java.math.BigDecimal aNumber)
Answer true if the receiver is less than aNumber else answer false

Parameters:
aNumber - the value to be compared
Returns:
this < aNumber

gt

protected boolean gt(java.math.BigDecimal aNumber)
Answer true if the receiver is greater than aNumber else answer false

Parameters:
aNumber - the value to be compared
Returns:
this > aNumber

le

protected boolean le(java.math.BigDecimal aNumber)
Answer true if the receiver is less than or equal to aNumber else answer false

Parameters:
aNumber - the value to be compared
Returns:
this <= aNumber

ge

protected boolean ge(java.math.BigDecimal aNumber)
Answer true if the receiver is greater than or equal to aNumber else answer false

Parameters:
aNumber - the value to be compared
Returns:
this >= aNumber

eq

protected boolean eq(java.math.BigDecimal aNumber)
Answer true if the receiver is equal to aNumber else answer false

Parameters:
aNumber - the value to be compared
Returns:
this == aNumber

ne

protected boolean ne(java.math.BigDecimal aNumber)
Answer true if the receiver is not equal to aNumber else answer false

Parameters:
aNumber - the value to be compared
Returns:
this != aNumber

plus

protected java.math.BigDecimal plus(java.math.BigDecimal aNumber)
Answer the result of adding the receiver and aNumber

Parameters:
aNumber - the value to be used
Returns:
this + aNumber

minus

protected java.math.BigDecimal minus(java.math.BigDecimal aNumber)
Answer the result of subtracting aNumber from the receiver

Parameters:
aNumber - the value to be used
Returns:
this - aNumber

times

protected java.math.BigDecimal times(java.math.BigDecimal aNumber)
Answer the result of multiplying the receiver and aNumber

Parameters:
aNumber - the value to be used
Returns:
this * aNumber

divide

protected java.math.BigDecimal divide(java.math.BigDecimal aNumber)
Answer the result of dividing the receiver by aNumber

Parameters:
aNumber - the value to be used
Returns:
this / aNumber

random

protected java.math.BigDecimal random()
Answer a random number depending upon the value of the receiver:
0 => random long value
n => random integer >=0 and < n
n.m => random double >= 0.0 and < 1.0

Returns:
a random number

op_do

protected void op_do(P2Object source,
                     P2Object aBlock)
              throws Ponder2Exception
Execute aBlock this number of times. C.f. a for loop. The iteration number is given as an argument to aBlock. The number starts at 0. Answers receiver

Parameters:
aBlock - the block to be executed. It may take one argument
Throws:
Ponder2Exception

op_collect

protected P2Array op_collect(P2Object source,
                             P2Object aBlock)
                      throws Ponder2Exception
Execute aBlock this number of times. C.f. a for loop. The iteration number is given as an argument to aBlock. The number starts at 0. Answers an array with a collection of all the results of the block executions.

Parameters:
aBlock - the block to be executed. It may take one argument
Throws:
Ponder2Exception

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

writeXml

public com.twicom.qdparser.TaggedElement writeXml(java.util.Set<P2Object> written)
                                           throws Ponder2OperationException
Specified by:
writeXml in interface P2Serializable
Overrides:
writeXml in class P2Object
Throws:
Ponder2OperationException

readXml

public P2Object readXml(com.twicom.qdparser.TaggedElement xml,
                        java.util.Map<java.lang.Integer,P2Serializable> read)
                 throws Ponder2OperationException
Specified by:
readXml in interface P2Serializable
Specified by:
readXml in class P2Object
Throws:
Ponder2OperationException

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object


Copyright © 2008 Imperial College. All Rights Reserved.