package org.marketcetera.event.impl; import org.marketcetera.event.Event; import org.marketcetera.util.misc.ClassVersion; /* $License$ */ /** * Constructs objects of the given type of {@link Event}. * * @author <a href="mailto:colin@marketcetera.com">Colin DuPlantis</a> * @version $Id: EventBuilder.java 16154 2012-07-14 16:34:05Z colin $ * @since 2.0.0 */ @ClassVersion("$Id: EventBuilder.java 16154 2012-07-14 16:34:05Z colin $") public interface EventBuilder<E extends Event> { /** * Causes the <code>EventBuilder</code> to create an object of the given type. * * <p>This method will invoke the object type's validation routine, if any. * * @return an <code>E</code> value */ public E create(); }