001    package lrs.visitor;
002    import lrs.*;
003    import logic.*;
004    
005    
006    // This class is an IComparable compatible object that holds integer values.
007    
008    public class CompareObject implements IComparable{
009        private int _value;
010        private static final IBooleanFactory _BF = BooleanFactory.Singleton;
011    
012        // Construct the object with an integer value
013        public CompareObject( int value) {
014            _value = value;
015        }
016     
017        // Construct the object with a string value
018        public CompareObject( String strValue) {
019            _value = Integer.parseInt(strValue);
020        }
021    
022        // returns the integer value held as an integer
023        public int getValue() {
024            return _value;
025        }
026    
027        // returns the integer value held as a string
028        public String getString()  {
029            return String.valueOf(_value);
030        }
031        
032        // Compare returns true if the object's value is less than the input value.
033        public IBoolean compare(IComparable x) {
034          return _BF.makeBoolean(_value < ((CompareObject)x).getValue());  
035            //return( (_value < ((CompareObject)x).getValue() )? true: false);
036        }
037    
038        // Equals returns true if the object's value is equal to the input's value.
039        public IBoolean equals(IComparable x) {
040          return _BF.makeBoolean(_value == ((CompareObject)x).getValue());  
041    //       return( (_value == ((CompareObject)x).getValue() )? true: false);
042        }
043    }