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