package org.sonatype.nexus.feeds;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import org.sonatype.nexus.proxy.RequestContext;
public class AbstractEvent
{
/**
* The date of event.
*/
private final Date eventDate;
/**
* The action.
*/
private final String action;
/**
* Human message/descritpion.
*/
private final String message;
/**
* The context of event.
*/
private final Map<String, Object> eventContext;
public AbstractEvent( final Date eventDate, final String action, final String message )
{
this.eventDate = eventDate;
this.action = action;
this.message = message;
this.eventContext = new HashMap<String, Object>();
}
public Date getEventDate()
{
return eventDate;
}
public String getAction()
{
return action;
}
public String getMessage()
{
return message;
}
public Map<String, Object> getEventContext()
{
return eventContext;
}
public void addEventContext( Map<String, ?> ctx )
{
if ( ctx instanceof RequestContext )
{
getEventContext().putAll( ( (RequestContext) ctx ).flatten() );
}
else
{
getEventContext().putAll( ctx );
}
}
public String toString()
{
return getMessage();
}
}