1 /**2 * Copyright (C) 2001-2004 France Telecom R&D3 *4 * This library is free software; you can redistribute it and/or5 * modify it under the terms of the GNU Lesser General Public6 * License as published by the Free Software Foundation; either7 * version 2 of the License, or (at your option) any later version.8 *9 * This library is distributed in the hope that it will be useful,10 * but WITHOUT ANY WARRANTY; without even the implied warranty of11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU12 * Lesser General Public License for more details.13 *14 * You should have received a copy of the GNU Lesser General Public15 * License along with this library; if not, write to the Free Software16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA17 */18 package org.objectweb.speedo.generation.mivisitor;19 20 import org.objectweb.speedo.metadata.SpeedoClass;21 import org.objectweb.speedo.metadata.SpeedoField;22 import org.objectweb.speedo.metadata.SpeedoPackage;23 import org.objectweb.speedo.metadata.SpeedoXMLDescriptor;24 import org.objectweb.speedo.metadata.SpeedoExtension;25 import org.objectweb.speedo.api.SpeedoException;26 import org.objectweb.speedo.generation.api.SpeedoCompilerParameter;27 28 /**29 * Define a speedo meta information visitor. The visitors can be chained by the30 * setNext method.31 *32 * @author S.Chassande-Barrioz33 */34 public interface MetaInfoVisitor {35 36 void visitCompilerParameter(SpeedoCompilerParameter scp) throws SpeedoException;37 38 void visitXml(SpeedoXMLDescriptor xml) throws SpeedoException;39 40 void visitPackage(SpeedoPackage sp) throws SpeedoException;41 42 void visitClass(SpeedoClass sc) throws SpeedoException;43 44 void visitField(SpeedoField sf) throws SpeedoException;45 46 void visitExtension(SpeedoExtension se) throws SpeedoException;47 48 MetaInfoVisitor getNext();49 50 void setNext(MetaInfoVisitor next);51 }52