gmazza      2004/02/24 19:32:17

  Modified:    src/java/org/apache/fop/area/inline Character.java
                        InlineArea.java InlineParent.java Leader.java
                        Space.java TextArea.java Viewport.java
               src/java/org/apache/fop/render AbstractRenderer.java
               src/java/org/apache/fop/render/xml XMLRenderer.java
  Removed:     src/java/org/apache/fop/area/inline InlineAreaVisitor.java
  Log:
  Removal of Visitor patterns from AbstractRenderer, moving of business logic from 
InlineArea to AbstractRenderer.
  
  Revision  Changes    Path
  1.3       +0 -10     xml-fop/src/java/org/apache/fop/area/inline/Character.java
  
  Index: Character.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/area/inline/Character.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Character.java    10 Sep 2003 18:42:22 -0000      1.2
  +++ Character.java    25 Feb 2004 03:32:16 -0000      1.3
  @@ -67,16 +67,6 @@
       }
   
       /**
  -     * Handle InlineAreaVisitor request by passing this back to it.
  -     *
  -     * @param visitor the InlineAreaVisitor wishing to process this.
  -     * @see org.apache.fop.area.inline.InlineAreaVisitor
  -     */
  -    public void acceptVisitor(InlineAreaVisitor visitor) {
  -        visitor.serveVisitor(this);
  -    }
  -
  -    /**
        * Get the character for this inline character area.
        *
        * @return the character
  
  
  
  1.3       +0 -13     xml-fop/src/java/org/apache/fop/area/inline/InlineArea.java
  
  Index: InlineArea.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/area/inline/InlineArea.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- InlineArea.java   10 Sep 2003 18:42:22 -0000      1.2
  +++ InlineArea.java   25 Feb 2004 03:32:17 -0000      1.3
  @@ -58,8 +58,6 @@
    * Inline Area
    * This area is for all inline areas that can be placed
    * in a line area.
  - * Extensions of this class should render themselves with the
  - * requested renderer.
    */
   public class InlineArea extends Area {
       // int width;
  @@ -73,17 +71,6 @@
        * offset position from top of parent area
        */
       protected int verticalPosition = 0;
  -
  -    /**
  -     * Handle a visitor (usually a renderer) for this inline area.
  -     * Inline areas that extend this class are expected
  -     * to pass themselves back to the visitor so that the visitor can process
  -     * them, usually by rendering them.
  -     *
  -     * @param visitor the InlineAreaVisitor that will process this
  -     */
  -    public void acceptVisitor(InlineAreaVisitor visitor) {
  -    }
   
       /**
        * Set the width of this inline area.
  
  
  
  1.3       +0 -10     xml-fop/src/java/org/apache/fop/area/inline/InlineParent.java
  
  Index: InlineParent.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/area/inline/InlineParent.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- InlineParent.java 10 Sep 2003 18:42:22 -0000      1.2
  +++ InlineParent.java 25 Feb 2004 03:32:17 -0000      1.3
  @@ -77,16 +77,6 @@
       }
   
       /**
  -     * Handle InlineAreaVisitor request by passing this back to it.
  -     *
  -     * @param visitor the InlineAreaVisitor wishing to process this.
  -     * @see org.apache.fop.area.inline.InlineAreaVisitor
  -     */
  -    public void acceptVisitor(InlineAreaVisitor visitor) {
  -        visitor.serveVisitor(this);
  -    }
  -
  -    /**
        * Override generic Area method.
        *
        * @param childArea the child area to add
  
  
  
  1.4       +0 -10     xml-fop/src/java/org/apache/fop/area/inline/Leader.java
  
  Index: Leader.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/area/inline/Leader.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Leader.java       17 Jan 2004 19:29:45 -0000      1.3
  +++ Leader.java       25 Feb 2004 03:32:17 -0000      1.4
  @@ -108,15 +108,5 @@
           return ruleThickness;
       }
   
  -    /**
  -     * Handle InlineAreaVisitor request by passing this back to it.
  -     *
  -     * @param visitor the InlineAreaVisitor wishing to process this.
  -     * @see org.apache.fop.area.inline.InlineAreaVisitor
  -     */
  -    public void acceptVisitor(InlineAreaVisitor visitor) {
  -        visitor.serveVisitor(this);
  -    }
  -
   }
   
  
  
  
  1.3       +0 -10     xml-fop/src/java/org/apache/fop/area/inline/Space.java
  
  Index: Space.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/area/inline/Space.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Space.java        10 Sep 2003 18:42:22 -0000      1.2
  +++ Space.java        25 Feb 2004 03:32:17 -0000      1.3
  @@ -56,14 +56,4 @@
    */
   public class Space extends InlineArea {
   
  -    /**
  -     * Handle InlineAreaVisitor request by passing this back to it.
  -     *
  -     * @param visitor the InlineAreaVisitor wishing to process this.
  -     * @see org.apache.fop.area.inline.InlineAreaVisitor
  -     */
  -    public void acceptVisitor(InlineAreaVisitor visitor) {
  -        visitor.serveVisitor(this);
  -    }
  -
   }
  
  
  
  1.2       +1 -11     xml-fop/src/java/org/apache/fop/area/inline/TextArea.java
  
  Index: TextArea.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/area/inline/TextArea.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TextArea.java     28 Oct 2003 04:22:13 -0000      1.1
  +++ TextArea.java     25 Feb 2004 03:32:17 -0000      1.2
  @@ -68,16 +68,6 @@
       }
   
       /**
  -     * Handle InlineAreaVisitor request by passing this back to it.
  -     *
  -     * @param visitor the InlineAreaVisitor wishing to process this.
  -     * @see org.apache.fop.area.inline.InlineAreaVisitor
  -     */
  -    public void acceptVisitor(InlineAreaVisitor visitor) {
  -        visitor.serveVisitor(this);
  -    }
  -
  -    /**
        * Set the text string
        *
        * @param t the text string
  
  
  
  1.3       +0 -10     xml-fop/src/java/org/apache/fop/area/inline/Viewport.java
  
  Index: Viewport.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/area/inline/Viewport.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Viewport.java     10 Sep 2003 18:42:22 -0000      1.2
  +++ Viewport.java     25 Feb 2004 03:32:17 -0000      1.3
  @@ -124,16 +124,6 @@
           return content;
       }
   
  -    /**
  -     * Handle InlineAreaVisitor request by passing this back to it.
  -     *
  -     * @param visitor the InlineAreaVisitor wishing to process this.
  -     * @see org.apache.fop.area.inline.InlineAreaVisitor
  -     */
  -    public void acceptVisitor(InlineAreaVisitor visitor) {
  -        visitor.serveVisitor(this);
  -    }
  -
       private void writeObject(java.io.ObjectOutputStream out)
       throws IOException {
           out.writeBoolean(contentPosition != null);
  
  
  
  1.22      +53 -110   xml-fop/src/java/org/apache/fop/render/AbstractRenderer.java
  
  Index: AbstractRenderer.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/AbstractRenderer.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- AbstractRenderer.java     4 Feb 2004 13:06:36 -0000       1.21
  +++ AbstractRenderer.java     25 Feb 2004 03:32:17 -0000      1.22
  @@ -85,7 +85,6 @@
   import org.apache.fop.area.inline.ForeignObject;
   import org.apache.fop.area.inline.Image;
   import org.apache.fop.area.inline.InlineArea;
  -import org.apache.fop.area.inline.InlineAreaVisitor;
   import org.apache.fop.area.inline.InlineParent;
   import org.apache.fop.area.inline.Leader;
   import org.apache.fop.area.inline.Space;
  @@ -109,7 +108,7 @@
    * handle viewports. This keeps track of the current block and inline position.
    */
   public abstract class AbstractRenderer extends AbstractLogEnabled
  -         implements Renderer, Configurable, InlineAreaVisitor, Constants {
  +         implements Renderer, Configurable, Constants {
   
       /**
        * user agent
  @@ -618,10 +617,61 @@
   
           for (int count = 0; count < children.size(); count++) {
               InlineArea inline = (InlineArea) children.get(count);
  -            inline.acceptVisitor(this);
  +            renderInlineArea(inline);
           }
       }
   
  +    protected void renderInlineArea(InlineArea inlineArea) {
  +        if (inlineArea instanceof TextArea) {
  +            renderText((TextArea) inlineArea);
  +        } else if (inlineArea instanceof InlineParent) {
  +            renderInlineParent((InlineParent) inlineArea);
  +        } else if (inlineArea instanceof Space) {
  +            renderInlineSpace((Space) inlineArea);
  +        } else if (inlineArea instanceof Character) {
  +            renderCharacter((Character) inlineArea);
  +        } else if (inlineArea instanceof Viewport) {
  +            renderViewport((Viewport) inlineArea);
  +        } else if (inlineArea instanceof Leader) {
  +            renderLeader((Leader) inlineArea);
  +        }
  +    }
  +
  +
  +    /** @see org.apache.fop.render.Renderer */
  +    public void renderCharacter(Character ch) {
  +        currentBlockIPPosition += ch.getWidth();
  +    }
  +
  +    /** @see org.apache.fop.render.Renderer */
  +    public void renderInlineSpace(Space space) {
  +        // an inline space moves the inline progression position
  +        // for the current block by the width or height of the space
  +        // it may also have styling (only on this object) that needs
  +        // handling
  +        currentBlockIPPosition += space.getWidth();
  +    }
  +
  +    /** @see org.apache.fop.render.Renderer */
  +    public void renderLeader(Leader area) {
  +        currentBlockIPPosition += area.getWidth();
  +    }
  +
  +    /** @see org.apache.fop.render.Renderer */
  +    public void renderText(TextArea text) {
  +        currentBlockIPPosition += text.getWidth();
  +    }
  +
  +    /** @see org.apache.fop.render.Renderer */
  +    public void renderInlineParent(InlineParent ip) {
  +        int saveIP = currentBlockIPPosition;
  +        Iterator iter = ip.getChildAreas().iterator();
  +        while (iter.hasNext()) {
  +            renderInlineArea((InlineArea) iter.next()); 
  +        }
  +        currentBlockIPPosition = saveIP + ip.getWidth();
  +    }
  +
       /** @see org.apache.fop.render.Renderer */
       public void renderViewport(Viewport viewport) {
           Area content = viewport.getContent();
  @@ -677,40 +727,6 @@
           // Some renderers (ex. Text) don't support foreign objects.
       }
   
  -    /** @see org.apache.fop.render.Renderer */
  -    public void renderCharacter(Character ch) {
  -        currentBlockIPPosition += ch.getWidth();
  -    }
  -
  -    /** @see org.apache.fop.render.Renderer */
  -    public void renderInlineSpace(Space space) {
  -        // an inline space moves the inline progression position
  -        // for the current block by the width or height of the space
  -        // it may also have styling (only on this object) that needs
  -        // handling
  -        currentBlockIPPosition += space.getWidth();
  -    }
  -
  -    /** @see org.apache.fop.render.Renderer */
  -    public void renderLeader(Leader area) {
  -        currentBlockIPPosition += area.getWidth();
  -    }
  -
  -    /** @see org.apache.fop.render.Renderer */
  -    public void renderText(TextArea text) {
  -        currentBlockIPPosition += text.getWidth();
  -    }
  -
  -    /** @see org.apache.fop.render.Renderer */
  -    public void renderInlineParent(InlineParent ip) {
  -        int saveIP = currentBlockIPPosition;
  -        Iterator iter = ip.getChildAreas().iterator();
  -        while (iter.hasNext()) {
  -            ((InlineArea) iter.next()).acceptVisitor(this);
  -        }
  -        currentBlockIPPosition = saveIP + ip.getWidth();
  -    }
  -
       /**
        * Set the default xml handler for the given mime type.
        * @param mime MIME type
  @@ -770,78 +786,5 @@
                       + "No handler defined for XML: " + namespace);
           }
       }
  -
  -    /**
  -     * Render the specified Viewport.
  -     * Required by InlineAreaVisitor interface, which is used to determine which
  -     * InlineArea subclass should be rendered.
  -     *
  -     * @param viewport  The Viewport area to be rendered
  -     * @see org.apache.fop.area.inline.InlineAreaVisitor
  -     */
  -    public void serveVisitor(Viewport viewport) {
  -        renderViewport(viewport);
  -    }
  -
  -    /**
  -     * Render the specified Text.
  -     * Required by InlineAreaVisitor interface, which is used to determine which
  -     * InlineArea subclass should be rendered.
  -     *
  -     * @param area  The Text area to be rendered
  -     * @see org.apache.fop.area.inline.InlineAreaVisitor
  -     */
  -    public void serveVisitor(TextArea area) {
  -        renderText(area);
  -    }
  -
  -    /**
  -     * Render the specified InlineParent.
  -     * Required by InlineAreaVisitor interface, which is used to determine which
  -     * InlineArea subclass should be rendered.
  -     *
  -     * @param ip  The InlineParent area to be rendered
  -     * @see org.apache.fop.area.inline.InlineAreaVisitor
  -     */
  -    public void serveVisitor(InlineParent ip) {
  -        renderInlineParent(ip);
  -    }
  -
  -    /**
  -     * Render the specified Character.
  -     * Required by InlineAreaVisitor interface, which is used to determine which
  -     * InlineArea subclass should be rendered.
  -     *
  -     * @param ch  The Character area to be rendered
  -     * @see org.apache.fop.area.inline.InlineAreaVisitor
  -     */
  -    public void serveVisitor(org.apache.fop.area.inline.Character ch) {
  -        renderCharacter(ch);
  -    }
  -
  -    /**
  -     * Render the specified Space.
  -     * Required by InlineAreaVisitor interface, which is used to determine which
  -     * InlineArea subclass should be rendered.
  -     *
  -     * @param space  The Space area to be rendered
  -     * @see org.apache.fop.area.inline.InlineAreaVisitor
  -     */
  -    public void serveVisitor(Space space) {
  -        renderInlineSpace(space);
  -    }
  -
  -    /**
  -     * Render the specified Leader.
  -     * Required by InlineAreaVisitor interface, which is used to determine which
  -     * InlineArea subclass should be rendered.
  -     *
  -     * @param area  The Leader area to be rendered
  -     * @see org.apache.fop.area.inline.InlineAreaVisitor
  -     */
  -    public void serveVisitor(Leader area) {
  -        renderLeader(area);
  -    }
  -
   }
   
  
  
  
  1.16      +2 -2      xml-fop/src/java/org/apache/fop/render/xml/XMLRenderer.java
  
  Index: XMLRenderer.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/xml/XMLRenderer.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- XMLRenderer.java  24 Jan 2004 16:09:48 -0000      1.15
  +++ XMLRenderer.java  25 Feb 2004 03:32:17 -0000      1.16
  @@ -272,7 +272,7 @@
   
               for (int count = 0; count < children.size(); count++) {
                   InlineArea inline = (InlineArea) children.get(count);
  -                inline.acceptVisitor(this);
  +                renderInlineArea(inline);
               }
   
               writeEndTag("</title>");
  @@ -476,7 +476,7 @@
           }
           writeStartTag("<inlineparent" + prop + ">");
           super.renderInlineParent(ip);
  -    writeEndTag("</inlineparent>");
  +        writeEndTag("</inlineparent>");
       }
   
       /**
  
  
  

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

Reply via email to