001 package com.oxygenxml.validate.nvdl;
002
003 import org.xml.sax.ContentHandler;
004 import org.xml.sax.SAXException;
005
006 /**
007 * Reult action.
008 * These actions change the sections, attach and unwrap.
009 *
010 */
011 abstract class ResultAction extends Action {
012 /**
013 * Creates a result action with a given mode usage.
014 * @param modeUsage The mode usage.
015 */
016 ResultAction(ModeUsage modeUsage) {
017 super(modeUsage);
018 }
019
020 /**
021 * Perform this action on a session state.
022 *
023 * @param handler The content handler???
024 * @param state The session state.
025 * @throws SAXException
026 */
027 abstract void perform(ContentHandler handler, SectionState state) throws SAXException;
028
029 /**
030 * Get a similar action but with the current mode in the mode usage changed.
031 * This is useful to get the actions from a mode that extends the mode that has this action.
032 * @param mode The new current mode.
033 * @return The new result action.
034 */
035 abstract ResultAction changeCurrentMode(Mode mode);
036 }