Manifold is a 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.
Gain direct, type-safe access to any data source. Remove the code gen step in your build process.
// JSON files are types!
Person person = Person.fromJsonUrl(url);
person.setFirstName("Scott");
Add extension methods to existing Java classes, even String, List, and File. Eliminate boilerplate code.
String greeting = "hello";
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;
thing.myMethod(); // treat as your interface
Access private features with @Jailbreak to avoid the drudgery and vulnerability of Java reflection.
@Jailbreak Foo foo = new Foo();
// Direct, type-safe access to *all* foo's members
foo.privateMethod(x, y, z);
foo.privateField = value;
Make type-safe template files using pure Java. Use the same template expressions in Java strings.
int hour = 8;
// print "It is 8 o'clock"
System.out.println("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);
// 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.