|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.dxfeed.api.DXFeed
public abstract class DXFeed
Main entry class for dxFeed API (read it first).
getInstance()
method.
It is created on the first use with default configuration properties that are explained in detail in
documentation for DXEndpoint
class in the "Default properties" section. In particular,
you can provide a default address to connect using
"dxfeed.address
"
system property or by putting it into
"dxfeed.properties
"
file on JVM classpath. dxFeed API samples come with a ready-to-use "dxfeed.properties"
file that contains an address of dxFeed demo feed at "demo.dxfeed.com:7300".
DXFeedSubscription<Note, that order of calls is important here. By attaching listeners first and then setting subscription we ensure that the current quote gets received by the listener. SeeQuote
> sub =DXFeed
.getInstance
().createSubscription
(Quote.class
); sub.addEventListener
(new DXFeedEventListener<Quote>() { public void eventsReceived(List<Quote> quotes) { for (Quote quote : quotes) System.out.println("Mid = " + (quote.getBidPrice() + quote.getAskPrice()) / 2); } }); sub.addSymbols
("SPY");
DXFeedSubscription.addSymbols
for details.
DXFeedSubscription<MarketEvent
> sub =DXFeed
.getInstance
().<MarketEvent>createSubscription
(Quote.class
,Trade.class
); sub.addEventListener
(new DXFeedEventListener<MarketEvent>() { public void eventsReceived(List<MarketEvent> events) { for (MarketEvent event : events) System.out.println(event); } }); sub.addSymbols
("SPY");
DXFeedSubscription<Trade
> sub =DXFeed
.getInstance
().createSubscription
(Trade.class
); sub.addSymbols
("SPY"); while (true) { System.out.println(feed.getLastEvent
(new Trade("SPY"))); Thread.sleep(1000); }
Constructor Summary | |
---|---|
protected |
DXFeed()
Protected constructor for implementations of this class only. |
Method Summary | ||
---|---|---|
abstract void |
attachSubscription(DXFeedSubscription<?> subscription)
Attaches the given subscription to this feed. |
|
|
createSubscription(Class<? extends E>... eventTypes)
Creates new subscription for multiple event types that is attached to this feed. |
|
|
createSubscription(Class<? extends E> eventType)
Creates new subscription for a single event type that is attached to this feed. |
|
|
createTimeSeriesSubscription(Class<? extends E>... eventTypes)
Creates new time series subscription for multiple event types that is attached to this feed. |
|
|
createTimeSeriesSubscription(Class<? extends E> eventType)
Creates new time series subscription for a single event type that is attached to this feed. |
|
abstract void |
detachSubscription(DXFeedSubscription<?> subscription)
Detaches the given subscription from this feed. |
|
static DXFeed |
getInstance()
Returns a default application-wide singleton instance of DXFeed. |
|
abstract
|
getLastEvent(E event)
Returns the last event for the specified symbol and event type. |
|
|
getLastEvents(Collection<E> events)
Returns the last events for the specified symbols and event types. |
|
protected static
|
processEvents(DXFeedSubscription<E> subscription,
List<E> events)
Processes received events. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected DXFeed()
Method Detail |
---|
public static DXFeed getInstance()
DXEndpoint
.getInstance
(DXEndpoint.Role.FEED
).getFeed
().
public final <E> DXFeedSubscription<E> createSubscription(Class<? extends E> eventType)
createSubscription(Class[])
createSubscription(Class... eventTypes)}
This method creates new DXFeedSubscription
and invokes attachSubscription(com.dxfeed.api.DXFeedSubscription>)
.
E
- the type of events.eventType
- the class of event types.DXFeedSubscription.DXFeedSubscription(Class)
,
attachSubscription(DXFeedSubscription)
public final <E> DXFeedSubscription<E> createSubscription(Class<? extends E>... eventTypes)
createSubscrtiption(Class eventType)
This method creates new DXFeedSubscription
and invokes attachSubscription(com.dxfeed.api.DXFeedSubscription>)
.
E
- the type of events.eventTypes
- the classes of event types.DXFeedSubscription.DXFeedSubscription(Class[])
,
attachSubscription(DXFeedSubscription)
public final <E extends TimeSeriesEvent> DXFeedTimeSeriesSubscription<E> createTimeSeriesSubscription(Class<? extends E> eventType)
createTimeSeriesSubscription(Class[])
createTimeSeriesSubscription(Class... eventTypes)}
This method creates new DXFeedTimeSeriesSubscription
and invokes attachSubscription(com.dxfeed.api.DXFeedSubscription>)
.
E
- the type of events.eventType
- the class of event types.DXFeedTimeSeriesSubscription.DXFeedTimeSeriesSubscription(Class)
,
attachSubscription(DXFeedSubscription)
public final <E extends TimeSeriesEvent> DXFeedTimeSeriesSubscription<E> createTimeSeriesSubscription(Class<? extends E>... eventTypes)
createTimeSeriesSubscription(Class eventType)
This method creates new DXFeedTimeSeriesSubscription
and invokes attachSubscription(com.dxfeed.api.DXFeedSubscription>)
.
E
- the type of events.eventTypes
- the classes of event types.DXFeedTimeSeriesSubscription.DXFeedTimeSeriesSubscription(Class[])
,
attachSubscription(DXFeedSubscription)
public abstract void attachSubscription(DXFeedSubscription<?> subscription)
This feed publishes data to the attached subscription.
Application can attach DXFeedEventListener
via
DXFeedSubscription.addEventListener(com.dxfeed.api.DXFeedEventListener
to get notified about data changes
and can change its data subscription via DXFeedSubscription
methods.
ObservableSubscriptionChangeListener
for the given subscription
via DXFeedSubscription.addChangeListener(com.dxfeed.api.osub.ObservableSubscriptionChangeListener)
method.
Attachment is lost when subscription is serialized and deserialized.
subscription
- the subscription.
NullPointerException
- if the subscription is null.DXFeedSubscription
public abstract void detachSubscription(DXFeedSubscription<?> subscription)
ObservableSubscriptionChangeListener
from the given subscription
via DXFeedSubscription.removeChangeListener(com.dxfeed.api.osub.ObservableSubscriptionChangeListener)
method.
subscription
- the subscription.
NullPointerException
- if the subscription is null.DXFeedSubscription
public abstract <E extends LastingEvent> E getLastEvent(E event)
LastingEvent
marker interface.
This method goes not make
any remote calls to the uplink data provider. It just retrieves last received event
from the local cache of this feed. The events are stored in the cache only if there is some
attached DXFeedSubscription
that is subscribed to the corresponding symbol and event type
WildcardSymbol.ALL
subscription does not count for that purpose.
This method fills in the values for the last event into the event
argument.
If the last event is not available for any reason (no subscription, no connection to uplink, etc).
then the event object is not changed.
This method always returns the same event
instance that is passed to it as an argument.
Note, that this method does not work when DXEndpoint
was created with
STREAM_FEED
role.
E
- the type of event.event
- the event.
NullPointerException
- if the event is null.public <E extends LastingEvent> Collection<E> getLastEvents(Collection<E> events)
getLastEvent
method.
Note, that this method does not work when DXEndpoint
was created with
STREAM_FEED
role.
E
- the type of event.events
- the collection of events.
NullPointerException
- if the collection or any event in it is null.protected static <E> void processEvents(DXFeedSubscription<E> subscription, List<E> events)
DXFeedEventListener.eventsReceived(java.util.List)
on all installed
event listeners. This is a protected method for use by DXFeed
implementation classes only.
E
- the type of events.events
- the list of received events.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |