CRest (Client REST) is a lightweight library that simplifies the integration of third party RESTful services into Java applications. CRest is mainly annotation-driven, allowing the developer to focus on the essential aspects of the integration of a REST service, such as the definition of the Java interface that maps the remote REST methods and the data model the interface will deal with. The rest is achieved by annotating a plain Java interface with the relevant information such as the service end-point, the desired timeouts, URL formats, etc. CRest will handle everything else, including HTTP request generation, auto marshalling of the response, and more.
GNU WebSocket4J is a WebSocket protocol implementation in Java. It allows you to build Web applications that interact with applications running in a JVM. GNU WebSocket4J implements both the server and client side of the protocol, so it can be used to build both WebSocket servers and clients.
InfinityDB is an all-Java B+Tree database engine that is embeddable in the smallest to the largest applications that run on hand held devices, workstations, servers, or in distributed systems. InfinityDB provides a data integrity guarantee through all non-media failures, provides a simple API with only a few basic methods, and requires no administrative support. Version 2 offers full ACID transactionality without a log and with fine-grained locks. Programmers can easily superimpose their own data model or employ the Entity-Attribute-Value model by direct low-level access. The basic engine provides multi-valued or set attributes, all primitive Java types, unlimited Large Objects, heterogenous values, composite keys (Entities) and values, and unlimited sparse attributes, all extensible in-place with no schema changes.
JAML (Java Application Markup Language) is a library for easier development of Java applications. It does this by allowing a declarative XML-based design of user interfaces. Although targeting the Java Swing Framework, it is extensible to initialize practically every Java object. A key aspect of the technology is the reduced complexity of JAML as opposed to the standard Java syntax.
MDIFramework provides a ready-to-use architecture to ease the creation MDI-style applications in Java. It takes care of the overall architecture of the main window of the application, with a tabbed architecture, the presence of an HTML printable message area, and so on. It provides a generic API to manage lengthy actions, keeping the interface responsive, and taking care that actions are performed one at a time, without having to bother about it. It can add metadata to already opened files. It manages loading and unloading of external plugins at runtime.
NW.ORM is a simple wrapper for accessing databases using hibernate in Java. It makes working with multiple databases easy. Aside from adding dependencies to your project and placing your hibernate configuration files in your classpath, no extra configuration is required. NW.ORM provides base classes for JPA-based class definitions. You can query using your method of choice. NW.ORM supports Criteria, HQL, and raw SQL.
Niocchi is a Java crawler library implementing synchronous I/O multiplexing. This specific type of implementation allows crawling tens of thousands of hosts in parallel on a single low end server. Niocchi has been designed for big search engines that need to crawl massive amount of data, but can also be used to write no-frills crawlers.
Perfmon4j is a suite of performance monitoring tools that are intended to be used to diagnose performance bottlenecks and monitor throughput and response time in production Java applications. Its main features include servlet response time monitoring, detailed thread trace sampling, Java instrumentation that enables Package, Class, and Method monitoring without code modification, snapshot monitoring of system metrics including Garbage Collection, Memory Pools, etc., an API for applying additional monitoring points via method annotations or in-line timers, and support for dynamically enabling monitors in running applications.
Property Binder is a Java library that provides typed access to entries in properties files. It offers such access by allowing a programmer to provide it a Java interface whose methods represent the keys of the properties file. The methods can be annotated to indicate what property the method represents, what default value(s) it should assume if the property is not present, and what pattern separates the individual values of multi-valued properties.