package org.apache.synapse.commons.evaluators.config; import org.apache.axiom.om.OMElement; import org.apache.synapse.commons.evaluators.Evaluator; import org.apache.synapse.commons.evaluators.EvaluatorException; import org.apache.synapse.commons.evaluators.MatchEvaluator; import org.apache.synapse.commons.evaluators.EvaluatorConstants; import javax.xml.namespace.QName; /** * Serialize the {@link MatchEvaluator} to the XML configuration defined in * the {@link MatchFactory}. */ public class MatchSerializer extends TextProcessingEvaluatorSerializer { public OMElement serialize(OMElement parent, Evaluator evaluator) throws EvaluatorException { if (!(evaluator instanceof MatchEvaluator)) { throw new IllegalArgumentException("Evalutor must be a NotEvalutor"); } MatchEvaluator matchEvaluator = (MatchEvaluator) evaluator; OMElement matchElement = fac.createOMElement(EvaluatorConstants.MATCH,EvaluatorConstants.SYNAPSE_NAMESPACE, EvaluatorConstants.EMPTY_PREFIX); serializeSourceTextRetriever(matchEvaluator.getTextRetriever(), matchElement); matchElement.addAttribute(fac.createOMAttribute(EvaluatorConstants.REGEX, nullNS, matchEvaluator.getRegex().toString())); if (parent != null) { parent.addChild(matchElement); } return matchElement; } }