All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.thaiopensource.validate.nvdl.AttachAction Maven / Gradle / Ivy

Go to download

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.

There is a newer version: 1.11
Show newest version
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));
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy