package railo.runtime.op; import java.io.Serializable; import railo.runtime.exp.PageException; import railo.runtime.type.dt.DateTime; /** * Interface to define a Object as Castable, for Railo Type Casts */ public interface Castable extends Serializable{ /** * cast the castable value to a string, other than the Method toString, this Method can throw a Exception * @return String representation of the Object * @throws PageException */ public String castToString() throws PageException; /** * cast the castable value to a string, return the default value, when the method is not castable * @return String representation of the Object * @throws PageException */ public String castToString(String defaultValue); /** * cast the castable value to a boolean value * @return boolean Value representation of the Object * @throws PageException */ public boolean castToBooleanValue() throws PageException; /** * cast the castable value to a boolean value * @return boolean Value representation of the Object * @throws PageException */ public Boolean castToBoolean(Boolean defaultValue); /** * cast the castable value to a double value * @return double Value representation of the Object * @throws PageException */ public double castToDoubleValue() throws PageException; /** * cast the castable value to a double value * @return double Value representation of the Object * @throws PageException */ public double castToDoubleValue(double defaultValue); /** * cast the castable value to a date time object * @return date time representation of the Object * @throws PageException */ public DateTime castToDateTime() throws PageException; /** * cast the castable value to a date time object * @param defaultValue returned when it is not possible to cast to a dateTime object * @return date time representation of the Object * @throws PageException */ public DateTime castToDateTime(DateTime defaultValue); public int compareTo(String str) throws PageException; public int compareTo(boolean b) throws PageException; public int compareTo(double d) throws PageException; public int compareTo(DateTime dt) throws PageException; }