Index: api/src/main/java/org/jboss/declarchive/api/container/WebContainer.java
===================================================================
--- api/src/main/java/org/jboss/declarchive/api/container/WebContainer.java	(revision 3461)
+++ api/src/main/java/org/jboss/declarchive/api/container/WebContainer.java	(working copy)
@@ -51,8 +51,8 @@
     * @return This virtual archive
     * @throws IllegalArgumentException if resourceName is null
     */
-   T setWebXML(String resourceName)  throws IllegalArgumentException;
-   
+   T setWebXML(String resourceName) throws IllegalArgumentException;
+
    /**
     * Adds the resource with the specified name
     * to the container, returning the container itself.
@@ -68,7 +68,7 @@
     * @throws IllegalArgumentException
     */
    T addWebResource(String resourceName) throws IllegalArgumentException;
-   
+
    /**
     * Adds the resource with the specified name
     * to the container, returning the container itself.
@@ -86,4 +86,4 @@
     * @throws IllegalArgumentException if resourceName is null
     */
    T addWebResource(Path target, String resourceName) throws IllegalArgumentException;
-}
+}
\ No newline at end of file
Index: api/src/main/java/org/jboss/declarchive/api/container/EnterpriseContainer.java
===================================================================
--- api/src/main/java/org/jboss/declarchive/api/container/EnterpriseContainer.java	(revision 3461)
+++ api/src/main/java/org/jboss/declarchive/api/container/EnterpriseContainer.java	(working copy)
@@ -51,7 +51,7 @@
     * @throws IllegalArgumentException if resourceName is null
     */
    T setApplicationXML(String resourceName) throws IllegalArgumentException;
-   
+
    /**
     * Adds a resource to this Archives application context.
     * <br/><br/>
@@ -66,7 +66,7 @@
     * @throws IllegalArgumentException if resourceName is null
     */
    T addApplicationResource(String resourceName) throws IllegalArgumentException;
-   
+
    /**
     * Adds a resource to this Archives application context.
     * <br/><br/>
Index: api/src/main/java/org/jboss/declarchive/api/container/LibraryContainer.java
===================================================================
--- api/src/main/java/org/jboss/declarchive/api/container/LibraryContainer.java	(revision 3461)
+++ api/src/main/java/org/jboss/declarchive/api/container/LibraryContainer.java	(working copy)
@@ -53,7 +53,7 @@
     * @throws IllegalArgumentException if resourceName is null
     */
    T addLibrary(String resourceName) throws IllegalArgumentException;
-   
+
    /**
     * Adds the resource with the specified name
     * as a library to the container under the target path, returning the container itself.
@@ -72,7 +72,7 @@
     * @throws IllegalArgumentException if resourceName is null
     */
    T addLibrary(Path target, String resourceName) throws IllegalArgumentException;
-   
+
    /**
     * Add another Archive<?> to this Archive as a Library.
     * <br/><br/>
@@ -84,4 +84,4 @@
     * @throws IllegalArgumentException if Archive is null
     */
    T addLibrary(Archive<?> archive) throws IllegalArgumentException;
-}
+}
\ No newline at end of file
Index: api/src/main/java/org/jboss/declarchive/api/container/ManifestContainer.java
===================================================================
--- api/src/main/java/org/jboss/declarchive/api/container/ManifestContainer.java	(revision 3461)
+++ api/src/main/java/org/jboss/declarchive/api/container/ManifestContainer.java	(working copy)
@@ -52,7 +52,7 @@
     * @throws IllegalArgumentException if resourceName is null
     */
    T setManifest(String resourceName) throws IllegalArgumentException;
-   
+
    /**
     * Adds the resource with the specified name
     * to the container, returning the container itself.
@@ -68,7 +68,7 @@
     * @throws IllegalArgumentException if resourceName is null
     */
    T addManifestResource(String resourceName) throws IllegalArgumentException;
-   
+
    /**
     * Adds the resource with the specified name
     * to the container, returning the container itself.
@@ -86,4 +86,4 @@
     * @throws IllegalArgumentException if resourceName is null
     */
    T addManifestResource(Path target, String resourceName) throws IllegalArgumentException;
-}
+}
\ No newline at end of file
Index: api/src/main/java/org/jboss/declarchive/api/container/ResourceContainer.java
===================================================================
--- api/src/main/java/org/jboss/declarchive/api/container/ResourceContainer.java	(revision 3461)
+++ api/src/main/java/org/jboss/declarchive/api/container/ResourceContainer.java	(working copy)
@@ -128,4 +128,4 @@
     */
    T addResource(Path target, URL location) throws IllegalArgumentException;
 
-}
+}
\ No newline at end of file
Index: api/src/main/java/org/jboss/declarchive/api/jar/WebArchive.java
===================================================================
--- api/src/main/java/org/jboss/declarchive/api/jar/WebArchive.java	(revision 0)
+++ api/src/main/java/org/jboss/declarchive/api/jar/WebArchive.java	(revision 0)
@@ -0,0 +1,43 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed 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.
+ */
+package org.jboss.declarchive.api.jar;
+
+
+import org.jboss.declarchive.api.Archive;
+import org.jboss.declarchive.api.container.ClassContainer;
+import org.jboss.declarchive.api.container.LibraryContainer;
+import org.jboss.declarchive.api.container.ManifestContainer;
+import org.jboss.declarchive.api.container.WebContainer;
+
+/**
+ * WebArchive
+ * 
+ * Traditional WAR (Java Web Archive) structure. Used in 
+ * construction of web applications.
+ *
+ * @see TODO: find war spec doc url
+ * @author <a href="mailto:aslak@conduct.no">Aslak Knutsen</a>
+ * @version $Revision: $
+ */
+public interface WebArchive extends 
+      Archive<WebArchive>, 
+      ManifestContainer<WebArchive>,
+      ClassContainer<WebArchive>,
+      LibraryContainer<WebArchive>,
+      WebContainer<WebArchive>
+{
+}
Index: api/src/main/java/org/jboss/declarchive/api/jar/EnterpriseArchive.java
===================================================================
--- api/src/main/java/org/jboss/declarchive/api/jar/EnterpriseArchive.java	(revision 0)
+++ api/src/main/java/org/jboss/declarchive/api/jar/EnterpriseArchive.java	(revision 0)
@@ -0,0 +1,43 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed 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.
+ */
+package org.jboss.declarchive.api.jar;
+
+import org.jboss.declarchive.api.Archive;
+import org.jboss.declarchive.api.container.EnterpriseContainer;
+import org.jboss.declarchive.api.container.LibraryContainer;
+import org.jboss.declarchive.api.container.ManifestContainer;
+import org.jboss.declarchive.api.container.ResourceContainer;
+
+/**
+ * EnterpriseArchive
+ *
+ * Traditional EAR (Java Enterprise Archive) structure. Used in 
+ * construction of enterprise applications.
+ *
+ * @see TODO: find ear spec doc url
+ * @author <a href="mailto:aslak@conduct.no">Aslak Knutsen</a>
+ * @version $Revision: $
+ */
+public interface EnterpriseArchive extends 
+      Archive<EnterpriseArchive>, 
+      ResourceContainer<EnterpriseArchive>, 
+      ManifestContainer<EnterpriseArchive>, 
+      LibraryContainer<EnterpriseArchive>,
+      EnterpriseContainer<EnterpriseArchive>
+{
+
+}
Index: api/src/main/java/org/jboss/declarchive/api/jar/JavaArchive.java
===================================================================
--- api/src/main/java/org/jboss/declarchive/api/jar/JavaArchive.java	(revision 0)
+++ api/src/main/java/org/jboss/declarchive/api/jar/JavaArchive.java	(revision 0)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed 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.
+ */
+package org.jboss.declarchive.api.jar;
+
+import org.jboss.declarchive.api.Archive;
+import org.jboss.declarchive.api.container.ClassContainer;
+import org.jboss.declarchive.api.container.ManifestContainer;
+import org.jboss.declarchive.api.container.ResourceContainer;
+
+/**
+ * JavaArchive
+ * 
+ * Traditional JAR (Java ARchive) structure. Used in 
+ * construction of libraries and applications.
+ *
+ * @see http://java.sun.com/j2se/1.5.0/docs/guide/jar/jar.html
+ * @author <a href="mailto:andrew.rubinger@jboss.org">ALR</a>
+ * @author <a href="mailto:aslak@conduct.no">Aslak Knutsen</a>
+ * @version $Revision: $
+ */
+public interface JavaArchive extends 
+      Archive<JavaArchive>, 
+      ResourceContainer<JavaArchive>, 
+      ManifestContainer<JavaArchive>, 
+      ClassContainer<JavaArchive>
+{
+}
