Package com.singularsys.extensions.field
Class FieldCollection
- java.lang.Object
-
- com.singularsys.extensions.field.FieldCollection
-
- All Implemented Interfaces:
FieldI,IntegerConvertor,java.io.Serializable
- Direct Known Subclasses:
MatrixFieldCollection
public class FieldCollection extends java.lang.Object implements FieldI, IntegerConvertor
Groups a set of fields together. Fields can be added to the collection by callingaddField(SetI). When evaluating each field is evaluated in turn, if the result is non null then that value is returned. Otherwise the next field is checked.The collection also implements the FieldMethodsI encapsulating the the operations as Binary/Unary Methods, so it can be used directly with a FieldOperatorTable.
- Author:
- Richard Morris
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description FieldCollection()Standard constructor with no fields.FieldCollection(FieldI... fields)Constructor from a set of fields.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectadd(java.lang.Object l, java.lang.Object r)Add two members of the field.voidaddField(FieldI f)Add a new field to the collection.java.lang.Booleanand(java.lang.Object l, java.lang.Object r)Logical and.voidclearFields()java.lang.ObjectconvertFromInt(java.lang.Integer l)Attempt to convert argument from an integerjava.lang.IntegerconvertToInt(java.lang.Object l)Attempt to convert argument to an integerjava.lang.Objectdiv(java.lang.Object l, java.lang.Object r)Divides two members of the field.java.lang.Booleaneq(java.lang.Object l, java.lang.Object r)Equalsjava.lang.Booleange(java.lang.Object l, java.lang.Object r)Greater or equal toFieldI[]getFields()java.lang.ObjectgetOne()Get the multiplicative identity for this field.java.lang.ObjectgetZero()Get the additive identity for this fieldjava.lang.Booleangt(java.lang.Object l, java.lang.Object r)Greater thanjava.lang.Booleanle(java.lang.Object l, java.lang.Object r)Less than or equals tojava.lang.Booleanlt(java.lang.Object l, java.lang.Object r)Less thanjava.lang.Objectmod(java.lang.Object l, java.lang.Object r)The modulus of two members of the field.java.lang.Objectmul(java.lang.Object l, java.lang.Object r)Multiplies two members of the field.java.lang.Booleanne(java.lang.Object l, java.lang.Object r)Not Equalsjava.lang.Objectneg(java.lang.Object l)The negation -x of an element.java.lang.Booleannot(java.lang.Object l)Logical not.java.lang.Booleanor(java.lang.Object l, java.lang.Object r)Logical or.java.lang.Objectpow(java.lang.Object l, java.lang.Object r)The power operator.booleanremoveField(FieldI e)java.lang.Objectsub(java.lang.Object l, java.lang.Object r)Subtract two members of the field.
-
-
-
Field Detail
-
fields
protected java.util.List<FieldI> fields
-
-
Constructor Detail
-
FieldCollection
public FieldCollection()
Standard constructor with no fields.
-
FieldCollection
public FieldCollection(FieldI... fields)
Constructor from a set of fields.- Parameters:
fields- a list of fields in order
-
-
Method Detail
-
addField
public void addField(FieldI f)
Add a new field to the collection.- Parameters:
f- the field to add
-
removeField
public boolean removeField(FieldI e)
-
clearFields
public void clearFields()
-
getFields
public FieldI[] getFields()
-
add
public java.lang.Object add(java.lang.Object l, java.lang.Object r) throws EvaluationExceptionDescription copied from interface:FieldIAdd two members of the field.- Specified by:
addin interfaceFieldI- Parameters:
l- left hand argumentr- right hand argument- Returns:
- an object representing the result or null if it can not be evaluated.
- Throws:
EvaluationException- on error
-
sub
public java.lang.Object sub(java.lang.Object l, java.lang.Object r) throws EvaluationExceptionDescription copied from interface:FieldISubtract two members of the field.- Specified by:
subin interfaceFieldI- Parameters:
l- left hand argumentr- right hand argument- Returns:
- an object representing the result or null if it can not be evaluated.
- Throws:
EvaluationException- on error
-
neg
public java.lang.Object neg(java.lang.Object l) throws EvaluationExceptionDescription copied from interface:FieldIThe negation -x of an element.- Specified by:
negin interfaceFieldI- Parameters:
l- the argument- Returns:
- an object representing the result or null if it can not be evaluated.
- Throws:
EvaluationException- on error
-
mul
public java.lang.Object mul(java.lang.Object l, java.lang.Object r) throws EvaluationExceptionDescription copied from interface:FieldIMultiplies two members of the field.- Specified by:
mulin interfaceFieldI- Parameters:
l- left hand argumentr- right hand argument- Returns:
- an object representing the result or null if it can not be evaluated.
- Throws:
EvaluationException- on error
-
div
public java.lang.Object div(java.lang.Object l, java.lang.Object r) throws EvaluationExceptionDescription copied from interface:FieldIDivides two members of the field.- Specified by:
divin interfaceFieldI- Parameters:
l- left hand argumentr- right hand argument- Returns:
- an object representing the result or null if it can not be evaluated.
- Throws:
EvaluationException- on error
-
mod
public java.lang.Object mod(java.lang.Object l, java.lang.Object r) throws EvaluationExceptionDescription copied from interface:FieldIThe modulus of two members of the field.- Specified by:
modin interfaceFieldI- Parameters:
l- left hand argumentr- right hand argument- Returns:
- an object representing the result or null if it can not be evaluated.
- Throws:
EvaluationException- on error
-
pow
public java.lang.Object pow(java.lang.Object l, java.lang.Object r) throws EvaluationExceptionDescription copied from interface:FieldIThe power operator.- Specified by:
powin interfaceFieldI- Parameters:
l- left hand argumentr- right hand argument- Returns:
- an object representing the result or null if it can not be evaluated.
- Throws:
EvaluationException- on error
-
eq
public java.lang.Boolean eq(java.lang.Object l, java.lang.Object r) throws EvaluationExceptionDescription copied from interface:FieldIEquals- Specified by:
eqin interfaceFieldI- Parameters:
l- left hand argumentr- right hand argument- Returns:
- an object representing the result or null if it can not be evaluated.
- Throws:
EvaluationException- on error
-
ne
public java.lang.Boolean ne(java.lang.Object l, java.lang.Object r) throws EvaluationExceptionDescription copied from interface:FieldINot Equals- Specified by:
nein interfaceFieldI- Parameters:
l- left hand argumentr- right hand argument- Returns:
- an object representing the result or null if it can not be evaluated.
- Throws:
EvaluationException- on error
-
gt
public java.lang.Boolean gt(java.lang.Object l, java.lang.Object r) throws EvaluationExceptionDescription copied from interface:FieldIGreater than- Specified by:
gtin interfaceFieldI- Parameters:
l- left hand argumentr- right hand argument- Returns:
- an object representing the result or null if it can not be evaluated.
- Throws:
EvaluationException- on error
-
ge
public java.lang.Boolean ge(java.lang.Object l, java.lang.Object r) throws EvaluationExceptionDescription copied from interface:FieldIGreater or equal to- Specified by:
gein interfaceFieldI- Parameters:
l- left hand argumentr- right hand argument- Returns:
- an object representing the result or null if it can not be evaluated.
- Throws:
EvaluationException- on error
-
lt
public java.lang.Boolean lt(java.lang.Object l, java.lang.Object r) throws EvaluationExceptionDescription copied from interface:FieldILess than- Specified by:
ltin interfaceFieldI- Parameters:
l- left hand argumentr- right hand argument- Returns:
- an object representing the result or null if it can not be evaluated.
- Throws:
EvaluationException- on error
-
le
public java.lang.Boolean le(java.lang.Object l, java.lang.Object r) throws EvaluationExceptionDescription copied from interface:FieldILess than or equals to- Specified by:
lein interfaceFieldI- Parameters:
l- left hand argumentr- right hand argument- Returns:
- an object representing the result or null if it can not be evaluated.
- Throws:
EvaluationException- on error
-
and
public java.lang.Boolean and(java.lang.Object l, java.lang.Object r) throws EvaluationExceptionDescription copied from interface:FieldILogical and.- Specified by:
andin interfaceFieldI- Parameters:
l- left hand argument implimentationr- right hand argument- Returns:
- an object representing the result or null if it can not be evaluated.
- Throws:
EvaluationException- on error
-
or
public java.lang.Boolean or(java.lang.Object l, java.lang.Object r) throws EvaluationExceptionDescription copied from interface:FieldILogical or.- Specified by:
orin interfaceFieldI- Parameters:
l- left hand argumentr- right hand argument- Returns:
- an object representing the result or null if it can not be evaluated.
- Throws:
EvaluationException- on error
-
not
public java.lang.Boolean not(java.lang.Object l) throws EvaluationExceptionDescription copied from interface:FieldILogical not.- Specified by:
notin interfaceFieldI- Parameters:
l- argument- Returns:
- an object representing the result or null if it can not be evaluated.
- Throws:
EvaluationException- on error
-
getOne
public java.lang.Object getOne()
Description copied from interface:FieldIGet the multiplicative identity for this field.
-
getZero
public java.lang.Object getZero()
Description copied from interface:FieldIGet the additive identity for this field
-
convertToInt
public java.lang.Integer convertToInt(java.lang.Object l) throws EvaluationExceptionDescription copied from interface:IntegerConvertorAttempt to convert argument to an integer- Specified by:
convertToIntin interfaceIntegerConvertor- Parameters:
l- value to convert- Returns:
- corresponding integer or null if it cannot be converted
- Throws:
EvaluationException- on error
-
convertFromInt
public java.lang.Object convertFromInt(java.lang.Integer l) throws EvaluationExceptionDescription copied from interface:IntegerConvertorAttempt to convert argument from an integer- Specified by:
convertFromIntin interfaceIntegerConvertor- Parameters:
l- value to convert- Returns:
- corresponding value in this field or null if it cannot be converted
- Throws:
EvaluationException- probably never
-
-