A Cold Cup o' Joe, by Guy Rish
Volume 3, Issue 6


Listing 1

if(IsDefined("URL.logname")) { logname = URL.logname; } if(IsDefined("Form.logname"))
{ logname = Form.logname; } log = CreateObject("java", "net.rish.coldfusion.util.JVMLog");
log.init(logname); 
Installation of the JVM log failed. 
#CFCATCH.Detail# 

JVMLog Installed


Listing 2

log = CreateObject("java", "net.rish.coldfusion.util.JVMLog"); log.restore();

Restoration of the JVM standard PrintStreams failed. 
#CFCATCH.Details# 

JVM PrintStreams restored.


Listing 3

public class SignatureCheck
{
    public SignatureCheck()
    {


    }
        public String print(String arg)
    {
        return(new String("string: " + arg));
    }


    public String print(int arg)
    {
        return(new String("int: " + arg));
    }


    public String print(long l)
    {
        return(new String("long: " + l));
    }


    public String print(double d)
    {
        return(new String("double: " + d));
    }


    public String print(float f)
    {
        return(new String("float: " + f));
    }


    public String print(char c)
    {
        return(new String("char: " + c));
    }


    public String print(boolean b)
    {
    return(new String("boolean: " + b));
    }


}


Listing 4

 <HTML>
    <HEAD>
        <TITLE>Listing
4</TITLE>
    </HEAD>


    <BODY>


    <h1>Signature Check</h1>
    <br>
    <CFSCRIPT>
    sc = CreateObject("java", "SignatureCheck");


    x = 33;


    WriteOutput("<H2>String cast</H2>");
    object_string = JavaCast("String", x);
    WriteOutput(sc.print(object_string));


    WriteOutput("<H2>int cast</H2>");
    primitive_int = JavaCast("int", x);
    WriteOutput(sc.print(primitive_int));


    WriteOutput("<H2>long cast</H2>");
    primitive_long = JavaCast("long", x);
    WriteOutput(sc.print(primitive_long));


    WriteOutput("<H2>double cast</H2>");
    primitive_double = JavaCast("double", x);
    WriteOutput(sc.print(primitive_double));


    WriteOutput("<H2>float cast</H2>");
    primitive_float = JavaCast("float", x);
    WriteOutput(sc.print(primitive_float));


    </CFSCRIPT>


    </BODY>
</HTML>


Listing 5
Catching Errors
object creation error
purposefully misspelled method name
exception generated within a successful method call

#ListGetAt(ListGetAt(CFCATCH.Detail, 1, "]"), 2, "[")# 

Listing 6

public class Hello
{
    public static final String DEFAULT_STYLE = "Hello";
    protected String m_style = new String("");


    public Hello()
    {
    this(DEFAULT_STYLE);
    }


    public Hello(String style)
    {
    m_style = style;
    }


    public String getStyle()
    {
    return(m_style);
    }


    public void setStyle(String style)
    {
    m_style = style;
    }


    public String greeting()
    {
    return(new String(this.getStyle() + ", World"));
    }


    public String greeting(String whom)
    {
    return(new String(this.getStyle() + ", " + whom));
    }


    public void error()
    throws Exception
    {
    throw new Exception("[This is a purposefully throw exception.]");
    }
}


Listing 7

factory = CreateObject("java", "net.rish.coldfusion.util.DebuggingFactory");
hw = factory.create("Hello"); WriteOutput(hw.greeting()); 

Listing 8

factory = CreateObject("java", "net.rish.coldfusion.util.DebuggingFactory");
hw = factory.flush(); 

Download Associated zip files