package org.marketcetera.client.brokers; import java.io.Serializable; import java.util.Set; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; import org.marketcetera.algo.BrokerAlgoSpec; import org.marketcetera.trade.BrokerID; import org.marketcetera.util.misc.ClassVersion; /** * The web service representation of a single broker's status. * * @author tlerios@marketcetera.com * @since 1.0.0 * @version $Id: BrokerStatus.java 16752 2013-11-14 02:54:13Z colin $ */ /* $License$ */ @XmlAccessorType(XmlAccessType.FIELD) @XmlRootElement @ClassVersion("$Id: BrokerStatus.java 16752 2013-11-14 02:54:13Z colin $") public class BrokerStatus implements Serializable { // CLASS DATA. private static final long serialVersionUID=1L; // INSTANCE DATA. private final String mName; private final BrokerID mId; private final boolean mLoggedOn; private final Set<BrokerAlgoSpec> mBrokerAlgos; // CONSTRUCTORS. /** * Creates a new status representation, given the broker * information. * * @param name The broker name. * @param id The broker ID. * @param loggedOn The logon flag. * @param inAlgoSpecs a <code>Set<BrokerAlgoSpec></code> value */ public BrokerStatus(String name, BrokerID id, boolean loggedOn, Set<BrokerAlgoSpec> inAlgoSpecs) { mName=name; mId=id; mLoggedOn=loggedOn; mBrokerAlgos = inAlgoSpecs; } /** * Create a new BrokerStatus instance. * * @param inName a <code>String</code> value * @param inId a <code>BrokerID</code> value * @param inLoggedOn a <code>boolean</code> value */ public BrokerStatus(String inName, BrokerID inId, boolean inLoggedOn) { mName = inName; mId = inId; mLoggedOn = inLoggedOn; mBrokerAlgos = null; } /** * Creates a new status representation. This empty constructor is * intended for use by JAXB. */ protected BrokerStatus() { mName=null; mId=null; mLoggedOn=false; mBrokerAlgos = null; } // INSTANCE METHODS. /** * Returns the receiver's name. * * @return The name. */ public String getName() { return mName; } /** * Returns the receiver's broker ID. * * @return The ID. */ public BrokerID getId() { return mId; } /** * Returns the receiver's logon flag. * * @return The flag. */ public boolean getLoggedOn() { return mLoggedOn; } /** * Get the brokerAlgos value. * * @return a <code>Set<BrokerAlgoSpec></code> value */ public Set<BrokerAlgoSpec> getBrokerAlgos() { return mBrokerAlgos; } // Object. @Override public String toString() { return String.format ("Broker: %s(%s,%s)", //$NON-NLS-1$ String.valueOf(getName()),String.valueOf(getId()),getLoggedOn()); } }