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);
}