JCmdLineProgress is a Java library to assist with progress reporting on the command line. Using simple hooks, a program can send progress messages and status information to the command line. Also, text based "spinners" can be used to provide visual confirmation that a long running but quiet program is still running. A working example is provided.
JagPDF is a library for generating PDF documents in C/C++, Python, and Java. It supports TrueType (subsetting) and standard 14 Type 1 fonts, font metrics, Unicode, UTF-8 and common 8-bit character encodings, images (JPEG, PNG, or custom), paths, color spaces (RGB, CMYK, CIE based, ICC profiles, indexed), encryption, bookmarks, hyperlinks, and more.
SQL Construction Kit aims to provide a simple builder/factory pattern based approach to generating DML SQL for all popular RDBMS systems. Included builders are SelectBuilder, InsertBuilder, UpdateBuilder, and DeleteBuilder. It is much lighter weight than any of the ORM tools available, and is 100% Java. It is a complete re-factoring of code that has been in production use since 2001 (updated to use features of Java 6). Also included is a Facade patterned Database object that wraps a Datasource object. This provides an execution framework for the results of the Builder objects, which includes simplified transaction and batch management as well as the ability to transparently handle SQL exceptions in a default manner. The Database object also provides a simple object-oriented approach via wrappers around the database metadata.
UltraGetopt for Java is the Java adaptation of the UltraGetopt library. It is a versatile and customizable library for dealing with command-line options in a manner natural to Java. UltraGetopt provides support for many common getopt() extensions as well as MS-DOS formatted option strings, partial option matching, case-insensitive matching, and much more. It also provides workalike behavior for several common implementations of getopt().
The "Faster Java Serialization" project aims to provide faster Java serialization by inspecting classes and generating tailor made serialization code on the fly. This serialization code is reused for every object of the same class. Objects are serialized to a NIO ByteBuffer, eliminating the need for numerous memory copies that take place during normal serialization to files or network. Currently, there are some limitations on the kinds of objects that can be serialized.