/*****************************************************************************
*
* Copyright (C) Zenoss, Inc. 2010, all rights reserved.
*
* This content is made available according to terms specified in
* License.zenoss under the directory where your Zenoss product is installed.
*
****************************************************************************/
package org.zenoss.zep.plugins;
import org.zenoss.protobufs.zep.Zep.Event;
import org.zenoss.zep.ZepException;
/**
* Pre-processing plug-ins operate on an event before it is persisted, and can
* change properties of the event.
*/
public abstract class EventPreCreatePlugin extends EventPlugin {
/**
* Processes the event. If no processing takes place, this method can return
* null.
*
* @param event
* The event to process.
* @param ctx
* Context information available to the plug-in.
* @return The processed event, or null if the event is not modified.
* @throws org.zenoss.zep.ZepException
* If an exception occurred processing the event.
*/
public abstract Event processEvent(Event event, EventPreCreateContext ctx) throws ZepException;
}