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 }