Class FormParser
- java.lang.Object
-
- org.ametys.plugins.forms.workflow.FormParser
-
public class FormParser extends Object
Form parser.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFormParser.RichTextPrefixResolverXML prefix resolver which declares docbook and html namespaces.
-
Field Summary
Fields Modifier and Type Field Description protected static String_CAPTCHA_ELEMENTThe captcha XML element name.protected static String_FIELDSET_ELEMENTThe fieldset XML element name.protected static String_INPUT_ELEMENTThe input XML element name.protected static String_LABEL_ELEMENTThe label XML element name.protected static String_LEGEND_ELEMENTThe fieldset XML element name.protected static String_OPTION_ELEMENTThe option XML element name.protected static String_SELECT_ELEMENTThe select XML element name.protected static String_TEXTAREA_ELEMENTThe textarea XML element name.protected XPathProcessor_xpathProcessorAn XPath processor.static PrefixResolverRICH_TEXT_PREFIX_RESOLVERThe rich text prefix resolver.
-
Constructor Summary
Constructors Constructor Description FormParser(XPathProcessor xpathProcessor)Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String_getAttribute(Node node, String attributeName)Return the value of an attribute of an inputprotected Field.FieldType_getInputType(Node inputNode)Get the input type.protected void_parseFields(Node formNode, Form form)Parse the fields of a form.protected void_processAttributes(Node node, Field field)Process common field attributes and properties.protected Field_processCaptcha(Node captchaNode)Process a captcha.protected Fieldset_processFieldset(Node fieldsetNode)Process a fieldset.protected Field_processInput(Node inputNode)Process an input.protected void_processLabel(Node labelNode, Map<String,String> labels)Process a label.protected Field_processSelect(Node selectNode)Process a select.protected Field_processTextarea(Node textareaNode)Process an textarea.List<Node>getNodesAsList(Node context, String xpathExpression)Return a list of nodes selected by an xpath expression.FormparseForm(Node formNode)Parses the form.
-
-
-
Field Detail
-
RICH_TEXT_PREFIX_RESOLVER
public static final PrefixResolver RICH_TEXT_PREFIX_RESOLVER
The rich text prefix resolver.
-
_LABEL_ELEMENT
protected static final String _LABEL_ELEMENT
The label XML element name.- See Also:
- Constant Field Values
-
_INPUT_ELEMENT
protected static final String _INPUT_ELEMENT
The input XML element name.- See Also:
- Constant Field Values
-
_TEXTAREA_ELEMENT
protected static final String _TEXTAREA_ELEMENT
The textarea XML element name.- See Also:
- Constant Field Values
-
_SELECT_ELEMENT
protected static final String _SELECT_ELEMENT
The select XML element name.- See Also:
- Constant Field Values
-
_OPTION_ELEMENT
protected static final String _OPTION_ELEMENT
The option XML element name.- See Also:
- Constant Field Values
-
_CAPTCHA_ELEMENT
protected static final String _CAPTCHA_ELEMENT
The captcha XML element name.- See Also:
- Constant Field Values
-
_FIELDSET_ELEMENT
protected static final String _FIELDSET_ELEMENT
The fieldset XML element name.- See Also:
- Constant Field Values
-
_LEGEND_ELEMENT
protected static final String _LEGEND_ELEMENT
The fieldset XML element name.- See Also:
- Constant Field Values
-
_xpathProcessor
protected XPathProcessor _xpathProcessor
An XPath processor.
-
-
Constructor Detail
-
FormParser
public FormParser(XPathProcessor xpathProcessor)
Default constructor.- Parameters:
xpathProcessor- the xpath processor
-
-
Method Detail
-
getNodesAsList
public List<Node> getNodesAsList(Node context, String xpathExpression)
Return a list of nodes selected by an xpath expression.- Parameters:
context- the context node.xpathExpression- the expression used to select nodes.- Returns:
- a list of nodes selected by an xpath expression.
-
parseForm
public Form parseForm(Node formNode)
Parses the form.- Parameters:
formNode- the node to parse (must be a node <html:form type="cms">)- Returns:
- the extracted Form.
-
_getAttribute
public String _getAttribute(Node node, String attributeName)
Return the value of an attribute of an input- Parameters:
node- the nodeattributeName- the name of the attribute- Returns:
- the value of an attribute of an input
-
_parseFields
protected void _parseFields(Node formNode, Form form)
Parse the fields of a form.- Parameters:
formNode- the form node.form- the form object.
-
_processFieldset
protected Fieldset _processFieldset(Node fieldsetNode)
Process a fieldset.- Parameters:
fieldsetNode- the fielset DOM node.- Returns:
- the fieldset.
-
_processLabel
protected void _processLabel(Node labelNode, Map<String,String> labels)
Process a label.- Parameters:
labelNode- the label DOM node.labels- the label map.
-
_processInput
protected Field _processInput(Node inputNode)
Process an input.- Parameters:
inputNode- the input DOM node.- Returns:
- the input as a Field.
-
_processTextarea
protected Field _processTextarea(Node textareaNode)
Process an textarea.- Parameters:
textareaNode- the textarea DOM node.- Returns:
- the textarea as a Field.
-
_processSelect
protected Field _processSelect(Node selectNode)
Process a select.- Parameters:
selectNode- the select DOM node.- Returns:
- the select as a Field.
-
_processCaptcha
protected Field _processCaptcha(Node captchaNode)
Process a captcha.- Parameters:
captchaNode- the captcha DOM node.- Returns:
- the captcha as a Field.
-
_getInputType
protected Field.FieldType _getInputType(Node inputNode)
Get the input type.- Parameters:
inputNode- the input node.- Returns:
- the field type.
-
_processAttributes
protected void _processAttributes(Node node, Field field)
Process common field attributes and properties.- Parameters:
node- the field node.field- the field object to fill.
-
-