001package com.monochromeroad.grails.plugins.xwiki;
002
003import org.xwiki.rendering.parser.ParseException;
004import org.xwiki.rendering.syntax.Syntax;
005import org.xwiki.rendering.syntax.SyntaxFactory;
006
007public class XWikiSyntaxFactory {
008
009    private SyntaxFactory syntaxFactory;
010
011    XWikiSyntaxFactory() {}
012
013    public XWikiSyntaxFactory(XWikiComponentManager componentManager) {
014        initialize(componentManager);
015    }
016
017    public Syntax getSyntax(String syntaxId) {
018        try {
019            return syntaxFactory.createSyntaxFromIdString(syntaxId);
020        } catch (ParseException e) {
021            throw new IllegalArgumentException(e);
022        }
023    }
024
025    public void initialize(XWikiComponentManager componentManager) {
026        this.syntaxFactory = componentManager.getInstance(SyntaxFactory.class);
027    }
028}