001 package com.thaiopensource.validate.nrl; 002 003 import com.thaiopensource.validate.Validator; 004 import com.thaiopensource.validate.nrl.Mode; 005 import com.thaiopensource.validate.nrl.ModeUsage; 006 import org.xml.sax.ContentHandler; 007 008 class AttachAction extends ResultAction { 009 AttachAction(ModeUsage modeUsage) { 010 super(modeUsage); 011 } 012 013 void perform(ContentHandler handler, SectionState state) { 014 final ModeUsage modeUsage = getModeUsage(); 015 if (handler != null) 016 state.addActiveHandler(handler, modeUsage); 017 else 018 state.addAttributeValidationModeUsage(modeUsage); 019 state.addChildMode(modeUsage, handler); 020 } 021 022 ResultAction changeCurrentMode(Mode mode) { 023 return new AttachAction(getModeUsage().changeCurrentMode(mode)); 024 } 025 }