New and modified functions
Core Functions
Render (new)
render(string code [,string dialect]):string
Similar to the function evaluate
, this function executes CFML/Lucee code that you provide as a string.
render('<cfmail subject="Hi There!" from="#from#" to="#to#">Salve!</cfmail> ');
getTagData/getFunctionData (extended)
These 2 functions are now supporting a new argument named dialect
.
Possible values are CFML
or Lucee
.
With this argument you can define the dialect you want details for, if not defined the dialect of the current template is used.
Locale/Regional Functions
Functions specific for dealing with locale
and timezone
. Lucee 5 now handles locale
(java.util.Locale) and timezone
(java.util.TimeZone) objects natively.
So the function getLocale()
now returns a locale object and getTimeZone()
now returns a timezone object. Of course Lucee can still handle string representations of these types as previously.
GetLocaleInfo (new)
getLocaleInfo([,locale locale [, locale displayLocale]]):struct
This function merges the locale
functions getLocaleCountry, getLocaleDisplayName, getLocaleInfo, getLocaleLanguage
to a single function and "deprecate" the existing locale functions.
dump(getLocaleInfo(getLocale())); // shows information from a locale object
dump(getLocaleInfo("de_ch")); // shows information to a locale string
OSGi Functions
Functions specific for dealing with OSGi.
BundleInfo (new)
bundleInfo(any object):struct
If the given object is loaded via an OSGi bundle, this function returns the information about the bundle.
dump(bundleInfo(obj)); // dumps from what bundle the class of the given object comes from
ManifestRead (new)
manifestRead(string pathToJarOrManifestFile):struct
Reads a manifest file and returns the contents as a struct.
dump(manifestread("C:\whatever\whatever.jar")); // dumps the manifest from whatever.jar as a struct
CreateObject (extended)
createObject("java", string className, string nameOrPath, string versionOrDelimiter)
The createObject("java",...)
function has been extended and you can use this function in the same way, but in addition you can also load a class by defining an OSGi bundle and version. In that case Lucee will check if that class is available locally, if not it will try to download the necessary bundle from the update provider.
// Load a class with the definition of the bundle name and version, in this case we are using a different version than the one Lucee has in the core.
POIFSFileSystem=createObject("java","org.apache.poi.poifs.filesystem.POIFSFileSystem","apache.poi","3.11.0");
// The second and third argument are optional, if the version does not matter simply omit it.
POIFSFileSystem=createObject("java","org.apache.poi.poifs.filesystem.POIFSFileSystem","apache.poi");
// Or if the class is available in the environment
POIFSFileSystem=createObject("java","org.apache.poi.poifs.filesystem.POIFSFileSystem");
// You can also still load objects the classic way, but this is not recommended.
POIFSFileSystem=createObject("java","org.apache.poi.poifs.filesystem.POIFSFileSystem","C:\whatever\apache-poi.jar");
Web Service Functions
Functions to handle web services.
WebserviceNew (new)
webserviceNew(string url [, struct arguments]):webserviceProxy
Creates a web service proxy object, a reference to a remote webservice. This function is a replacement for the createObject("webservice",...)
function.
Cache Functions
With Lucee 5 we have added some cache functions related to "regions", but these functions only have only been added for compatibility to other CFML Engines. These functions are already marked as "deprecated" and we strongly suggest not to use them in new code.
The functions are:
- cacheregionexists()
- cacheregionnew()
- cacheregionremove()
Encryption Functions
GeneratePBKDFKey(string algorithm, string passphrase, string salt, numeric iterations [, numeric keysize])