An implementation of the core Niggle Data API's in com.revusky.niggle.data
that uses JDBC to store/retrieve the records to/from an external
database system.
This package contains a TransactionalDataSource interface that
would have to be implemented to wrap up a transactional
data source as a Niggle data source object.
An object that provides metadata about how to instantiate
a DataSource object -- it bridges the W3C DOM with our
DataSource descriptions in XML format.
An implementation of the ObjectInput interface
for slurping Records off a stream in their
default flat-file format, which is not
the standard Java serialised object format.
Dispatches the request based on the action
This actually delegates to the NiggleConfig
object that does some reflective magic
to invoke the method this.execFoo() for action "foo".
Given a ServletRequest and a record, attempts to fill in
the record's fields.
requires that the record is mutable
Generic heuristics for filling in a data record based on key=value
pairs in a ServletRequest object.
Check for presence of data field in CGI input.
wrapper for the ServletRequest's getParameter method
returns "" instead of null if the param is not found,
avoids annoying glitches.
A routine that says whether the given string
has unicode characters in it -- by that I mean,
characters above 0x7F, for which a naive byte encoding
will not work.
A version of the Freemarker TemplateCache that fishes out a
different template based on locale information.
(should be rolled into Freemarker actually)
Thrown when there is an attempt to put
a value in a record's fields that does not match
the metadata description, e.g. alpha in numeric field,
value out of range.
convenience method to rethrow an exception
as a RuntimeException. t is an instanceof
RuntimeException, it just rethrows, otherwise,
it throws a wrapped AssertionFailedException