001    package railo.commons.lang.types;
002    
003    /**
004     * Integer Type that can be modified
005     */
006    public class RefIntegerImpl implements RefInteger {
007    
008        private int value;
009    
010        /**
011         * @param value
012         */
013        public RefIntegerImpl(int value) {
014            this.value=value;
015        }
016        public RefIntegerImpl() {
017        }
018        
019        /**
020         * @param value
021         */
022        public void setValue(int value) {
023            this.value = value;
024        }
025        
026        /**
027         * operation plus
028         * @param value
029         */
030        public void plus(int value) {
031            this.value+=value;
032        }
033        
034        /**
035         * operation minus
036         * @param value
037         */
038        public void minus(int value) {
039            this.value-=value;
040        }
041    
042        /**
043         * @return returns value as integer
044         */
045        public Integer toInteger() {
046            return Integer.valueOf(value);
047        }
048        /**
049         * @return returns value as integer
050         */
051        public Double toDouble() {
052            return new Double(value);
053        }
054        
055    
056            @Override
057            public double toDoubleValue() {
058                    return value;
059            }
060            
061            @Override
062            public int toInt() {
063                    return value;
064            }
065        
066        
067        @Override
068        public String toString() {
069            return String.valueOf(value);
070        }
071    }