Author: vmassol
Date: 2008-02-04 18:41:26 +0100 (Mon, 04 Feb 2008)
New Revision: 83

Added:
   
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/SectionLevel.java
   
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/
   
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/AbstractFatherBlock.java
   
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/Block.java
   
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/BoldBlock.java
   
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/ItalicBlock.java
   
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/LineBreakBlock.java
   
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/LinkBlock.java
   
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/MacroBlock.java
   
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/ParagraphBlock.java
   
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/SectionBlock.java
   
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/TextBlock.java
Log:
Cleanup and introduce Blocks

Added: 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/SectionLevel.java
===================================================================
--- 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/SectionLevel.java
                          (rev 0)
+++ 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/SectionLevel.java
  2008-02-04 17:41:26 UTC (rev 83)
@@ -0,0 +1,7 @@
+package org.xwiki.rendering;
+
+
+public class SectionLevel
+{
+    // TODO. Enumerated type for Section levels
+}

Added: 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/AbstractFatherBlock.java
===================================================================
--- 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/AbstractFatherBlock.java
                            (rev 0)
+++ 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/AbstractFatherBlock.java
    2008-02-04 17:41:26 UTC (rev 83)
@@ -0,0 +1,45 @@
+package org.xwiki.rendering.blocks;
+
+import org.xwiki.rendering.Renderer;
+
+import java.util.Iterator;
+import java.util.List;
+
+public abstract class AbstractFatherBlock
+    implements Block
+{
+    private List blocks;
+
+    public abstract void before( Renderer sink );
+
+    public abstract void after( Renderer sink );
+
+    public AbstractFatherBlock( List childBlocks )
+    {
+        if ( childBlocks == null )
+        {
+            throw new IllegalArgumentException( "argument can't be null" );
+        }
+
+        this.blocks = childBlocks;
+    }
+
+    public void traverse( Renderer sink )
+    {
+        before( sink );
+
+        for ( Iterator i = blocks.iterator(); i.hasNext(); )
+        {
+            Block block = (Block) i.next();
+
+            block.traverse( sink );
+        }
+
+        after( sink );
+    }
+
+    public List getBlocks()
+    {
+        return blocks;
+    }
+}

Added: 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/Block.java
===================================================================
--- 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/Block.java
                          (rev 0)
+++ 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/Block.java
  2008-02-04 17:41:26 UTC (rev 83)
@@ -0,0 +1,8 @@
+package org.xwiki.rendering.blocks;
+
+import org.xwiki.rendering.Renderer;
+
+public interface Block
+{
+    void traverse( Renderer sink );
+}

Added: 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/BoldBlock.java
===================================================================
--- 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/BoldBlock.java
                              (rev 0)
+++ 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/BoldBlock.java
      2008-02-04 17:41:26 UTC (rev 83)
@@ -0,0 +1,24 @@
+package org.xwiki.rendering.blocks;
+
+import org.xwiki.rendering.Renderer;
+
+import java.util.List;
+
+public class BoldBlock
+    extends AbstractFatherBlock
+{
+    public BoldBlock( List childBlocks )
+    {
+        super( childBlocks );
+    }
+
+    public void before( Renderer renderer )
+    {
+        renderer.beginBold();
+    }
+
+    public void after( Renderer renderer )
+    {
+        renderer.endBold();
+    }
+}

Added: 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/ItalicBlock.java
===================================================================
--- 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/ItalicBlock.java
                            (rev 0)
+++ 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/ItalicBlock.java
    2008-02-04 17:41:26 UTC (rev 83)
@@ -0,0 +1,24 @@
+package org.xwiki.rendering.blocks;
+
+import org.xwiki.rendering.Renderer;
+
+import java.util.List;
+
+public class ItalicBlock
+    extends AbstractFatherBlock
+{
+    public ItalicBlock( List childBlocks )
+    {
+        super( childBlocks );
+    }
+
+    public void before( Renderer renderer )
+    {
+        renderer.beginItalic();
+    }
+
+    public void after( Renderer renderer )
+    {
+        renderer.endItalic();
+    }
+}

Added: 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/LineBreakBlock.java
===================================================================
--- 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/LineBreakBlock.java
                         (rev 0)
+++ 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/LineBreakBlock.java
 2008-02-04 17:41:26 UTC (rev 83)
@@ -0,0 +1,12 @@
+package org.xwiki.rendering.blocks;
+
+import org.xwiki.rendering.Renderer;
+
+public class LineBreakBlock
+    implements Block
+{
+    public void traverse( Renderer renderer )
+    {
+        renderer.onLineBreak();
+    }
+}

Added: 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/LinkBlock.java
===================================================================
--- 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/LinkBlock.java
                              (rev 0)
+++ 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/LinkBlock.java
      2008-02-04 17:41:26 UTC (rev 83)
@@ -0,0 +1,29 @@
+package org.xwiki.rendering.blocks;
+
+import org.xwiki.rendering.Renderer;
+
+public class LinkBlock
+    implements Block
+{
+    private String text;
+
+    public LinkBlock( String text )
+        throws IllegalArgumentException
+    {
+        if ( text == null )
+        {
+            throw new IllegalArgumentException( "arguments can't be null" );
+        }
+        this.text = text;
+    }
+
+    public String getText()
+    {
+        return this.text;
+    }
+
+    public void traverse( Renderer renderer )
+    {
+        renderer.onLink( getText() );
+    }
+}

Added: 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/MacroBlock.java
===================================================================
--- 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/MacroBlock.java
                             (rev 0)
+++ 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/MacroBlock.java
     2008-02-04 17:41:26 UTC (rev 83)
@@ -0,0 +1,44 @@
+package org.xwiki.rendering.blocks;
+
+import org.xwiki.rendering.Renderer;
+
+import java.util.Map;
+import java.util.HashMap;
+
+public class MacroBlock
+    implements Block
+{
+    private String name;
+
+    private Map parameters;
+
+    private String content;
+
+    public MacroBlock( String name, Map parameters, String content )
+    {
+        this.name = name;
+        this.parameters = parameters;
+        this.content = content;
+    }
+
+    public void traverse( Renderer renderer )
+    {
+        // TODO
+    }
+
+    public String getName()
+    {
+        return this.name;
+    }
+
+    public Map getParameters()
+    {
+        Map newParameters = new HashMap( this.parameters );
+        return newParameters;
+    }
+
+    public String getContent()
+    {
+        return this.content;
+    }
+}

Added: 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/ParagraphBlock.java
===================================================================
--- 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/ParagraphBlock.java
                         (rev 0)
+++ 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/ParagraphBlock.java
 2008-02-04 17:41:26 UTC (rev 83)
@@ -0,0 +1,25 @@
+package org.xwiki.rendering.blocks;
+
+import org.xwiki.rendering.Renderer;
+
+import java.util.List;
+
+public class ParagraphBlock
+    extends AbstractFatherBlock
+{
+    public ParagraphBlock( List blocks )
+        throws IllegalArgumentException
+    {
+        super( blocks );
+    }
+
+    public void before( Renderer renderer )
+    {
+        renderer.beginParagraph();
+    }
+
+    public void after( Renderer renderer )
+    {
+        renderer.endParagraph();
+    }
+}

Added: 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/SectionBlock.java
===================================================================
--- 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/SectionBlock.java
                           (rev 0)
+++ 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/SectionBlock.java
   2008-02-04 17:41:26 UTC (rev 83)
@@ -0,0 +1,34 @@
+package org.xwiki.rendering.blocks;
+
+import org.xwiki.rendering.Renderer;
+import org.xwiki.rendering.SectionLevel;
+
+public class SectionBlock
+    implements Block
+{
+    private String title;
+
+    private SectionLevel level;
+
+    public SectionBlock( String title, SectionLevel level )
+    {
+        this.title = title;
+        this.level = level;
+    }
+
+    public String getTitle()
+    {
+        return this.title;
+    }
+
+    public SectionLevel getLevel()
+    {
+        return this.level;
+    }
+
+    public void traverse( Renderer renderer )
+    {
+        renderer.onSection(getLevel(), getTitle());
+
+    }
+}

Added: 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/TextBlock.java
===================================================================
--- 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/TextBlock.java
                              (rev 0)
+++ 
components/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/blocks/TextBlock.java
      2008-02-04 17:41:26 UTC (rev 83)
@@ -0,0 +1,24 @@
+package org.xwiki.rendering.blocks;
+
+import org.xwiki.rendering.Renderer;
+
+public class TextBlock
+    implements Block
+{
+    private String text;
+
+    public TextBlock( String text )
+    {
+        this.text = text;
+    }
+
+    public void traverse( Renderer renderer )
+    {
+        renderer.onText( getText() );
+    }
+
+    public String getText()
+    {
+        return this.text;
+    }
+}

_______________________________________________
notifications mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/notifications

Reply via email to