f6a2ad10004c1501865f9b6ecfb7e5856af13a84
1. ColumnExp is now parameterized on the type of the column it represents. This
enables item number two.
2. The beginnings of a very primitive implementation of individual field
selection, which looks like:
List<Tuple2<Integer,String>> results = from(FooRecord.class).where(
FooRecord.ID.in(someIds)).select(FooRecord.ID, FooRecord.NAME);
I don't advise using this new functionality just yet, because it's very
primitive and will probably break if you try to do anything fancy. Plus it
doesn't interact with the cache at all yet.
However, I wanted to get the typed ColumnExp bits in there so that I can
migrate all the existing projects over and get that painful business out of the
way. Note for the jumpy: migration in this case means eliminating a bunch of
unchecked type usage warnings, rather than behavioral changes. The existing
Depot functionality continues to work exactly as is. The types are not used
except for in the new individual field selection code.
One bit of code that will break is calls to updatePartial() which used to take
a Map<ColumnExp, ?> and now take a Map<ColumnExp<?>, ?>. Since those were
already in generics land, they won't just fail with an unchecked type warning,
the compiler will reject the old call (the calls are binary compatible, so
unrecompiled code will still work fine). Fortunately the Map-taking
updatePartial is not called that much outside of MSOY, which I have already
migrated to fully parameterized ColumnExp land.
Depot Persistence Library ------------------------- Depot is a relational persistence library for Java. It is an ORM library, but has aims that are somewhat different from the popular "managed" persistence libraries like Hibernate and others. Website ------- See the Depot website for documentation and other info: http://code.google.com/p/depot/ Building -------- The library is built using ant. It can be found here: http://jakarta.apache.org/ant/ If you use build-ivy.xml to build, the necessary dependencies will be automatically fetched by Ivy (which will itself be downloaded if needed). To compile the code and generate a jar file, invoke: % ant -f build-ivy.xml dist Invoke 'ant -f build-ivy.xml -p' to see information on other build targets. Depot also provides .classpath and .project files for Eclipse users which require that you set an EXT_LIBS_DIR variable indicating the location of the external jar dependencies. The Depot Eclipse project also depends on the Eclipse project for the samskivert library. That library can be found at: http://code.google.com/p/samskivert/ License and Distribution ------------------------ Depot is released under the LGPL. This means you are free to use Depot on any project, open source or proprietary, but that any modifications made to the library must be made available to the maintainers. See COPYING for more detailed information. The most recent version of the Depot source code is available at the website listed above. $Id$
Description
Languages
Java
95.6%
Shell
4.3%