package org.jactr.tools.marker.impl;
/*
* default logging
*/
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jactr.core.event.AbstractACTREvent;
import org.jactr.tools.marker.IMarker;
import org.jactr.tools.marker.IMarkerListener;
import org.jactr.tools.marker.MarkerManager;
public class MarkerEvent extends
AbstractACTREvent<MarkerManager, IMarkerListener>
{
/**
* Logger definition
*/
static private final transient Log LOGGER = LogFactory
.getLog(MarkerEvent.class);
static public enum Type {
OPENED, CLOSED
};
private final Type _type;
private final IMarker _marker;
public MarkerEvent(MarkerManager source, double simulationTime, Type type,
IMarker marker)
{
super(source, simulationTime);
_marker = marker;
_type = type;
}
public Type getType()
{
return _type;
}
public IMarker getMarker()
{
return _marker;
}
@Override
public void fire(IMarkerListener listener)
{
switch (getType())
{
case OPENED:
listener.markerOpened(this);
break;
case CLOSED:
listener.markerClosed(this);
break;
}
}
}