[jboss-cvs] jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/engine ...
Christian Bauer
christian at hibernate.org
Mon Nov 12 06:14:29 EST 2007
User: cbauer
Date: 07/11/12 06:14:29
Modified: examples/wiki/src/main/org/jboss/seam/wiki/core/engine
WikiTextParser.java WikiTextRenderer.java
Added: examples/wiki/src/main/org/jboss/seam/wiki/core/engine
NullWikiTextRenderer.java
DefaultWikiTextRenderer.java
Log:
Improved extensibility of core wiki render engine
Revision Changes Path
1.10 +43 -0 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/WikiTextParser.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: WikiTextParser.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/WikiTextParser.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- WikiTextParser.java 26 Sep 2007 09:36:18 -0000 1.9
+++ WikiTextParser.java 12 Nov 2007 11:14:29 -0000 1.10
@@ -52,6 +52,7 @@
this.renderDuplicateMacros = renderDuplicateMacros;
this.resolveLinks = resolveLinks;
}
+
/**
* Mandatory, you need to set a renderer before starting the parer.
*
@@ -182,5 +183,47 @@
}
}
+ protected String paragraphOpenTag() {
+ return renderer.renderParagraphOpenTag();
+ }
+
+ protected String preformattedOpenTag() {
+ return renderer.renderPreformattedOpenTag();
+ }
+
+ protected String blockquoteOpenTag() {
+ return renderer.renderBlockquoteOpenTag();
+ }
+ protected String headline1OpenTag() {
+ return renderer.renderHeadline1Opentag();
+ }
+
+ protected String headline2OpenTag() {
+ return renderer.renderHeadline2OpenTag();
+ }
+
+ protected String headline3OpenTag() {
+ return renderer.renderHeadline3OpenTag();
+ }
+
+ protected String headline4OpenTag() {
+ return renderer.renderHeadline4OpenTag();
+ }
+
+ protected String orderedListOpenTag() {
+ return renderer.renderOrderedListOpenTag();
+ }
+
+ protected String orderedListItemOpenTag() {
+ return renderer.renderOrderedListItemOpenTag();
+ }
+
+ protected String unorderedListOpenTag() {
+ return renderer.renderUnorderedListOpenTag();
+ }
+
+ protected String unorderedListItemOpenTag() {
+ return renderer.renderUnorderedListItemOpenTag();
+ }
}
1.4 +12 -0 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/WikiTextRenderer.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: WikiTextRenderer.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/WikiTextRenderer.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- WikiTextRenderer.java 5 Apr 2007 13:04:14 -0000 1.3
+++ WikiTextRenderer.java 12 Nov 2007 11:14:29 -0000 1.4
@@ -15,6 +15,18 @@
public String renderFileAttachmentLink(int attachmentNumber, WikiLink attachmentLink);
public String renderMacro(String macroName);
+ public String renderParagraphOpenTag();
+ public String renderPreformattedOpenTag();
+ public String renderBlockquoteOpenTag();
+ public String renderHeadline1Opentag();
+ public String renderHeadline2OpenTag();
+ public String renderHeadline3OpenTag();
+ public String renderHeadline4OpenTag();
+ public String renderOrderedListOpenTag();
+ public String renderOrderedListItemOpenTag();
+ public String renderUnorderedListOpenTag();
+ public String renderUnorderedListItemOpenTag();
+
public void setAttachmentLinks(List<WikiLink> attachmentLinks);
public void setExternalLinks(List<WikiLink> externalLinks);
}
1.1 date: 2007/11/12 11:14:29; author: cbauer; state: Exp;jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/NullWikiTextRenderer.java
Index: NullWikiTextRenderer.java
===================================================================
package org.jboss.seam.wiki.core.engine;
import java.util.List;
/**
* Renders nothing for links and macros and unstyled HTML for anything else.
*
* @author Christian Bauer
*/
public class NullWikiTextRenderer implements WikiTextRenderer {
public String renderInlineLink(WikiLink inlineLink) { return null; }
public String renderExternalLink(WikiLink externalLink) { return null; }
public String renderFileAttachmentLink(int attachmentNumber, WikiLink attachmentLink) { return null; }
public String renderThumbnailImageInlineLink(WikiLink inlineLink) { return null; }
public void setAttachmentLinks(List<WikiLink> attachmentLinks) {}
public void setExternalLinks(List<WikiLink> externalLinks) {}
public String renderMacro(String macroName) { return null; }
public String renderParagraphOpenTag() { return "<p>\n"; }
public String renderPreformattedOpenTag() { return "<pre>\n"; }
public String renderBlockquoteOpenTag() { return "<blockquote>\n"; }
public String renderHeadline1Opentag() { return "<h1>"; }
public String renderHeadline2OpenTag() { return "<h2>"; }
public String renderHeadline3OpenTag() { return "<h3>"; }
public String renderHeadline4OpenTag() { return "<h4>"; }
public String renderOrderedListOpenTag() { return "<ol>\n"; }
public String renderOrderedListItemOpenTag() { return "<li>"; }
public String renderUnorderedListOpenTag() { return "<ul>\n"; }
public String renderUnorderedListItemOpenTag() { return "<li>"; }
}
1.1 date: 2007/11/12 11:14:29; author: cbauer; state: Exp;jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/DefaultWikiTextRenderer.java
Index: DefaultWikiTextRenderer.java
===================================================================
package org.jboss.seam.wiki.core.engine;
import org.jboss.seam.wiki.util.WikiUtil;
import java.util.List;
/**
* Convenience class that renders some sensible defaults that apply for the wiki.
*
* @author Christian Bauer
*/
public class DefaultWikiTextRenderer implements WikiTextRenderer {
public String renderInlineLink(WikiLink inlineLink) {
return !inlineLink.isBroken() ?
"<a href=\""
+ WikiUtil.renderURL(inlineLink.getNode(), null)
+ "\">"
+ inlineLink.getDescription()
+ "</a>" : "[Broken Link]";
}
public String renderExternalLink(WikiLink externalLink) {
return "<a href=\""
+ externalLink.getUrl()
+ "\">"
+ externalLink.getDescription()
+ "</a>";
}
public String renderFileAttachmentLink(int attachmentNumber, WikiLink attachmentLink) {
return "[Attachment]";
}
public String renderThumbnailImageInlineLink(WikiLink inlineLink) {
return "[Embedded Image]";
}
public String renderMacro(String macroName) {
return "[Macro]";
}
public void setAttachmentLinks(List<WikiLink> attachmentLinks) {}
public void setExternalLinks(List<WikiLink> externalLinks) {}
public String renderParagraphOpenTag() {
return "<p class=\"wikiPara\">\n";
}
public String renderPreformattedOpenTag() {
return "<pre class=\"wikiPreformatted\">\n";
}
public String renderBlockquoteOpenTag() {
return "<blockquote class=\"wikiBlockquote\">\n";
}
public String renderHeadline1Opentag() {
return "<h1 class=\"wikiHeadline1\">";
}
public String renderHeadline2OpenTag() {
return "<h1 class=\"wikiHeadline2\">";
}
public String renderHeadline3OpenTag() {
return "<h1 class=\"wikiHeadline3\">";
}
public String renderHeadline4OpenTag() {
return "<h1 class=\"wikiHeadline4\">";
}
public String renderOrderedListOpenTag() {
return "<ol class=\"wikiOrderedList\">\n";
}
public String renderOrderedListItemOpenTag() {
return "<ol class=\"wikiOrderedListItem\">";
}
public String renderUnorderedListOpenTag() {
return "<ul class=\"wikiUnorderedList\">\n";
}
public String renderUnorderedListItemOpenTag() {
return "<ul class=\"wikiUnorderedListItem\">";
}
}
More information about the jboss-cvs-commits
mailing list