001    /**
002     * Copyright 2007 Mike Kroutikov.
003     *
004     * This program is free software; you can redistribute it and/or modify
005     *   it under the terms of the Lesser GNU General Public License as 
006     *   published by the Free Software Foundation; either version 3 of
007     *   the License, or (at your option) any later version.
008     *
009     *   This program is distributed in the hope that it will be useful,
010     *   but WITHOUT ANY WARRANTY; without even the implied warranty of
011     *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
012     *   Lesser GNU General Public License for more details.
013     *
014     *   You should have received a copy of the Lesser GNU General Public License
015     *   along with this program.  If not, see <http://www.gnu.org/licenses/>.
016     */
017    
018    package org.otfeed.protocol.request;
019    
020    import org.otfeed.command.MonthAndYear;
021    import org.otfeed.command.PriceRange;
022    import org.otfeed.command.VolumeStyleEnum;
023    import org.otfeed.event.ICompletionDelegate;
024    import org.otfeed.event.IDataDelegate;
025    import org.otfeed.event.OTBBO;
026    import org.otfeed.event.OTMMQuote;
027    import org.otfeed.event.OTQuote;
028    import org.otfeed.event.OTTrade;
029    import org.otfeed.protocol.CommandEnum;
030    
031    /**
032     * Request to receive option chain events.
033     */
034    public final class OptionChainRequest extends AbstractOptionChainRequest {
035    
036            public OptionChainRequest(int requestId, 
037                            String exchangeCode,
038                            String symbolCode,
039                            MonthAndYear expiration,
040                            PriceRange strikeRange,
041                            VolumeStyleEnum volumeStyle,
042                            IDataDelegate<OTQuote>   quoteDelegate,
043                            IDataDelegate<OTTrade>   tradeDelegate,
044                            IDataDelegate<OTMMQuote> mmQuoteDelegate,
045                            IDataDelegate<OTBBO>     bboDelegate,
046                            ICompletionDelegate completionDelegate) {
047    
048                    super(CommandEnum.REQUEST_OPTION_CHAIN_U,
049                                    requestId, 
050                                    exchangeCode,
051                                    symbolCode,
052                                    expiration,
053                                    strikeRange,
054                                    volumeStyle,
055                                    quoteDelegate,
056                                    tradeDelegate,
057                                    mmQuoteDelegate,
058                                    bboDelegate,
059                                    completionDelegate
060                    );
061            }
062    
063            @Override
064            public final CommandEnum getCancelCommand() {
065                    return CommandEnum.CANCEL_OPTION_CHAIN;
066            }
067    }