JGA is a functors library useful for exploring and exploiting functors as a design and implementation tool to reduce boilerplate coding. A functor is an object that encapsulates a function or expression: it can take arguments and produce results, as can any method, expression, or function (in other languages that support functions). Unlike an expression, as an object it can be passed as an argument without being executed, it can be persisted to a database or file, it can be serialized and passed from client to server (and back), and it can be instantiated at runtime based on information unavailable at compile-time. This project borrows the functors from C++ STL library, and extends them with functors that are natural for Java programmers. It also borrows the notion that basic functors implementing common operations can be profitably combined into compound structures to implement more useful logic.