code: /*--------------------------------------------------------------*
    Copyright (C) 2006-2015 OpenSim Ltd.
  
    This file is distributed WITHOUT ANY WARRANTY. See the file
    'License' for details on this and other legal matters.
  *--------------------------------------------------------------*/
  
  package org.omnetpp.ned.core;
  
  import org.omnetpp.ned.model.NedElementConstants;
  import org.omnetpp.ned.model.ex.ChannelElementEx;
  import org.omnetpp.ned.model.ex.ChannelInterfaceElementEx;
  import org.omnetpp.ned.model.ex.CompoundModuleElementEx;
  import org.omnetpp.ned.model.ex.ConnectionElementEx;
  import org.omnetpp.ned.model.ex.ModuleInterfaceElementEx;
  import org.omnetpp.ned.model.ex.NedFileElementEx;
  import org.omnetpp.ned.model.ex.SimpleModuleElementEx;
  import org.omnetpp.ned.model.ex.SubmoduleElementEx;
  import org.omnetpp.ned.model.pojo.AbstractNedValidator;
  import org.omnetpp.ned.model.pojo.ChannelElement;
  import org.omnetpp.ned.model.pojo.ChannelInterfaceElement;
  import org.omnetpp.ned.model.pojo.CompoundModuleElement;
  import org.omnetpp.ned.model.pojo.ConnectionElement;
  import org.omnetpp.ned.model.pojo.ModuleInterfaceElement;
  import org.omnetpp.ned.model.pojo.NedFileElement;
  import org.omnetpp.ned.model.pojo.SimpleModuleElement;
  import org.omnetpp.ned.model.pojo.SubmoduleElement;
  
  /**
   * Validation using the extended ("Ex") classes
   *
   * @author andras
   */
  public abstract class AbstractNedValidatorEx extends AbstractNedValidator implements NedElementConstants {
      protected abstract void validateElement(NedFileElementEx node);
      protected abstract void validateElement(SimpleModuleElementEx node);
      protected abstract void validateElement(ModuleInterfaceElementEx node);
      protected abstract void validateElement(CompoundModuleElementEx node);
      protected abstract void validateElement(ChannelInterfaceElementEx node);
      protected abstract void validateElement(ChannelElementEx node);
      protected abstract void validateElement(SubmoduleElementEx node);
      protected abstract void validateElement(ConnectionElementEx node);
  
      @Override
      final protected void validateElement(NedFileElement node) {
          validateElement((NedFileElementEx)node);
      }
  
      @Override
      final protected void validateElement(ModuleInterfaceElement node) {
          validateElement((ModuleInterfaceElementEx)node);
      }
  
      @Override
      final protected void validateElement(SimpleModuleElement node) {
          validateElement((SimpleModuleElementEx)node);
      }
  
      @Override
      final protected void validateElement(CompoundModuleElement node) {
          validateElement((CompoundModuleElementEx)node);
      }
  
      @Override
      final protected void validateElement(ChannelInterfaceElement node) {
          validateElement((ChannelInterfaceElementEx)node);
      }
  
      @Override
      final protected void validateElement(ChannelElement node) {
          validateElement((ChannelElementEx)node);
      }
  
      @Override
      final protected void validateElement(SubmoduleElement node) {
          validateElement((SubmoduleElementEx)node);
      }
  
      @Override
      final protected void validateElement(ConnectionElement node) {
          validateElement((ConnectionElementEx)node);
      }
  
  }
  