001    package railo.runtime.dump;
002    
003    import java.util.Date;
004    
005    import railo.runtime.exp.ExpressionException;
006    import railo.runtime.exp.PageException;
007    import railo.runtime.op.Castable;
008    import railo.runtime.op.Caster;
009    import railo.runtime.op.Operator;
010    import railo.runtime.op.date.DateCaster;
011    import railo.runtime.type.dt.DateTime;
012    
013    public class SimpleDumpData implements DumpData,Castable {
014    
015            private String data;
016    
017            public SimpleDumpData(String data) {
018                    this.data=data;
019            }
020            public SimpleDumpData(double data) {
021                    this.data=Caster.toString(data);
022            }
023    
024            public SimpleDumpData(boolean data) {
025                    this.data=Caster.toString(data);
026            }
027            @Override
028            public String toString() {
029                    return data;
030            }
031            
032            @Override
033            public boolean castToBooleanValue() throws PageException {
034                    return Caster.toBooleanValue(data);
035            }
036        
037        @Override
038        public Boolean castToBoolean(Boolean defaultValue) {
039            return Caster.toBoolean(data,defaultValue);
040        }
041            
042            @Override
043            public DateTime castToDateTime() throws PageException {
044                    return Caster.toDatetime(data, null);
045            }
046        
047        @Override
048        public DateTime castToDateTime(DateTime defaultValue) {
049            return DateCaster.toDateAdvanced(data,true,null,defaultValue);
050        }
051            
052            @Override
053            public double castToDoubleValue() throws PageException {
054                    return Caster.toDoubleValue(data);
055            }
056        
057        @Override
058        public double castToDoubleValue(double defaultValue) {
059            return Caster.toDoubleValue(data,defaultValue);
060        }
061            
062            @Override
063            public String castToString() throws PageException {
064                    return Caster.toString(data);
065            }
066    
067            @Override
068            public String castToString(String defaultValue) {
069                    return Caster.toString(data,defaultValue);
070            }
071    
072            @Override
073            public int compareTo(boolean b) throws ExpressionException {
074                    return Operator.compare(data, b);
075            }
076    
077            @Override
078            public int compareTo(DateTime dt) throws PageException {
079                    return Operator.compare(data, (Date)dt);
080            }
081    
082            @Override
083            public int compareTo(double d) throws PageException {
084                    return Operator.compare(data, d);
085            }
086    
087            @Override
088            public int compareTo(String str) throws PageException {
089                    return Operator.compare(data, str);
090            }
091    }