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 }