The net.lemnik.eodsql.spi.util
package contains many helper classes
to aid in the creation of third-party QueryFactories
and MethodImplementations. The package
is mostly focused on providing the automatic binding mechanism used in the
standard QueryFactory.
The classes in this package are capable of automatically wrap a
ResultSet in all the standard type: arrays, List
,
Set
, Collection
, DataSet
and
DataIterator
. The package is also used to create
bindings to the base data-object's (which can also be customized).
The Query class is responsible for decoding EoD SQL query strings. It doesn't decode the SQL contained in a query (and therefore could contain any query language).
ResultSetWrapper is both
the parent class and the registry for classes that wrap a
ResultSet
object in another object format. Thus
a ResultSetWrapper
implementation is generally
responsible for creating the objects returned from annotated
methods.
Some of the ResultSetWrapper implementations include additional parameters that may be passed to them when they are created. These are usually bound to an attribute on their related annotation type.
A ResultSetWrapper
generally delegates the "row"
binding to a DataObjectBinding
object. A DataObjectBinding
is either bound to
a specific type
(excluding any sub-types) or as a fallback (or default) binding.