package org.lucci.madhoc.network;

import java.util.Collection;

import org.lucci.madhoc.simulation.MadhocSimulation;
import org.lucci.madhoc.simulation.Simulation;
import org.lucci.madhoc.simulation.SimulationListener;

public abstract class NetworkAlterer implements SimulationListener
{

    public abstract void operate(Network network);
    

    public void iterationStarting(Simulation simulation)
    {
        // TODO Auto-generated method stub
        
    }

    public void iterationHasCompleted(Simulation simulation)
    {
        // TODO Auto-generated method stub
        
    }

    public void beforeTheStationsMove(MadhocSimulation simulation)
    {
        // TODO Auto-generated method stub
        
    }

    public void afterTheStationsMove(MadhocSimulation simulation)
    {
        // TODO Auto-generated method stub
        
    }

    public void beforeStationsDo(MadhocSimulation simulation)
    {
        // TODO Auto-generated method stub
        
    }

    public void afterStationsDo(MadhocSimulation simulation)
    {
        // TODO Auto-generated method stub
        
    }

    public void beforeDataTransfer(MadhocSimulation simulation)
    {
        // TODO Auto-generated method stub
        
    }

    public void afterDataTransfer(MadhocSimulation simulation)
    {
        // TODO Auto-generated method stub
        
    }

    public void beforeSensing(MadhocSimulation simulation)
    {
        // TODO Auto-generated method stub
        
    }

    public void afterSensing(MadhocSimulation simulation)
    {
        // TODO Auto-generated method stub
        
    }

    public void connectionsHaveVanished(MadhocSimulation simulation, Collection<Connection> removedConnections)
    {
        // TODO Auto-generated method stub
        
    }

    public void connectionsHaveAppeared(MadhocSimulation simulation, Collection<Connection> addedConnections)
    {
        operate(simulation.getNetwork());
    }
}