Manifold is a revolutionary new breed of Java tooling. It provides powerful features to make Java development more appealing and productive. Simply add the Manifold jar to your project and begin taking advantage of it.What can you do with Manifold? Meta-programming
Gain direct, type-safe access to structured data. Eliminate code generators. Minimize build time.
// JSON files are types!Extensions
Person person = Person.fromJsonUrl(url);
Add extension methods and interfaces to existing Java classes, even String, List, and File. Eliminate boilerplate code.
String greeting = "hello";Structural Typing
greeting.myMethod(); // augment any type
Unify disparate APIs. Bridge software components you do not control. Access maps through type-safe interfaces.
MyInterface thing = (MyInterface)notMyInterface;Templates
thing.myMethod(); // treat as your interface
Make type-safe, templatized data files using pure Java. Use the same template expressions in Java strings.
int hour = 8;Libraries
// "It is 8 o'clock"
String time = "It is $hour o'clock";
Leverage stock Manifold extension libraries for standard Java classes. Save time and reduce boilerplate code.
File file = new File(path);IntelliJ
// Use refreshing extensions to File
String content = file.readText();
Use the Manifold IntelliJ IDEA plugin to fully leverage Manifold in your development cycle. The plugin provides comprehensive support for IntelliJ features including code completion, navigation, usage searching, refactoring, incremental compilation, hotswap debugging, full-featured template editing, and more.Learn More