com.thaiopensource.validate.nvdl.AttachAction Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of wicketstuff-jing Show documentation
Show all versions of wicketstuff-jing Show documentation
Jing is a validator for RELAX NG and other schema languages. This
project was taken from http://code.google.com/p/jing-trang and
mavenized for inclusion in the Wicket Stuff HTML Validator.
The code was taken from the 20091111 release.
package com.thaiopensource.validate.nvdl;
import org.xml.sax.ContentHandler;
/**
* Result attach action.
* Attaches elements to the section.
*/
class AttachAction extends ResultAction {
/**
* Creates an attach action with a given mode usage.
* @param modeUsage The mode usage.
*/
AttachAction(ModeUsage modeUsage) {
super(modeUsage);
}
/**
* Performs this action on the section state.
*
* @param handler ???
* @param state The section state.
*/
void perform(ContentHandler handler, SectionState state) {
final ModeUsage modeUsage = getModeUsage();
if (handler != null)
state.addActiveHandler(handler, modeUsage);
else
state.addAttributeValidationModeUsage(modeUsage);
state.addChildMode(modeUsage, handler);
}
/**
* Get a new attach action with a mode usage with the current mode changed.
* This is useful when we have modes extending other modes as we need to get
* the actions from the base mode as actions on the new mode.
*/
ResultAction changeCurrentMode(Mode mode) {
return new AttachAction(getModeUsage().changeCurrentMode(mode));
}
}