All subprojects of CookXml, such as CookSwing, CookSwt, CookJS, etc all have been updated to utilize the latest features of CookXml. So be sure to update these packages as well.
== What's New ==
# CookXml 2.4
* added setDefaultClassLoader and setClassLoader functions to CookXml to facilitate the resource locating. The tags that are affected are <include> and <text>.
# CookXml 2.3.1
* remove a debugging message that should have been commented out for accessing a field.
# CookXml 2.3
* added the feature to read/write non-public (package, private, protected) variables. By default, this feature is disabled. Call CookXml.setDefaultAccessible (true) or within individual CookXml objects, call setAccessible (true). Note that this feature will generate a SecurityException if there is a SecurityManager (as in case of sandbox Java Web Start) and thus should only be used if you have pretty much full permission access.
This feature is useful if you ever get annoyed by the number of public variables that show up in the public variable/function list of Eclipse/IntelliJ IDEA, this feature is useful hiding most of them. IntelliJ IDEA may consider some of those variables as unused though.
# CookXml 2.2
* added idref and varref global attributes. The purpose is to replace <idref> and <varref> tags. Instead of using
<varref ctor="myPanel" tag="panel"></varref>
in XML, now you can just do
<panel varref="myPanel"></panel>
, which is much more intuitive and clear. <idref> and <varref> tags will continue to stay for people who find them shorter to type sometimes.
* listeners can be added using variable reference or if it is the right type, it can be added directly. This allows listeners generated from script to be added via mechanism like setas="actionlistener".
# CookXml 2.1.1
* fixed a bug in <object ctor="className"> introduced in CookXml 2.0. The className check part of the code could not be reached due to an unchecked exception.
# CookXml 2.1
* idref tag now works for creators that use helper objects as well.
* identified a potential place where an exception could be leaked w/o being wrapped with CookXmlException.
* put NoCreatorException under CreatorException.
* CallFunctionSetter now throws exception if parameters don't match rather than quit sliently.
* added setProperty/getProperty functions to DecodeEngine so that it can act as a cache for individual creators.