KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > de > java2html > plugin > jspwiki > PluginConversionOptionsParser


1 package de.java2html.plugin.jspwiki;
2
3 import java.util.Map JavaDoc;
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 /**
15  * @author Markus Gebhard
16  */

17 public class PluginConversionOptionsParser {
18
19   public JavaSourceConversionOptions parseConversionOptions(Map JavaDoc 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 JavaDoc params, JavaSourceConversionOptions conversionOptions)
30     throws PluginException {
31     String JavaDoc 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 JavaDoc params, JavaSourceConversionOptions conversionOptions) throws PluginException {
46     String JavaDoc border = ParameterUtilities.getParameter(params, PluginParameter.BORDER);
47     if (border != null) {
48       conversionOptions.setShowTableBorder(ParameterUtilities.getBoolean(border));
49     }
50   }
51
52   private void adjustLineNumbers(Map JavaDoc params, JavaSourceConversionOptions conversionOptions)
53     throws PluginException {
54     String JavaDoc 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 JavaDoc params, JavaSourceConversionOptions conversionOptions) throws PluginException {
61     String JavaDoc 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 JavaDoc params, JavaSourceConversionOptions conversionOptions) throws PluginException {
68     String JavaDoc 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