/** * Creates a shallow copy of the given <code>ImbalanceBean</code>. * * @param inBean an <code>ImbalanceBean</code> value * @return an <code>ImbalanceBean</code> value */ public static ImbalanceBean copy(ImbalanceBean inBean) { ImbalanceBean newBean = new ImbalanceBean(); copyAttributes(inBean, newBean); return newBean; } /**
/** * Create a new AbstractImbalanceEventImpl instance. * * @param inImbalanceBean a <code>ImbalanceBean</code> value * @throws IllegalArgumentException if <code>MessageId</code> < 0 * @throws IllegalArgumentException if <code>Timestamp</code> is <code>null</code> * @throws IllegalArgumentException if <code>Instrument</code> is <code>null</code> */ protected AbstractImbalanceEvent(ImbalanceBean inImbalance) { imbalance = ImbalanceBean.copy(inImbalance); imbalance.setDefaults(); imbalance.validate(); } /**
/** * Copies all member attributes from the donor to the recipient. * * @param inDonor an <code>ImbalanceBean</code> value * @param inRecipient an <code>ImbalanceBean</code> value */ protected static void copyAttributes(ImbalanceBean inDonor, ImbalanceBean inRecipient) { EventBean.copyAttributes(inDonor, inRecipient); inRecipient.setAuctionType(inDonor.getAuctionType()); inRecipient.setEventType(inDonor.getEventType()); inRecipient.setExchange(inDonor.getExchange()); inRecipient.setFarPrice(inDonor.getFarPrice()); inRecipient.setImbalanceType(inDonor.getImbalanceType()); inRecipient.setImbalanceVolume(inDonor.getImbalanceVolume()); inRecipient.setInstrument(inDonor.getInstrument()); inRecipient.setInstrumentStatus(inDonor.getInstrumentStatus()); inRecipient.setMarketStatus(inDonor.getMarketStatus()); inRecipient.setNearPrice(inDonor.getNearPrice()); inRecipient.setPairedVolume(inDonor.getPairedVolume()); inRecipient.setReferencePrice(inDonor.getReferencePrice()); inRecipient.setShortSaleRestricted(inDonor.getShortSaleRestricted()); } /**
@Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append("Imbalance for ").append(imbalance.getInstrument().getFullSymbol()).append(" [").append(imbalance.getEventType()).append("] ") .append(" auction: ").append(imbalance.getAuctionType()).append(" on exchange ").append(imbalance.getExchange()).append(" instrument status: ").append(imbalance.getInstrumentStatus()) .append(" market status: ").append(imbalance.getMarketStatus()).append(" at ").append(imbalance.getTimestamp()); return builder.toString(); } /* (non-Javadoc)
@Override public Instrument getInstrument() { return imbalance.getInstrument(); } /* (non-Javadoc)
@Override public ImbalanceType getImbalanceType() { return imbalance.getImbalanceType(); } /* (non-Javadoc)
@Override public String getExchange() { return imbalance.getExchange(); } /* (non-Javadoc)
@Override public EventType getEventType() { return imbalance.getEventType(); } /* (non-Javadoc)
@Override public AuctionType getAuctionType() { return imbalance.getAuctionType(); } /* (non-Javadoc)
@Override public BigDecimal getImbalanceVolume() { return imbalance.getImbalanceVolume(); } /* (non-Javadoc)
/** * Create a new AbstractImbalanceEventImpl instance. * * <p>This constructor is intended to be used by JAXB only. */ protected AbstractImbalanceEvent() { imbalance = new ImbalanceBean(); } /**
@Override public BigDecimal getFarPrice() { return imbalance.getFarPrice(); } /* (non-Javadoc)
@Override public ImbalanceEvent create() { if(!(getImbalance().getInstrument() instanceof Equity)) { throw new IllegalArgumentException(VALIDATION_EQUITY_REQUIRED.getText()); } return new EquityImbalanceEvent(getImbalance()); } };
@Override public ImbalanceEvent create() { if(!(getImbalance().getInstrument() instanceof Future)) { throw new IllegalArgumentException(VALIDATION_FUTURE_REQUIRED.getText()); } return new FutureImbalanceEvent(getImbalance(), getFuture()); } };
@Override public ImbalanceEvent create() { if(!(getImbalance().getInstrument() instanceof Currency)) { throw new IllegalArgumentException(VALIDATION_CURRENCY_REQUIRED.getText()); } return new CurrencyImbalanceEvent(getImbalance(),getCurrency()); } };
@Override public ImbalanceEvent create() { if(!(getImbalance().getInstrument() instanceof Option)) { throw new IllegalArgumentException(VALIDATION_OPTION_REQUIRED.getText()); } return new OptionImbalanceEvent(getImbalance(), getOption()); } };
@Override public ImbalanceEvent create() { if(!(getImbalance().getInstrument() instanceof ConvertibleBond)) { throw new IllegalArgumentException(VALIDATION_BOND_REQUIRED.getText()); } return new ConvertibleBondImbalanceEvent(getImbalance(), getConvertibleBond()); } };