001    package com.thaiopensource.validate.nrl;
002    
003    import org.xml.sax.SAXException;
004    import com.thaiopensource.validate.nrl.Mode;
005    import com.thaiopensource.validate.nrl.ModeUsage;
006    import com.thaiopensource.validate.nrl.NoResultAction;
007    
008    class RejectAction extends NoResultAction {
009      RejectAction(ModeUsage modeUsage) {
010        super(modeUsage);
011      }
012    
013      void perform(SectionState state) throws SAXException {
014        final ModeUsage modeUsage = getModeUsage();
015        state.reject();
016        state.addChildMode(modeUsage, null);
017        state.addAttributeValidationModeUsage(modeUsage);
018      }
019    
020      NoResultAction changeCurrentMode(Mode mode) {
021        return new RejectAction(getModeUsage().changeCurrentMode(mode));
022      }
023    }