package org.opendope.conditions; import java.util.List; import java.util.Map; import org.docx4j.openpackaging.packages.WordprocessingMLPackage; import org.docx4j.openpackaging.parts.CustomXmlPart; public interface Evaluable { public boolean evaluate(WordprocessingMLPackage pkg, Map<String, CustomXmlPart> customXmlDataStorageParts, Map<String, Condition> conditionsMap, Map<String, org.opendope.xpaths.Xpaths.Xpath> xpathsMap); /** * List the XPaths used in this condition. * @param theList * @param conditions * @param xPaths */ public void listXPaths( List<org.opendope.xpaths.Xpaths.Xpath> theList, Map<String, Condition> conditionsMap, Map<String, org.opendope.xpaths.Xpaths.Xpath> xpathsMap); /** * Build the XPath expression * @param conditions * @param xPaths * @return */ public String toString(Map<String, Condition> conditionsMap, Map<String, org.opendope.xpaths.Xpaths.Xpath> xpathsMap); /** * Create a condition for this instance of a repeat. * * @param xpathBase * @param index * @param conditions * @param xPaths * @return */ public Condition repeat(String xpathBase, int index, Map<String, Condition> conditionsMap, Map<String, org.opendope.xpaths.Xpaths.Xpath> xpathsMap); /** * Map the IDs used in this condition to new values; useful for merging ConditionParts. * * @param xpathIdMap * @param conditionIdMap * @since 3.0.0 */ public void mapIds(Map<String, String> xpathIdMap, Map<String, String> conditionIdMap); }