001    package railo.runtime.db;
002    
003    import railo.runtime.exp.PageException;
004    
005    /**
006     * a Item of a SQL Statement
007     */
008    public interface SQLItem {
009    
010        /**
011         * @return Returns the nulls.
012         */
013        public abstract boolean isNulls();
014    
015        /**
016         * @param nulls The nulls to set.
017         */
018        public abstract void setNulls(boolean nulls);
019    
020        /**
021         * @return Returns the scale.
022         */
023        public abstract int getScale();
024    
025        /**
026         * @param scale The scale to set.
027         */
028        public abstract void setScale(int scale);
029    
030        /**
031         * @return Returns the value.
032         */
033        public abstract Object getValue();
034    
035        /**
036         * @param value The value to set.
037         */
038        public abstract void setValue(Object value);
039    
040        /**
041         * @return Returns the cfsqltype.
042         */
043        public abstract int getType();
044    
045        /**
046         * @param type The cfsqltype to set.
047         */
048        public abstract void setType(int type);
049    
050        /**
051         * @param object
052         * @return cloned SQL Item
053         */
054        public abstract SQLItem clone(Object object);
055    
056        /**
057         * @return CF combatible Type
058         * @throws PageException
059         */
060        public abstract Object getValueForCF() throws PageException;
061    
062        /**
063         * @return Returns the isValueSet.
064         */
065        public abstract boolean isValueSet();
066    
067    }