1 package de.java2html.plugin.jspwiki; 2 3 import java.util.Map ; 4 5 import com.ecyrd.jspwiki.plugin.PluginException; 6 7 import de.java2html.options.ConversionOptionsUtilities; 8 import de.java2html.options.HorizontalAlignment; 9 import de.java2html.options.JavaSourceConversionOptions; 10 import de.java2html.options.JavaSourceStyleTable; 11 import de.java2html.plugin.AbstractJava2HtmlPlugin; 12 import de.java2html.plugin.ParameterUtilities; 13 14 17 public class PluginConversionOptionsParser { 18 19 public JavaSourceConversionOptions parseConversionOptions(Map params) throws PluginException { 20 JavaSourceConversionOptions conversionOptions = AbstractJava2HtmlPlugin.getDefaultSettings().getConversionOptions(); 21 adjustStyleTable(params, conversionOptions); 22 adjustBorder(params, conversionOptions); 23 adjustLineNumbers(params, conversionOptions); 24 adjustTabSize(params, conversionOptions); 25 adjustAlignment(params, conversionOptions); 26 return conversionOptions; 27 } 28 29 private void adjustStyleTable(Map params, JavaSourceConversionOptions conversionOptions) 30 throws PluginException { 31 String style = ParameterUtilities.getParameter(params, PluginParameter.STYLE); 32 if (style != null) { 33 JavaSourceStyleTable styleTable = JavaSourceStyleTable.getPredefinedTable(style); 34 if (styleTable == null) { 35 throw new PluginException( 36 "Unsupported style '" 37 + style 38 + "' - available styles are: " 39 + ConversionOptionsUtilities.getPredefinedStyleTableNameString()); 40 } 41 conversionOptions.setStyleTable(styleTable); 42 } 43 } 44 45 private void adjustBorder(Map params, JavaSourceConversionOptions conversionOptions) throws PluginException { 46 String border = ParameterUtilities.getParameter(params, PluginParameter.BORDER); 47 if (border != null) { 48 conversionOptions.setShowTableBorder(ParameterUtilities.getBoolean(border)); 49 } 50 } 51 52 private void adjustLineNumbers(Map params, JavaSourceConversionOptions conversionOptions) 53 throws PluginException { 54 String lineNumbers = ParameterUtilities.getParameter(params, PluginParameter.LINE_NUMBERS); 55 if (lineNumbers != null) { 56 conversionOptions.setShowLineNumbers(ParameterUtilities.getBoolean(lineNumbers)); 57 } 58 } 59 60 private void adjustTabSize(Map params, JavaSourceConversionOptions conversionOptions) throws PluginException { 61 String tabSize = ParameterUtilities.getParameter(params, PluginParameter.TAB_SIZE); 62 if (tabSize != null) { 63 conversionOptions.setTabSize(ParameterUtilities.getInt(tabSize)); 64 } 65 } 66 67 private void adjustAlignment(Map params, JavaSourceConversionOptions conversionOptions) throws PluginException { 68 String alignment = ParameterUtilities.getParameter(params, PluginParameter.ALIGNMENT); 69 if (alignment != null) { 70 HorizontalAlignment horizontalAlignment = HorizontalAlignment.getByName(alignment); 71 if (horizontalAlignment == null) { 72 throw new PluginException( 73 "Unsupported alignment '" 74 + alignment 75 + "' - valid values are: " 76 + ConversionOptionsUtilities.getAvailableHorizontalAlignmentNameString()); 77 } 78 conversionOptions.setHorizontalAlignment(horizontalAlignment); 79 } 80 } 81 } 82 | Popular Tags |