Installation guide

variable or other expression, since again the process of finding CFFUNCTION declarations
does not happen at run time but instead in a previous step of declaration analysis.
For similar reasons, BlueDragon will also not analyze a
CFINCLUDE that appears inside a
CFIF or indeed any other nested tag. A CFINCLUDE holding a CFFUNCTION declaration
must not occur inside any nested tags.
In summary, the rules for using CFINCLUDE within a CFCOMPONENT to declare component
functions are:
1. The
CFINCLUDE tags can't be nested within other tags (such as CFIF).
The filename specified in the
TEMPLATE attribute of CFINCLUDE tags must not contain
expressions.
2. A
CFINCLUDE cannot include another file containing additional CFFUNCTION
declarations.
6.6 Case Sensitivity in Java Method Calls
When accessing methods of Java objects (whether accessed by way of
CFOBJECT/CreateObject() or when referring to variable scopes that may have Java
objects within them), CFML (in both ColdFusion and BlueDragon) is case insensitive.
BlueDragon does, however, try to do a case-sensitive match first (to see if the case you
specified matches the case of an existing method in the Java object).
On the rare occasion where you need to call a method where there are 2 methods of the
same name differing only by case then case becomes important. BlueDragon will attempt
to resolve the ambiguity by performing a case sensitive match first. If that fails then an
exception is thrown reporting that the ambiguity could not be resolved.
For example, consider attempting to use the
isRequestedSessionidFromURL in the Java
servlet page context, as in:
<cfset rqObj = getPageContext().getRequest()>
<cfoutput>#rqObj.isRequestedSessionidFromURL()#</cfoutput>
There are actually two methods of that name in that object. One is spelled with URL in
caps while the other has url in lowercase. Which one should BlueDragon select? It
doesn’t really matter which case the method is named with, since CFML is not case sen-
sitive. You could even request it with:
<cfoutput>#rqObj.isrequestedsessionidfromurl()#</cfoutput>
Regardless of how you spell it, BlueDragon can’t determine which method you mean
since there are two of the same name but with different case. The message you’ll see is:
Method isRequestedSessionidFromURL is ambiguous as there is
more than one method that could correspond to the provided argu-
BlueDragon 6.1 CFML Compatibility and Reference Guide 38