SalesPoint Framework v3.0

data
Interface Value

All Known Implementing Classes:
NumberValue, QuoteValue

public interface Value
extends Cloneable, Comparable, Serializable

An objectified value.

Values are objects that understand the four basic operations add, subtract, multiply and divide. Additionally, they have an operation for multiplication with 'scalars', i.e. simple type numeric values. Values are commutative monoids with respect to addition and multiplication.

An ordering relation is defined on the values, but it is up to the concrete type of value, whether this ordering is a half ordering relation.

Hooks:
Define New Type Of Value , Add A Value To A Stock's Contents
Since:
v2.0
Version:
2.0 19/08/1999
Author:
Steffen Zschaler

Method Summary
 Value add(Value v)
          Add the given value to this one, and return the result.
 void addAccumulating(Value v)
          Add the given value to this one, changing this value.
 Object clone()
          Clone this value.
 Value divide(Value v)
          Divide this value by the given one, and return the result.
 void divideAccumulating(Value v)
          Divide this value by the given one, changing this value.
 boolean isAddZero()
          Check whether this is the zero element with respect to addition.
 boolean isMulOne()
          Check whether this is the one element with respect to multiplication.
 boolean isMulZero()
          Check whether this is the zero element with respect to multiplication.
 Value multiply(double dl)
          Multiply this value by the given 'scalar', and return the result.
 Value multiply(float fl)
          Multiply this value by the given 'scalar', and return the result.
 Value multiply(int n)
          Multiply this value by the given 'scalar', and return the result.
 Value multiply(long l)
          Multiply this value by the given 'scalar', and return the result.
 Value multiply(Value v)
          Multiply this value by the given one, and return the result.
 void multiplyAccumulating(double dl)
          Multiply this value by the given 'scalar', changing this value.
 void multiplyAccumulating(float fl)
          Multiply this value by the given 'scalar', changing this value.
 void multiplyAccumulating(int n)
          Multiply this value by the given 'scalar', changing this value.
 void multiplyAccumulating(long l)
          Multiply this value by the given 'scalar', changing this value.
 void multiplyAccumulating(Value v)
          Multiply the given value by this one, changing this value.
 Value subtract(Value v)
          Subtract the given value from this one, and return the result.
 void subtractAccumulating(Value v)
          Subtract the given value from this one, changing this value.
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Method Detail

addAccumulating

public void addAccumulating(Value v)
Add the given value to this one, changing this value.
Override:
Always.
Parameters:
v - the value to be added.

subtractAccumulating

public void subtractAccumulating(Value v)
Subtract the given value from this one, changing this value.
Override:
Always.
Parameters:
v - the value to be subtracted.

multiplyAccumulating

public void multiplyAccumulating(Value v)
Multiply the given value by this one, changing this value.
Override:
Always.
Parameters:
v - the value to be multplied by.

multiplyAccumulating

public void multiplyAccumulating(double dl)
Multiply this value by the given 'scalar', changing this value.
Override:
Always.
Parameters:
dl - the value by which to multiply.

multiplyAccumulating

public void multiplyAccumulating(float fl)
Multiply this value by the given 'scalar', changing this value.
Override:
Always.
Parameters:
fl - the value by which to multiply.

multiplyAccumulating

public void multiplyAccumulating(long l)
Multiply this value by the given 'scalar', changing this value.
Override:
Always.
Parameters:
l - the value by which to multiply.

multiplyAccumulating

public void multiplyAccumulating(int n)
Multiply this value by the given 'scalar', changing this value.
Override:
Always.
Parameters:
n - the value by which to multiply.

divideAccumulating

public void divideAccumulating(Value v)
Divide this value by the given one, changing this value.
Override:
Always.
Parameters:
v - the value by which to divide.

add

public Value add(Value v)
Add the given value to this one, and return the result.
Override:
Always.
Parameters:
v - the value to be added.

subtract

public Value subtract(Value v)
Subtract the given value from this one, and return the result.
Override:
Always.
Parameters:
v - the value to be subtracted.

multiply

public Value multiply(Value v)
Multiply this value by the given one, and return the result.
Override:
Always.
Parameters:
v - the value by which to multiply.

multiply

public Value multiply(double dl)
Multiply this value by the given 'scalar', and return the result.
Override:
Always.
Parameters:
dl - the 'scalar' by which to multiply.

multiply

public Value multiply(float fl)
Multiply this value by the given 'scalar', and return the result.
Override:
Always.
Parameters:
fl - the 'scalar' by which to multiply.

multiply

public Value multiply(long l)
Multiply this value by the given 'scalar', and return the result.
Override:
Always.
Parameters:
l - the 'scalar' by which to multiply.

multiply

public Value multiply(int n)
Multiply this value by the given 'scalar', and return the result.
Override:
Always.
Parameters:
n - the 'scalar' by which to multiply.

divide

public Value divide(Value v)
Divide this value by the given one, and return the result.
Override:
Always.
Parameters:
v - the value by which to divide.

isAddZero

public boolean isAddZero()
Check whether this is the zero element with respect to addition.
Override:
Always.
Returns:
true if this is the zero element with respect to addition, i.e. if for any value v: (v.getClass() == this.getClass()) -> ((v.add (this).equals (v)) && (this.add (v).equals (v))).

isMulZero

public boolean isMulZero()
Check whether this is the zero element with respect to multiplication.
Override:
Always.
Returns:
true if this is the zero element with respect to multiplication, i.e. if for any value v: (v.getClass() == this.getClass()) -> ((v.multiply (this).equals (this)) && (this.multiply (v).equals (this))).

isMulOne

public boolean isMulOne()
Check whether this is the one element with respect to multiplication.
Override:
Always.
Returns:
true if this is the one element with respect to multiplication, i.e. if for any value v: (v.getClass() == this.getClass()) -> ((v.multiply (this).equals (v)) && (this.multiply (v).equals (v))).

clone

public Object clone()
Clone this value.
Override:
Always.
Overrides:
clone in class Object

SalesPoint Framework v3.0