package org.openflexo.docxparser.flexotag; import java.util.StringTokenizer; public class FlexoEPITag extends AbstractFlexoTag { public static final String EPI_TAG = "__EPI_"; private String editionPatternURI; private String bindingPath; private String modelObjectReference; public FlexoEPITag(String tagValue) throws FlexoTagFormatException { super(tagValue); } @Override protected String getTag() { return EPI_TAG; } // EPI instance ID, EP URI, View ID, bindingpath public static String buildFlexoEPITag(String epiInstanceID, String editionPatternURI, String bindingPath, String modelObjectReference) { return buildFlexoTag(EPI_TAG, epiInstanceID, "", editionPatternURI + ',' + bindingPath + ',' + modelObjectReference); } @Override protected void parseOptionalInfo(String optionalInfo) { super.parseOptionalInfo(optionalInfo); if (optionalInfo != null) { StringTokenizer st = new StringTokenizer(optionalInfo, ","); if (st.hasMoreTokens()) { editionPatternURI = st.nextToken(); } if (st.hasMoreTokens()) { bindingPath = st.nextToken(); } if (st.hasMoreTokens()) { modelObjectReference = st.nextToken(); while (st.hasMoreTokens()) { modelObjectReference += ',' + st.nextToken(); } } } } public String getEditionPatternInstanceID() { return getFlexoId(); } public String getEditionPatternURI() { return editionPatternURI; } public String getModelObjectReference() { return modelObjectReference; } public String getBindingPath() { return bindingPath; } }