org.marketcetera.trade.Equity.java Source code

Java tutorial

Introduction

Here is the source code for org.marketcetera.trade.Equity.java

Source

package org.marketcetera.trade;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;

import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.Validate;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
import org.marketcetera.util.misc.ClassVersion;

/* $License$ */

/**
 * Identifies an equity.
 * 
 * @author <a href="mailto:will@marketcetera.com">Will Horn</a>
 * @version $Id$
 * @since 2.0.0
 */
@ClassVersion("$Id$")
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Equity extends Instrument {

    private final String mSymbol;

    /**
     * Constructor.
     * 
     * @param symbol
     *            symbol
     * @throws IllegalArgumentException
     *             if symbol is null or whitespace
     */
    public Equity(String symbol) {
        symbol = StringUtils.trimToNull(symbol);
        Validate.notNull(symbol);
        mSymbol = symbol;
    }

    /**
     * Parameterless constructor for use only by JAXB.
     */
    protected Equity() {
        mSymbol = null;
    }

    /**
     * Returns equity symbol.
     * 
     * @return the equity symbol, never null
     */
    @Override
    public String getSymbol() {
        return mSymbol;
    }

    /**
     * Always returns {@link SecurityType#CommonStock}.
     * 
     * @return {@link SecurityType#CommonStock}
     */
    @Override
    public SecurityType getSecurityType() {
        return SecurityType.CommonStock;
    }

    @Override
    public int hashCode() {
        return mSymbol.hashCode();
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (!(obj instanceof Equity)) {
            return false;
        }
        Equity other = (Equity) obj;
        return mSymbol.equals(other.mSymbol);
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE).append("symbol", mSymbol) //$NON-NLS-1$
                .toString();
    }

    private static final long serialVersionUID = 1L;
}