/* * Copyright (c) 2004-2011 Marco Maccaferri and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Marco Maccaferri - initial API and implementation */ package org.eclipsetrader.core.internal.trading; import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElementRef; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlTransient; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; import org.eclipsetrader.core.instruments.ISecurity; @XmlRootElement(name = "instrument") public class InstrumentElement { @XmlAttribute(name = "instrument") @XmlJavaTypeAdapter(SecurityAdapter.class) private ISecurity instrument; @XmlElementRef private List<AlertElement> alerts = new ArrayList<AlertElement>(); public InstrumentElement() { } public InstrumentElement(ISecurity instrument, List<AlertElement> alerts) { this.instrument = instrument; this.alerts = alerts; } @XmlTransient public ISecurity getInstrument() { return instrument; } @XmlTransient public AlertElement[] getAlerts() { return alerts.toArray(new AlertElement[alerts.size()]); } }