/*******************************************************************************
* Copyright (c) 2012-2015 INRIA.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Generoso Pagano - initial API and implementation
******************************************************************************/
package fr.inria.soctrace.lib.model;
import fr.inria.soctrace.lib.model.utils.SoCTraceException;
/**
* Interface for all model visitors.
*
* This interface contains all the visit method for all the data model entities,
* as defined in {@link fr.inria.soctrace.lib.model.utils.ModelConstants.ModelEntity}.
* This way the object of the model do not need to know where they are saved.
*
* @author "Generoso Pagano <generoso.pagano@inria.fr>"
*
*/
public interface IModelVisitor {
void executeBatches() throws SoCTraceException;
void clearBatches() throws SoCTraceException;
void close() throws SoCTraceException;
void visit(Trace trace) throws SoCTraceException;
void visit(TraceType traceType) throws SoCTraceException;
void visit(TraceParam traceParam) throws SoCTraceException;
void visit(TraceParamType traceParamType) throws SoCTraceException;
void visit(Tool tool) throws SoCTraceException;
void visit(Event event) throws SoCTraceException;
void visit(EventParam eventParam) throws SoCTraceException;
void visit(EventType eventType) throws SoCTraceException;
void visit(EventParamType eventParamType) throws SoCTraceException;
void visit(EventProducer eventProducer) throws SoCTraceException;
void visit(File file) throws SoCTraceException;
void visit(AnalysisResult analysisResult) throws SoCTraceException;
}