Mastfrog Libraries on Maven Central
Home to a set of open source Java libraries developed by
Tim Boudreau over
many years, all available from
Maven Central under the group id
com.mastfrog
including frameworks
and utilities such as:
Frameworks
- Acteur —
A Netty-based framework with NodeJS-like semantics and a Guice-based, extensible logic pipeline that allows small chunks of application
logic to be written reusably and combined in ad-hoc ways. Extension libraries support MongoDB, JDBC, JSON-based logging, and much more.
· source ·
javadoc
- Giulius —
Utilities for simplifying and standardizing working with Guice and loading application settings, plus
Guice modules that integrate JDBC, MongoDB, Etcd, and more.
· source ·
javadoc
- Scamper —
A framework for writing SCTP protocols, clients and servers.
· source ·
javadoc
- Annotation Tools —
A toolkit for writing Java annotation processors - without having any dependency on the annotation classes being
processed, and for validating those annotations before doing any other processing, and processing
annotations in a deterministic order - the javac API
for doing this sort of thing - particularly referencing types without trying (and failing) to load them into
javac's JVM is excruciating. This library makes it trivial.
· source ·
javadoc
- Bunyan-Java —
A port of the NodeJS bunyan JSON-based logging library to Java - machine readable, standardized logging for the
modern world. Includes wrappers for common logging frameworks.
· source ·
javadoc
- Portable Crypto —
Java and NodeJS libraries that implement for interoperable AES128 and Blowfish encryption, signing and MACs, as wrappers
around the JDK and Node's built in cryptography support - getting these things to actually generate output the
other considers valid is harder than it ought to be.
· source ·
javadoc
Testing
- Giulius Tests —
A JUnit 4 test runner supporting test methods with parameters injected by Guice, and iterative running of the same test class or
method against multiple Guice modules to test multiple implementations bound by those modules.
· source ·
javadoc
- Blather —
Easily write asynchronous tests of websocket servers.
· source ·
javadoc
- Netty Http Test Harness —
Easily write unit tests that make asynchronous HTTP calls.
· source ·
javadoc
Libraries and Mini-Frameworks
- Bits —
A drop-in replacement for
java.util.BitSet
with read-only and read-write interfaces, support
for bit sets larger than Integer.MAX_VALUE
, with backing store implementations that include
off-heap memory and memory-mapped files in addition to Java long
arrays.
· source ·
javadoc
- Graph —
Uses the Bits library to implement high-performance, micro-memory-footprint directed graphs, with built-in implementations
of PageRank and other algorithms.
· source ·
javadoc
- Range —
Interfaces for working reliably with collections of ranges (integer or long) - a common and death-by-off-by-one-errors prone
problem in everything from time-series manipulation, to code completion, to memory management.
· source ·
javadoc
- Function —
Mirror interfaces for those in
java.util.function
that can throw exceptions, plus some missing
supplier and predicate interfaces.
· source ·
javadoc