{"repo":"manifold-systems/manifold","free":true,"listed":false,"github":"https://github.com/manifold-systems/manifold","clone":"git clone https://github.com/manifold-systems/manifold.git","description":"Manifold is a Java compiler plugin, its features include Metaprogramming, Properties, Extension Methods, Operator Overloading, Templates, a Preprocessor, and more.","language":"Java","stars":2760,"topics":["java","intellij","json","template-engine","reflection-framework","extension-methods","structural-typing","duck-typing","java-tooling","java-development"],"license":"Apache-2.0","category":"databases-storage","readme_excerpt":"--- Manifold Manifold extends Java at compile time through the Java compiler plugin API. It adds language features and type-safe access to external data, APIs, and DSLs directly to Java, without leaving the Java compiler and without additional build steps. Compile-time metaprogramming type-safely integrates any kind of schema, metadata, or DSL directly into Java. These include: SQL (New!) JSON & JSON Schema, YAML, XML GraphQL Language enhancements improve developer productivity. Such as: Parts ( true composition) (New!) Extension methods Properties Optional parameters Operator overloading Tuple expressions A preprocessor Add only the features you want to an existing Java project and keep using ordinary Java, Java libraries, and the JVM. Works with JDK LTS releases 8 - 25 + latest, plus comprehensive IDE support in IntelliJ IDEA and Android Studio . --- What can you do with Manifold? Parts ( true composition) Parts is a compositional model that resolves a long-standing dilemma in statically typed object-oriented programming: independent runtime components and internal polymorphism remain unreconciled in general-purpose languages. Independent components Internal polymorphism :----------------------------------- :--------------------: :-------------------: Implementation inheritance — ✓ Trait/mixin composition (flattening) — ✓ Object composition (forwarding) ✓ — Parts ✓ ✓ Parts provides both properties in arbitrary compositions without sacrificing component independence, limitin","default_branch":null,"files":null,"tree":[],"storefront":"/r/manifold-systems","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/manifold-systems/manifold/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}