Here's the list of available Transformations you can use:
See Architecture.
See the Icon Transformation documentation to understand what this transformation does.
Example of usage:
// Initialize Rendering components and allow getting instances
final EmbeddableComponentManager cm = new EmbeddableComponentManager();
cm.initialize(this.getClass().getClassLoader());
XDOM xdom = new XDOM(Arrays.<Block>asList(new ParagraphBlock(Arrays.asList((Block) new SpecialSymbolBlock(':'),
new SpecialSymbolBlock(')')))));
Transformation transformation = cm.lookup(Transformation.class, "icon");
TransformationContext txContext = new TransformationContext();
transformation.transform(xdom, txContext);
WikiPrinter printer = new DefaultWikiPrinter();
BlockRenderer renderer = cm.lookup(BlockRenderer.class, Syntax.XWIKI_2_0.toIdString());
renderer.render(xdom, printer);
String expected = "image:emoticon_smile";
Assert.assertEquals(expected, printer.toString());
It's also possible to configure new emoticons or override existing ones by getting the IconTransformationConfiguration component as shown below (works on XWiki Rendering 3.3M1+):
// Initialize Rendering components and allow getting instances
final EmbeddableComponentManager cm = new EmbeddableComponentManager();
cm.initialize(this.getClass().getClassLoader());
XDOM xdom = new XDOM(Arrays.<Block>asList(new ParagraphBlock(Arrays.asList((Block) new SpecialSymbolBlock(':'),
new SpecialSymbolBlock(':')))));
// Test adding a new Icon Mapping.
cm.lookup(IconTransformationConfiguration.class).addMapping("::", "something");
Transformation transformation = cm.lookup(Transformation.class, "icon");
TransformationContext txContext = new TransformationContext();
transformation.transform(xdom, txContext);
WikiPrinter printer = new DefaultWikiPrinter();
BlockRenderer renderer = cm.lookup(BlockRenderer.class, Syntax.XWIKI_2_0.toIdString());
renderer.render(xdom, printer);
String expected = "image:box";
Assert.assertEquals(expected, printer.toString());
See the WikiWord Transformation documentation to understand what this transformation does.
Example of usage:
// Initialize Rendering components and allow getting instances
final EmbeddableComponentManager cm = new EmbeddableComponentManager();
cm.initialize(this.getClass().getClassLoader());
XDOM xdom = new XDOM(
Arrays.<Block>asList(new ParagraphBlock(Arrays.asList((Block) new WordBlock("WikiWord")))));
Transformation transformation = cm.lookup(Transformation.class, "wikiword");
TransformationContext txContext = new TransformationContext();
transformation.transform(xdom, txContext);
WikiPrinter printer = new DefaultWikiPrinter();
BlockRenderer renderer = cm.lookup(BlockRenderer.class, Syntax.XWIKI_2_0.toIdString());
renderer.render(xdom, printer);
String expected = "[[WikiWord]]";
Assert.assertEquals(expected, printer.toString());
See the Link Checker Transformation documentation to understand what this transformation does and how to use it.