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 snapshot.
033     * Snapshot is the most recent events.
034     */
035    public final class OptionChainSnapshotRequest extends AbstractOptionChainRequest {
036    
037            public OptionChainSnapshotRequest(int requestId, 
038                            String exchangeCode,
039                            String symbolCode,
040                            MonthAndYear expiration,
041                            PriceRange strikeRange,
042                            VolumeStyleEnum volumeStyle,
043                            IDataDelegate<OTQuote>   quoteDelegate,
044                            IDataDelegate<OTTrade>   tradeDelegate,
045                            IDataDelegate<OTMMQuote> mmQuoteDelegate,
046                            IDataDelegate<OTBBO>     bboDelegate,
047                            ICompletionDelegate completionDelegate) {
048    
049                    super(CommandEnum.REQUEST_OPTION_CHAIN_SNAPSHOT,
050                                    requestId, 
051                                    exchangeCode,
052                                    symbolCode,
053                                    expiration,
054                                    strikeRange,
055                                    volumeStyle,
056                                    quoteDelegate,
057                                    tradeDelegate,
058                                    mmQuoteDelegate,
059                                    bboDelegate,
060                                    completionDelegate
061                    );
062            }
063    }