Committed. 

Thanks,
Scott

On Sat, Dec 08, 2001 at 10:30:56AM +0000, robert burrell donkin wrote:
> hi james
> 
> here's some documentation patchs.
> 
> - robert
> 

> Index: betwixt/src/java/org/apache/commons/betwixt/ElementDescriptor.java
> ===================================================================
> RCS file: 
>/home/cvs/jakarta-commons-sandbox/betwixt/src/java/org/apache/commons/betwixt/ElementDescriptor.java,v
> retrieving revision 1.3
> diff -u -r1.3 ElementDescriptor.java
> --- betwixt/src/java/org/apache/commons/betwixt/ElementDescriptor.java        
>2001/08/23 14:25:57     1.3
> +++ betwixt/src/java/org/apache/commons/betwixt/ElementDescriptor.java        
>2001/12/08 09:53:39
> @@ -14,26 +14,33 @@
>  /** <p><code>ElementDescriptor</code> describes the XML elements
>    * to be created for a bean instance.</p>
>    *
> +  * <p> It contains <code>AttributeDescriptor</code>'s for all it's attributes
> +  * and <code>ElementDescriptor</code>'s for it's child elements.
> +  *
>    * @author <a href="mailto:[EMAIL PROTECTED]";>James Strachan</a>
>    * @version $Revision: 1.3 $
>    */
>  public class ElementDescriptor extends NodeDescriptor {
>  
> +    /** Descriptors for element attributes */
>      private AttributeDescriptor[] attributeDescriptors;
> +    /** Descriptors for child elements */
>      private ElementDescriptor[] elementDescriptors;
>      
>      /** the expression used to evaluate the new context of this node 
>       * or null if the same context is to be used */
>      private Expression contextExpression;
>    
> -    
> +    /** Base constructor */
>      public ElementDescriptor() {
>      }
>  
> +    /** Creates a <code>ElementDescriptor</code> with no namespace URI or prefix */
>      public ElementDescriptor(String localName) {
>          super( localName );
>      }
>  
> +    /** Creates a <code>ElementDescriptor</code> with namespace URI and qualified 
>name */
>      public ElementDescriptor(String localName, String qualifiedName, String uri) {
>          super(localName, qualifiedName, uri);
>      }
> @@ -53,6 +60,7 @@
>          return attributeDescriptors;
>      }
>      
> +    /** Set <code>AttributesDescriptors</code> for this element */
>      public void setAttributeDescriptors(AttributeDescriptor[] attributeDescriptors) 
>{
>          this.attributeDescriptors = attributeDescriptors;
>      }
> @@ -61,7 +69,8 @@
>      public ElementDescriptor[] getElementDescriptors() {
>          return elementDescriptors;
>      }
> -    
> +
> +    /** Set descriptors for child element of this element */
>      public void setElementDescriptors(ElementDescriptor[] elementDescriptors) {
>          this.elementDescriptors = elementDescriptors;
>      }

> Index: betwixt/src/java/org/apache/commons/betwixt/AttributeDescriptor.java
> ===================================================================
> RCS file: 
>/home/cvs/jakarta-commons-sandbox/betwixt/src/java/org/apache/commons/betwixt/AttributeDescriptor.java,v
> retrieving revision 1.1
> diff -u -r1.1 AttributeDescriptor.java
> --- betwixt/src/java/org/apache/commons/betwixt/AttributeDescriptor.java      
>2001/08/22 12:25:02     1.1
> +++ betwixt/src/java/org/apache/commons/betwixt/AttributeDescriptor.java      
>2001/12/08 09:53:13
> @@ -17,13 +17,16 @@
>    */
>  public class AttributeDescriptor extends NodeDescriptor {
>  
> +    /** Base constructor */
>      public AttributeDescriptor() {
>      }
>  
> +    /** Creates a AttributeDescriptor with no namespace URI or prefix */
>      public AttributeDescriptor(String localName) {
>          super( localName );
>      }
>  
> +    /** Creates a AttributeDescriptor with namespace URI and qualified name */
>      public AttributeDescriptor(String localName,String qualifiedName,String uri) {
>          super(localName, qualifiedName, uri);
>      }

> Index: betwixt/src/java/org/apache/commons/betwixt/io/BeanWriter.java
> ===================================================================
> RCS file: 
>/home/cvs/jakarta-commons-sandbox/betwixt/src/java/org/apache/commons/betwixt/io/BeanWriter.java,v
> retrieving revision 1.6
> diff -u -r1.6 BeanWriter.java
> --- betwixt/src/java/org/apache/commons/betwixt/io/BeanWriter.java    2001/08/23 
>15:03:07     1.6
> +++ betwixt/src/java/org/apache/commons/betwixt/io/BeanWriter.java    2001/12/08 
>09:55:21
> @@ -24,8 +24,23 @@
>  import org.apache.commons.betwixt.expression.Context;
>  import org.apache.commons.betwixt.expression.Expression;
>  
> -/** <p><code>BeanWriter</code> outputs a bean as XML.</p>
> +/** <p><code>BeanWriter</code> output beans as XML.</p>
> +  * The output for each bean is an xml fragment
> +  * (rather than a well-formed xml-document).
> +  * This allows bean representations to be appended to a document 
> +  * by writing each in turn to the stream.
> +  * So to create a well formed xml document, 
> +  * you'll need to write the prolog to the stream first.
> +  * If you append more than one bean to the stream, 
> +  * then you'll need to add a wrapping root element as well.
>    *
> +  * <p> The line ending to be used is set by {@link #setEndOfLine}. 
> +  * 
> +  * <p> The output can be formatted (with whitespace) for easy reading 
> +  * by calling {@link #enablePrettyPrint}. 
> +  * The output will be indented. 
> +  * The indent string used is set by {@link #setIndent}.
> +  *
>    * @author <a href="mailto:[EMAIL PROTECTED]";>James Strachan</a>
>    * @version $Revision: 1.6 $
>    */
> @@ -44,20 +59,39 @@
>      /** should we flush after writing bean */
>      private boolean autoFlush;
>      
> +    /**
> +     * <p> Constructor uses <code>System.out</code> for output.</p>
> +     */
>      public BeanWriter() {
>          this( System.out );
>      }
> -
> +    
> +    /**
> +     * <p> Constuctor uses given <code>OutputStream</code> for output.</p>
> +     *
> +     * @param out write out representations to this stream
> +     */
>      public BeanWriter(OutputStream out) {
>          this.writer = new BufferedWriter( new OutputStreamWriter( out ) );
>          this.autoFlush = true;
>      }
>  
> +    /**
> +     * <p> Constructor sets writer used for output.</p>
> +     *
> +     * @param writer write out representations to this writer
> +     */
>      public BeanWriter(Writer writer) {
>          this.writer = writer;
>      }
>  
> -    /** Writes the given bean to the current stream using the XML introspector */
> +    /** 
> +     * <p> Writes the given bean to the current stream using the XML 
>introspector.</p>
> +     * 
> +     * <p> This writes an xml fragment representing the bean to the current 
>stream.</p>
> +     *
> +     * @param bean write out representation of this bean
> +     */
>      public void write(Object bean) throws IOException, IntrospectionException  {
>          XMLBeanInfo beanInfo = introspector.introspect( bean );
>          if ( beanInfo != null ) {
> @@ -73,6 +107,9 @@
>          }
>      }
>      
> +    /**
> +     * <p> Switch on formatted output.
> +     */
>      public void enablePrettyPrint() {
>          endOfLine = "\n";
>          indent = "  ";
> @@ -102,6 +139,7 @@
>      // Implementation methods
>      //-------------------------------------------------------------------------    
>      
> +    /** Writes the given bean to the current stream using the given 
><code>qualifiedName</code> */
>      public void write(String qualifiedName, Object bean) throws IOException, 
>IntrospectionException  {
>          XMLBeanInfo beanInfo = introspector.introspect( bean );
>          if ( beanInfo != null ) {
> @@ -115,6 +153,7 @@
>              }
>          }
>      }
> +    
>      /** Writes the given element */
>      protected void write( String qualifiedName, ElementDescriptor 
>elementDescriptor, Context context ) throws IOException, IntrospectionException {
>          writePrintln();
> @@ -217,12 +256,17 @@
>          }
>      }
>      
> +    /** Writes out an empty line.
> +     * Uses current <code>endOfLine</code>.
> +     */
>      protected void writePrintln() throws IOException {
>          if ( endOfLine != null ) {
>              writer.write( endOfLine );
>          }
>      }
>      
> +    /** Writes out <code>indent</code>'s to the current <code>indentLevel</code>
> +     */
>      protected void writeIndent() throws IOException {
>          if ( indent != null ) {
>              for ( int i = 0; i < indentLevel; i++ ) {

> Index: betwixt/src/java/org/apache/commons/betwixt/NodeDescriptor.java
> ===================================================================
> RCS file: 
>/home/cvs/jakarta-commons-sandbox/betwixt/src/java/org/apache/commons/betwixt/NodeDescriptor.java,v
> retrieving revision 1.2
> diff -u -r1.2 NodeDescriptor.java
> --- betwixt/src/java/org/apache/commons/betwixt/NodeDescriptor.java   2001/08/22 
>18:30:48     1.2
> +++ betwixt/src/java/org/apache/commons/betwixt/NodeDescriptor.java   2001/12/08 
>09:54:08
> @@ -11,9 +11,11 @@
>  
>  import org.apache.commons.betwixt.expression.Expression;
>  
> -/** <p><code>ElementDescriptor</code> describes the XML elements
> -  * to be created for a bean instance.</p>
> +/** <p> Common superclass for <code>ElementDescriptor</code> and 
><code>AttributeDescriptor</code>.</p>
>    *
> +  * <p> Nodes can have just a local name
> +  * or they can have a local name, qualified name and a namespace uri.</p>
> +  *
>    * @author <a href="mailto:[EMAIL PROTECTED]";>James Strachan</a>
>    * @version $Revision: 1.2 $
>    */
> @@ -26,8 +28,8 @@
>      private String uri;
>      /** the expression used to evaluate the text value of this node */
>      private Expression textExpression;
> -    
>      
> +    /** Base constructor */
>      public NodeDescriptor() {
>      }
>  
> @@ -37,23 +39,27 @@
>          this.qualifiedName = localName;
>      }
>  
> +
> +    /** Creates a NodeDescriptor with namespace URI and qualified name */
>      public NodeDescriptor(String localName, String qualifiedName, String uri) {
>          this.localName = localName;
>          this.qualifiedName = qualifiedName;
>          this.uri = uri;
>      }
>  
> -    /** Returns the local name of the element, excluding any namespace prefix 
> +    /** Returns the local name, excluding any namespace prefix 
>        */
>      public String getLocalName() {
>          return localName;
>      }
>  
> +    /** Sets the local name 
> +      */
>      public void setLocalName(String localName) {
>          this.localName = localName;
>      }    
>      
> -    /** Returns the qualified name of the element, including any namespace prefix 
> +    /** Returns the qualified name, including any namespace prefix 
>        */
>      public String getQualifiedName() {
>          if ( qualifiedName == null ) {
> @@ -61,7 +67,9 @@
>          }
>          return qualifiedName;
>      }
> -
> +    
> +    /** Sets the qualified name
> +      */
>      public void setQualifiedName(String qualifiedName) {
>          this.qualifiedName = qualifiedName;
>      }    
> @@ -71,6 +79,9 @@
>          return ( uri != null ) ? uri : "";
>      }
>      
> +
> +    /** Sets the namespace URI that this node belongs to.
> +     */
>      public void setURI(String uri) {
>          this.uri = uri;
>      }

> Index: betwixt/src/java/org/apache/commons/betwixt/XMLBeanInfo.java
> ===================================================================
> RCS file: 
>/home/cvs/jakarta-commons-sandbox/betwixt/src/java/org/apache/commons/betwixt/XMLBeanInfo.java,v
> retrieving revision 1.1
> diff -u -r1.1 XMLBeanInfo.java
> --- betwixt/src/java/org/apache/commons/betwixt/XMLBeanInfo.java      2001/08/22 
>12:25:02     1.1
> +++ betwixt/src/java/org/apache/commons/betwixt/XMLBeanInfo.java      2001/12/08 
>09:54:29
> @@ -22,14 +22,16 @@
>  
>      private ElementDescriptor elementDescriptor;
>      
> -    
> +    /** Base constructor */
>      public XMLBeanInfo() {
>      }
>  
> +    /** Get descriptor for bean represention */
>      public ElementDescriptor getElementDescriptor() {
>          return elementDescriptor;
>      }
>  
> +    /** Set descriptor for bean represention */
>      public void setElementDescriptor(ElementDescriptor elementDescriptor) {
>          this.elementDescriptor = elementDescriptor;
>      }    

> Index: betwixt/src/java/org/apache/commons/betwixt/XMLIntrospector.java
> ===================================================================
> RCS file: 
>/home/cvs/jakarta-commons-sandbox/betwixt/src/java/org/apache/commons/betwixt/XMLIntrospector.java,v
> retrieving revision 1.8
> diff -u -r1.8 XMLIntrospector.java
> --- betwixt/src/java/org/apache/commons/betwixt/XMLIntrospector.java  2001/11/19 
>10:10:51     1.8
> +++ betwixt/src/java/org/apache/commons/betwixt/XMLIntrospector.java  2001/12/08 
>09:54:57
> @@ -41,19 +41,32 @@
>  
>      /** should attributes or elements be used for primitive types */
>      private boolean attributesForPrimitives = true;
> -
> +    
> +    /** Base constructor */
>      public XMLIntrospector() {
>      }
>      
> +    /** Create a standard <code>XMLBeanInfo</code> by introspection
> +        The actual introspection depends only on the <code>BeanInfo</code>
> +        associated with the bean.
> +        */
>      public XMLBeanInfo introspect(Object bean) throws IntrospectionException {
>          return introspect( bean.getClass() );
>      }
>      
> +    /** Create a standard <code>XMLBeanInfo</code> by introspection.
> +        The actual introspection depends only on the <code>BeanInfo</code>
> +        associated with the bean.        
> +      */
>      public XMLBeanInfo introspect(Class aClass) throws IntrospectionException {
>          BeanInfo info = Introspector.getBeanInfo( aClass );
>          return introspect( info );
>      }
>      
> +    /** Create a standard <code>XMLBeanInfo</code> by introspection. 
> +        The actual introspection depends only on the <code>BeanInfo</code>
> +        associated with the bean.
> +        */
>      public XMLBeanInfo introspect(BeanInfo beanInfo) throws IntrospectionException 
>{
>          XMLBeanInfo answer = createXMLBeanInfo( beanInfo );
>  
> @@ -115,12 +128,13 @@
>          return answer;
>      }
>      
> -    /** Should attributes be used for primitive types or elements.
> +    /** Should attributes (or elements) be used for primitive types.
>       */
>      public boolean isAttributesForPrimitives() {
>          return attributesForPrimitives;
>      }
>  
> +    /** Set whether attributes (or elements) should be used for primitive types. */
>      public void setAttributesForPrimitives(boolean attributesForPrimitives) {
>          this.attributesForPrimitives = attributesForPrimitives;
>      }
> @@ -128,6 +142,7 @@
>      
>      // Implementation methods
>      //-------------------------------------------------------------------------    
> +    /** Loop through properties and process each one */
>      protected void addProperties(BeanInfo beanInfo, List elements, List attributes) 
>throws IntrospectionException {
>          PropertyDescriptor[] descriptors = beanInfo.getPropertyDescriptors();
>          if ( descriptors != null ) {
> @@ -137,6 +152,11 @@
>          }
>      }
>      
> +    /** 
> +     * Process a property. 
> +     * Go through and work out whether it's a loop property, a primitive or a 
>standard.
> +     * The class property is ignored.
> +     */
>      protected void addProperty(BeanInfo beanInfo, PropertyDescriptor 
>propertyDescriptor, List elements, List attributes) throws IntrospectionException {
>          Class type = propertyDescriptor.getPropertyType();
>          NodeDescriptor nodeDescriptor = null;
> 

> --
> To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

-- 
Scott Sanders - [EMAIL PROTECTED]

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to