add javadoc


git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@814602 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/sigil/common/core/src/org/apache/felix/sigil/model/ICompoundModelElement.java b/sigil/common/core/src/org/apache/felix/sigil/model/ICompoundModelElement.java
index 374ef2b..143c7cd 100644
--- a/sigil/common/core/src/org/apache/felix/sigil/model/ICompoundModelElement.java
+++ b/sigil/common/core/src/org/apache/felix/sigil/model/ICompoundModelElement.java
@@ -23,20 +23,54 @@
 import java.util.Set;
 
 
+/**
+ * Represents a model element that is made up of sub model elements.
+ * 
+ * @author dave
+ *
+ */
 public interface ICompoundModelElement extends IModelElement
 {
+    /**
+     * Calls the applicable set/add method of this model to add the element to this part of the model.
+     * 
+     * @param children
+     * @return
+     * @throws InvalidModelException
+     */
     boolean addChild( IModelElement children ) throws InvalidModelException;
 
 
+    /**
+     * Calls the applicable set/remove method of this model to remove the element from this part of the model
+     * @param children
+     * @return
+     */
     boolean removeChild( IModelElement children );
 
 
+    /**
+     * List all direct child elements of this model element.
+     * @return
+     */
     IModelElement[] children();
 
 
+    /**
+     * Visits child elements of this model element, recursing down to sub compound elements when found.
+     * 
+     * @param walker
+     */
     void visit( IModelWalker walker );
 
 
+    /**
+     * Searches the model to find all child model elements which match the specified type
+     * 
+     * @param <T>
+     * @param type
+     * @return
+     */
     <T extends IModelElement> T[] childrenOfType( Class<T> type );
 
 
diff --git a/sigil/common/core/src/org/apache/felix/sigil/model/IModelElement.java b/sigil/common/core/src/org/apache/felix/sigil/model/IModelElement.java
index 6dc521a..073b4ce 100644
--- a/sigil/common/core/src/org/apache/felix/sigil/model/IModelElement.java
+++ b/sigil/common/core/src/org/apache/felix/sigil/model/IModelElement.java
@@ -25,8 +25,7 @@
 
 
 /**
- * Descriptors represent static information about component, composite or system. They allow other services to decide
- * how to deal with the given entity without the need to directly interact with the entity.
+ * IModelElement represent static information about a part of a model.
  * 
  * @author dave
  * 
@@ -34,7 +33,7 @@
 public interface IModelElement extends Cloneable
 {
     /**
-     * A brief human readable description of the component, composite or system.
+     * A brief human readable description of the element.
      * 
      * @return
      */
@@ -42,7 +41,7 @@
 
 
     /**
-     * A set of key value pairs designed for use by a machine to classify a particular component, composite or system.
+     * A set of key value pairs designed for use by a machine to classify a particular element.
      * 
      * @return
      */
@@ -51,7 +50,7 @@
 
     /**
      * Set meta data on this descriptor. Meta data is designed for use by a machine to classify or further enhance a
-     * particular component, composite or system.
+     * particular element.
      * 
      * @param meta
      */
@@ -59,7 +58,7 @@
 
 
     /**
-     * Check to see if this descriptor defines a complete set of properties. The definition of what constitutes a
+     * Check to see if this element defines a complete set of properties. The definition of what constitutes a
      * complete set is up to the implementing class.
      * 
      * @throws InvalidModelException
diff --git a/sigil/common/core/src/org/apache/felix/sigil/model/IModelWalker.java b/sigil/common/core/src/org/apache/felix/sigil/model/IModelWalker.java
index b058efa..93de16f 100644
--- a/sigil/common/core/src/org/apache/felix/sigil/model/IModelWalker.java
+++ b/sigil/common/core/src/org/apache/felix/sigil/model/IModelWalker.java
@@ -20,7 +20,22 @@
 package org.apache.felix.sigil.model;
 
 
+/**
+ * Visitor pattern to traverse nodes in the model.
+ * 
+ * @see ICompoundModelElement#visit(IModelWalker);
+ * 
+ * @author dave
+ *
+ */
 public interface IModelWalker
 {
+    /**
+     * Callback method providing the part of the model currently being visited.
+     * 
+     * @param element the element being visited
+     * 
+     * @return true to continue walking the model, false otherwise
+     */
     boolean visit( IModelElement element );
 }