package org.marketcetera.event;
import java.math.BigDecimal;
import org.marketcetera.trade.Equity;
import org.marketcetera.util.misc.ClassVersion;
/* $License$ */
/**
* Represents a dividend for an equity at a particular time.
*
* @author <a href="mailto:colin@marketcetera.com">Colin DuPlantis</a>
* @version $Id: DividendEvent.java 16154 2012-07-14 16:34:05Z colin $
* @since 2.0.0
*/
@ClassVersion("$Id: DividendEvent.java 16154 2012-07-14 16:34:05Z colin $")
public interface DividendEvent
extends Event, HasEquity, HasEventType
{
/**
* Gets the amount of the dividend.
*
* @return a <code>BigDecimal</code> value
*/
public BigDecimal getAmount();
/**
* Gets the currency in which the dividend was or will be issued.
*
* @return a <code>String</code> value
*/
public String getCurrency();
/**
* Gets the declare date of the dividend, if available.
*
* <p>The format of the date is dependent on the market data provider.
*
* @return a <code>String</code> value or <code>null</code>
*/
public String getDeclareDate();
/**
* Gets the execution date of the dividend.
*
* <p>The format of the date is dependent on the market data provider.
*
* @return a <code>String</code> value
*/
public String getExecutionDate();
/**
* Gets the frequency of the dividend.
*
* @return a <code>DividendFrequency</code> value
*/
public DividendFrequency getFrequency();
/**
* Gets the Equity of the dividend.
*
* @return a <code>Equity</code> value
*/
public Equity getEquity();
/**
* Gets the payment date of the dividend, if available.
*
* <p>The format of the date is dependent on the market data provider.
*
* @return a <code>String</code> value or <code>null</code>
*/
public String getPaymentDate();
/**
* Gets the record date of the dividend, if available.
*
* <p>The format of the date is dependent on the market data provider.
*
* @return a <code>String</code> value or <code>null</code>
*/
public String getRecordDate();
/**
* Gets the status of the dividend.
*
* @return a <code>DividendStatus</code> value
*/
public DividendStatus getStatus();
/**
* Gets the type of the dividend.
*
* @return a <code>DividendType</code> value
*/
public DividendType getType();
/**
* Gets the type of the event.
*
* @return an <code>EventType</code> value
*/
public EventType getEventType();
/**
* Sets the type of the event.
*
* @param inEventType an <code>EventType</code> value
*/
public void setEventType(EventType inEventType);
}