Expanded the package javadoc

git-svn-id: https://svn.apache.org/repos/asf/tiles/framework/trunk@1294457 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/attribute/package-info.java b/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/attribute/package-info.java
index d77953f..5b70eee 100644
--- a/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/attribute/package-info.java
+++ b/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/attribute/package-info.java
@@ -19,6 +19,10 @@
  * under the License.
  */
 /**
- * Contains methods to get and set attributes from different sources.
+ * Methods to get, set and remove attributes from different sources (like HTTP requests 
+ * or sessions).
+ * By implementing {@link org.apache.tiles.request.attribute.AttributeExtractor},
+ * you can use a Map from {@link org.apache.tiles.request.collection} to manipulate the
+ * attributes of another class.
  */
 package org.apache.tiles.request.attribute;
diff --git a/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/collection/package-info.java b/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/collection/package-info.java
index 90eeae3..02818bf 100644
--- a/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/collection/package-info.java
+++ b/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/collection/package-info.java
@@ -19,6 +19,18 @@
  * under the License.
  */
 /**
- * Special collections and maps for attributes.
+ * Special collections and maps for attributes (like HTTP request 
+ * or session attributes).
+ * These can be used to access another object's attributes through 
+ * a Map interface.
+ * <ul>
+ * <li> {@link org.apache.tiles.request.collection.ScopeMap} provides
+ * full get/put/remove access to the attributes.
+ * <li> {@link org.apache.tiles.request.collection.ReadOnlyEnumerationMap}
+ * provides get-only access.
+ * <li> {@link org.apache.tiles.request.collection.HeaderValuesMap}
+ * provides get-only access to a multi-valued map (typically, headers).
+ * </ul>
  */
 package org.apache.tiles.request.collection;
+
diff --git a/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/package-info.java b/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/package-info.java
index 469451e..65d2558 100644
--- a/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/package-info.java
+++ b/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/package-info.java
@@ -19,8 +19,28 @@
  * under the License.
  */
 /**
- * This package abstracts the concept of "request" to make it independent
- * to any technology. It collects concepts from servlets, portlets, template technologies
- * in a uniform way.
+ * This package defines the concept of "request" as the event causing a 
+ * document to be generated from a template. The process is also called
+ * "rendering the template". Typical examples are servlet requests or 
+ * portlet requests. 
+ * 
+ * This API is independent of the underlying technology, allowing the user 
+ * to deal with similarities in servlets and portlets, or various template 
+ * technologies, in a uniform way.
+ * 
+ * It is based on 3 main interfaces:
+ * <ul>
+ * <li>{@link org.apache.tiles.request.Request} is the main abstraction, 
+ * encapsulating the parameters of the template (as attributes and scopes)
+ * and the target document (as java.io.OutputStream). 
+ * {@link org.apache.tiles.request.DispatchRequest} holds some features common
+ * to servlets and portlets that are unlikely to be found outside of a JavaEE
+ * web environment.
+ * <li>{@link org.apache.tiles.ApplicationContext} can be used to access
+ * application-wide configuration and resources (typically the files containing
+ * the templates).
+ * <li>{@link org.apache.tiles.request.render.Renderer} is the interface supported
+ * by the engine in charge of rendering the template.
+ * <ul>
  */
 package org.apache.tiles.request;
diff --git a/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/reflect/package-info.java b/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/reflect/package-info.java
index 1ea2fcc..299c145 100644
--- a/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/reflect/package-info.java
+++ b/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/reflect/package-info.java
@@ -19,6 +19,6 @@
  * under the License.
  */
 /**
- * Classes to manage reflection in a centralized way for Tiles.
+ * Utilities to work with dynamic class loading and instantiation.
  */
 package org.apache.tiles.request.reflect;
diff --git a/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/render/package-info.java b/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/render/package-info.java
index 963f830..1796814 100644
--- a/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/render/package-info.java
+++ b/tiles-request/tiles-request-api/src/main/java/org/apache/tiles/request/render/package-info.java
@@ -19,6 +19,17 @@
  * under the License.
  */
 /**
- * Classes to allow rendering of a path in a uniform way.
+ * Classes to allow rendering of a template (described by its path) 
+ * in a uniform way.
+ * 
+ * Besides the top level interface {@link org.apache.tiles.request.render.Renderer},
+ * the package contains:
+ * <ul>
+ * <li>trivial examples: {@link org.apache.tiles.request.render.StringRenderer} 
+ * and {@link org.apache.tiles.request.render.DispatchRenderer}.
+ * <li>usual design patterns: {@link org.apache.tiles.request.render.ChainedDelegateRenderer},
+ * {@link org.apache.tiles.request.render.PublisherRenderer}, and 
+ * {@link org.apache.tiles.request.render.RendererFactory}.
+ * </ul>
  */
 package org.apache.tiles.request.render;