<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"?>
<!--
  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
  
  http://www.apache.org/licenses/LICENSE-2.0
  
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<rdf:RDF xml:lang="en"
         xmlns="http://usefulinc.com/ns/doap#" 
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
         xmlns:asfext="http://projects.apache.org/ns/asfext#"
         xmlns:foaf="http://xmlns.com/foaf/0.1/">
<!--
  =======================================================================

   Copyright (c) 2011 The Apache Software Foundation.  
   All rights reserved.

  =======================================================================
-->
  <Project rdf:about="https://polygene.apache.org/">
    <created>2015-03-18</created>
    <license rdf:resource="http://usefulinc.com/doap/licenses/asl20" />
    <name>Apache Polygene</name>
    <homepage rdf:resource="https://polygene.apache.org/" />
    <asfext:pmc rdf:resource="https://polygene.apache.org" />
    <shortdesc>Apache Polygene is a community based effort exploring Composite Oriented Programming for domain centric application development.</shortdesc>
    <description>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. 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.</description>
    <bug-database rdf:resource="https://issues.apache.org/jira/browse/POLYGENE" />
    <mailing-list rdf:resource="https://www.apache.org/foundation/mailinglists.html" />
    <download-page rdf:resource="https://polygene.apache.org/download.html" />
    <programming-language>Java</programming-language>
    <programming-language>C#</programming-language>
    <programming-language>Scala</programming-language>
    <programming-language>Groovy</programming-language>
    <programming-language>JavaScript</programming-language>
    <category rdf:resource="http://projects.apache.org/category/library" />
    <repository>
      <SVNRepository>
        <location rdf:resource="http://svn.apache.org/repos/asf/polygene/"/>
        <browse rdf:resource="http://svn.apache.org/viewcvs.cgi/polygene/"/>
      </SVNRepository>
    </repository>
    <repository>
      <GitRepository>
        <location rdf:resource="https://git-wip-us.apache.org/repos/asf/polygene-java.git"/>
        <browse rdf:resource="https://github.com/apache/polygene-java"/>
      </GitRepository>
    </repository>
    <maintainer>
      <foaf:Person>
        <foaf:name>Niclas Hedhman</foaf:name>
          <foaf:mbox rdf:resource="mailto:niclas@apache.org"/>
      </foaf:Person>
    </maintainer>
  </Project>
</rdf:RDF>
