Mirror of Apache Polygene java

Clone this repo:
  1. 031beef Polygene retired by Sebb · 5 years ago master
  2. b4f6be8 Merge branch 'release/3.0.0-RC4' by Paul Merlin · 7 years ago 3.0.0 3.0.0-RC4
  3. 42b3d33 Use platform line separators in exception messages by Paul Merlin · 7 years ago
  4. d0c1ff5 Removed Mongo ES tests based on embedded mongo by Paul Merlin · 7 years ago
  5. 49e6259 Update release guide by Paul Merlin · 7 years ago

Apache Polygene™ (Java Edition)

Composite Oriented Programming on the Java platform

License Build Status

What is Apache Polygene™

The short answer is that Apache Polygene™ is a community based effort exploring Composite Oriented Programming for domain centric application development. This includes evolved concepts from Aspect Oriented Programming, Dependency Injection and Domain Driven Design.

Composite Oriented Programming allows developers to work with fragments, smaller than classes, and compose fragments into larger composites which acts like the regular objects. Apache Polygene™ also tackles the enforcement of application composition, i.e. composites are declared in modules, modules are contained in layers and access between layers are controlled/enforced.

Apache Polygene™ (Java Edition), first Apache Polygene sub-project, is an implementation of Composite Oriented Programming, using the standard Java platform, without the use of any pre-processors or new language elements. Everything you know from Java still applies and you can leverage both your experience and toolkits to become more productive with Composite Oriented Programming today.

The Apache Polygene™ community welcomes any effort exploring Composite Oriented Programming for domain centric application development using any technology.

Please see https://polygene.apache.org for more information.


You can download released versions from: https://polygene.apache.org/download.html


Build instructions can be found here: http://polygene.apache.org/java/latest/build-system.html


Polygene™ started in 2007, and is still in heavy development under the umbrella of the Apache Polygene™ project at the Apache Software Foundation. We would like developers around the world to participate in the advancement of this cool, new and challenging technology. We are especially interested in people willing to help improve the SDK, samples, tutorials, documentation and other supporting material.

Please see http://polygene.apache.org/community/participate.html and http://zest.apache.org/community/playing_field.html for more information.

Opening in your IDE

IntelliJ IDEA

IntelliJ IDEA Community Edition has everything you need to open Apache Polygene™. To open the project in IDEA, simply open this repository as a project. During import, make sure “Create separate module per source set” is checked.


To open Apache Polygene™ in Netbeans you need to install the Gradle Support plugin. It is directly available via the Update Center (Tools/Plugins: Look for Gradle Support). Then, to open the project in Netbeans, simply open this repository as a project.


Eclipse supports Gradle based projects out of the box thanks to the Buildship project. To open the project in Eclipse, simply import this repository as a Gradle project.


Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at


Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.