All Classes

Class Description
AbstractSimpleOrderSendParametersBuilder<T extends AbstractSimpleOrderSendParametersBuilder<T>>  
AbstractSingleOrderSendParametersBuilder<T extends AbstractSingleOrderSendParametersBuilder<T>>  
AccountInfo
Information about account
AliasFilter
Indicator can use this to be displayed only for certain aliases
BalanceInfo
Information about account balance in each currency
BalanceInfo.BalanceInCurrency
Information about account balance in specific currency
BalanceInfoBuilder
Builder for BalanceInfo - see corresponding javadoc for information about the fields.
BaseCredentialsComponent
An abstract implementation of CredentialsComponent.
BmSimpleHistoricalDataInfo
Describes parameters for data retrieval from Bookmap simple historical server.
BoundsInfo  
CalculatedResultListener
Interface used to provide calculated values to bottom chart model
CalculatePricesResult  
CloneableSerializable  
Colors  
ColorsChangedListener  
ColorsConfigItem
GUI element that allows easy color selection
Combination<T,​M>
Similar to std::pair in C++.
ConfigureSubscriptionMessage
You can control instruments shown in bookmap subscription dialog using this message.
CredentialsCheckbox
An implementation of BaseCredentialsComponent for a checkBox
CredentialsComponent
An instance of a class implementing this interface is used as a connection configuration item.
CredentialsComponentTextCheckable
Implement this interface to have returned StatusIconTextField instances checked for leading/trailing spaces and caps lock.
CredentialsComponentUtil
Contains legacy field names which may be specified as aliases in CredentialsComponent.getAliases() method
CredentialsDropdown
An implementation of BaseCredentialsComponent for a text drop-down menu
CredentialsFieldManager
Implement this one to manage and return extended credentials.
CredentialsSerializationField
A unified CredentialsComponent value representation
CredentialsTextField
An implementation of BaseCredentialsComponent for entering text (login/password)
CurrentTimeUserMessage  
CustomEventAggregatble
Describes rules of aggregation of custom events
CustomGeneratedEvent
All events created by custom event generators should implement this interface
CustomGeneratedEventAliased
If you want to intercept this message, use instanceof instead of '==' operator
DataStructureInterface
Interface used by strategies to interact with data structure
DataStructureInterface.StandardEvents  
DataStructureInterface.TreeResponseInterval
Tree structure response for given interval
DefaultAndList<T>  
DepthAggregationEvent
Aggregation of depth events in some time interval
DirectoryResolver
This class contains access methods to Bookmap folder structure
DisconnectionReason
Reason why disconnection happened
EchoMessage
If message is sent using Layer1ApiAdminProvider.sendUserMessage(Object) Layer1ApiQueue (for live) or Layer1ApiEchoLayer (in case of replay) will send it back with Layer1ApiAdminListener.onUserMessage(Object)}
Event
Base class for events that can be retrieved from the tree.
ExecutionInfo
Information about order execution
ExecutionInfoBuilder  
ExtendedLoginData
Implementation of LoginData.
ExternalDxFeedHelper  
ExternalLiveBaseProvider
This is a base class that should help you writing your own connector for live data and trading.
ExternalReaderBaseProvider
This is a base class that should help you writing your own providers for reading files in replay.
FileEndReachedUserMessage
Message used to notify that file end is reached and no other callbacks will be made.
FileNotSupportedUserMessage
Should be sent is file format can not be opened by this reader
GeneratedEventInfo
NOTE: any event class can not be used by multiple generators
GeneratedUpdateConsumer  
GuiUtils  
GuiUtils.ResetControlPanelCallbacks  
HistoricalDataInfo
Tells Bookmap how to get historical data.
HorizontalValueLinesInfo
Allows to draw any number of horizontal lines at given values
IdHelper
Generates ID's that are trying to be globally unique.
IndicatorColorInterface
Interface to get/set colors for this strategy Names are the same as used when declaring the color.
IndicatorColorScheme
Describes colors given to certain indicator values when indicator is drawn using default lines on bottom panel
IndicatorColorScheme.ColorDescription  
IndicatorColorScheme.ColorIntervalResponse
Describes all color changes in given interval
IndicatorContextMenuInformation
Provide information about all context menu entries for:
a) graph context menu (RMB click on graph line)
b) widget context menu (RMB click on widget)
IndicatorDefinitionUserMessage Deprecated.
IndicatorDisplayLogic
Bundle for display logic components If some field is null, default logic will be used for that component
IndicatorFullValues
Clears all previous returned values, and provides new data, equal to response for new OnlineCalculatable.calculateValuesInRange(String, String, long, long, int, CalculatedResultListener) without actually calling InvalidateInterface.invalidate()
Indicator line will be painted completely with new values
IndicatorLineStyle
This class allows you to specify how the indicator line will look.
IndicatorPointUserMessage Deprecated.
InstrumentCoreInfo
Minimal sufficient amount of data to identify the instrument within any platform
InstrumentDataRequestRedirectHelper
When creating synthetic instruments using Layer1UpstreamDataEditor bookmap will still try to query those instruments for certain things (like "which provider does it belong to?", "which order types are supported by that instrument").
InstrumentInfo
Information about the instrument
InstrumentInfoCrypto Deprecated.
InstrumentNotDefinedException  
InvalidateInterface
Interface used to invalidate online indicator at any time
Layer0CredentialsFieldsManager
Annotate Layer0 provider with this to customize the login window.
Layer0DateLicensed
Use this annotation if your module should only be available if it user has corresponding license field set to a date ahead of current date.
Layer0LiveModule
This annotation allows automatic discovery of layer0 module entry points.
Layer0ReplayModule
This annotation allows automatic discovery of layer0 module entry points.
Layer1ApiAdapter
Extends all possible Layer1 listeners.
Layer1ApiAdminAdapter
Provides default empty implementations.
Layer1ApiAdminListenable  
Layer1ApiAdminListener
Listens to general events, such as login results, disconnections, warnings, etc.
Layer1ApiAdminProvider
Class implementing this should provide general Layer1 Api functions.
Layer1ApiAdvancedGeneratorCreator
Normally when settings are changed (e.g.
Layer1ApiBasicListenable  
Layer1ApiDataAdapter
Provides default empty implementations.
Layer1ApiDataInterfaceRequestMessage
Message to request interface to interact with data structure
You might want to invalidate current indicators once you receive yourLayer1ApiDataInterfaceRequestMessage
Layer1ApiDataListenable  
Layer1ApiDataListener
Listener for trading events
Layer1ApiDataProvider
Class implementing this should provide trade/depth data to subscribers
Layer1ApiDepthFreezer  
Layer1ApiDepthFreezer.DepthFreezeRequest  
Layer1ApiDisableOnLoad
Marks strategy that can not be auto enabled on load based on settings, no matter what it's previous state was
Layer1ApiFinishable
Every strategy should implement this interface Defines action when strategy is being unloaded (removing added GUI, disposing dialogs, etc)
Layer1ApiGetAliasMessage
Request for alias generation based on symbol, exchange, type.
Layer1ApiHistoricalDataLoadedMessage
Historical data for this alias have been loaded
If any data (like sum of trades at time) was cached for this instrument, it may not be valid now
Layer1ApiIgnorableDownwardMessage
Used to mark classes that are not required to be intercepted before reaching lower (provider) end of the chain.
Layer1ApiIgnorableUpwardMessage
Used to mark classes that are not required to be intercepted before reaching upper (application) end of the chain.
Layer1ApiInjectorRelay
This relay is also capable of injecting messages into provider -> gui stream in asynchronous manner.
Layer1ApiInstrumentAdapter
Provides default empty implementations.
Layer1ApiInstrumentListenable  
Layer1ApiInstrumentListener
Listener for instrument events
Layer1ApiInstrumentProvider
Class implementing this should provide ability to work with instruments
Layer1ApiInstrumentSpecificEnabledStateProvider
If this interface is implemented, when strategy checkbox is selected/deselected in Studies config / Strategy config dialog, strategy will not be loaded/unloaded, instead it will be notified via this interface
Layer1ApiIsRealTradingMessage
Is used for statistics only
Layer1ApiListener
Extends all possible Layer1 listeners.
Layer1ApiMboDataAdapter
Provides default empty implementations
Layer1ApiMboDataListenable  
Layer1ApiMboDataListener
Listener for MBO events
Layer1ApiMboDataProvider
Class implementing this should provide MBO data to subscribers
Layer1ApiPositionCloseCompleteMessage
Notify bookmap that previous order sent with SimpleOrderSendParameters.closingPositionHint was processed successfully
Layer1ApiProvider
Extends all possible Layer1 provider aspect interfaces.
Layer1ApiProviderSupportedFeatures
Key differences between providers should be described by this class.
Layer1ApiProviderSupportedFeatures.ClientSideFeature
Features that are implemented on the client side.
Layer1ApiProviderSupportedFeaturesBuilder
Layer1ApiPublic
Items marked with this annotation are exposed as part of L1 API.
Layer1ApiRelay
Good starting point for all injectable strategies.
Layer1ApiRequestCurrentTimeEvents
Providers time will be sent using CurrentTimeUserMessage at least as often as specified by interval There is one exception: if system was in sleep mode or system time was changed while bookmap was working, some events might be skipped, and event with CurrentTimeUserMessage.isEventsSkipped = true flag will be sent
Layer1ApiRestartHistoricalServer
This message can be used if you need to restart server due to some error, like failing to obtain instrument list from provider due to network error
Note that you can specify time to wait before restart happens (none by default)
Layer1ApiSoundAlertCancelMessage
Cancels all messages that are currently pending, that match filter
Layer1ApiSoundAlertCancelMessage.Layer1ApiSoundMessagesFilter  
Layer1ApiSoundAlertMessage  
Layer1ApiSoundAlertMessage.SoundAlertStatus  
Layer1ApiSoundAlertMessage.SoundAlertStatusListener  
Layer1ApiStrategiesEchoMessagesLayer
If message of type Layer1ApiStrategiesEchoMessagesLayer.StrategyEchoMessage is sent using Layer1ApiAdminProvider.sendUserMessage(Object) Layer1ApiStrategiesEchoMessagesLayer will send it back with Layer1ApiAdminListener.onUserMessage(Object)} It will be done in ASYNCHRONOUS manner.
Layer1ApiStrategiesEchoMessagesLayer.StrategyEchoMessageFromGui  
Layer1ApiStrategiesEchoMessagesLayer.StrategyEchoMessageFromLayer  
Layer1ApiStrategyMessageSymboled  
Layer1ApiTimeFreeze
Request to freeze time temporarily.
Layer1ApiTimeSource
Allows taking a shortcut when responding to Layer1ApiAdminProvider.getCurrentTime().
Layer1ApiTimeSource.Layer1TimeSourceShortcutAllowed
Mark Layer1ApiAdminProvider.getCurrentTime() implementation with this to confirm you are supporting the shortcut
Layer1ApiTradingAdapter
Provides default empty implementations.
Layer1ApiTradingListenable  
Layer1ApiTradingListener
Listener for order routing
Layer1ApiTradingProvider
Class implementing this should provide ability to work with orders
Layer1ApiUpstreamRelay  
Layer1ApiUserInterModuleMessage  
Layer1ApiUserMessageAddStrategyUpdateGenerator
Used to add/remove custom update generators
Important note: when generator is added with this message, custom events will be generated for past history
This can take some time, and it is done synchronously in thread that was used to send message
You might want to invalidate current indicators once you receive control after sending this message
Layer1ApiUserMessageModifyActionToAllInstruments
Adds new action to dropdown menu for every instrument in ControlGui
Layer1ApiUserMessageModifyIndicator
Describes adding or removing indicator Note that you need to remember Layer1ApiUserMessageModifyIndicator.fullName.
Layer1ApiUserMessageModifyIndicator.Builder
Layer1ApiUserMessageModifyIndicator.GraphType  
Layer1ApiUserMessageModifyIndicator.LayerRenderPriority  
Layer1ApiUserMessageModifyScreenSpacePainter
Describes adding or removing a screen-space painter Note that you need to remember Layer1ApiUserMessageModifyScreenSpacePainter.fullName.
Layer1ApiUserMessageModifyScreenSpacePainter.Builder
Layer1ApiUserMessageModifyStrategiesMainMenu
Describes either adding or removing group of actions for some strategy in main menu
Layer1ApiUserMessageModifyStrategiesMainMenu.MenuDescription
Describes single menu item that is created by this message
Layer1ApiUserMessageNotification
Can be used to print some text over chart with optional close icon
If message with Layer1ApiUserMessageNotification.id was already present, displayed message will be updated
Messages need to be removed with this message (note that you need to do this in response for close icon pressed as well)
Layer1ApiUserMessageReloadStrategyGui
For all opened dialogs with strategies settings, GUI elements will be reloaded
Layer1ApiUserMessageSubscribeActiveDepth  
Layer1ApiUserMessageSubscribeActiveDepth.ActiveDepthListener  
Layer1ApiVersion
Accepts integer value specifying API version that was used to write this module.
Layer1ApiVersionValue
List of API versions.
Layer1Attachable
Marks classes that can be loaded from GUI as a strategy.
Should implement AutoCloseable, close will be called when unloading.

When strategy is loaded and is correctly injected in layers chain, it will receive
UserMessageLayersChainCreatedTargeted message via Layer1ApiAdminListener.onUserMessage(Object) (you need to implement it)
After this, you can interact with Layer1ApiProvider, received in your constructor.

When strategy is no longer in layers chain, Layer1ApiFinishable.finish() will be called (you need to implement it)
You can interact with Layer1ApiProvider inside Layer1ApiFinishable.finish() method, if your previous state allowed it (see below for details*)
After method is completed, you can not interact with Layer1ApiProvider.
*Note, that there is no guarantee that if Layer1ApiFinishable.finish() is called, UserMessageLayersChainCreatedTargeted for this strategy was received.
(i.e.
Layer1ChartControlVisbility
User will be able to control this strategy (enable/disable) via visibility popup menu
Note that this menu is intended to control only visual components present on main chart, not bottom panel
Layer1ConfigSettingsInterface
Implement this interface if you want your strategy to receive interface to save/load settings from Bookmap config
Layer1CustomPanelsGetter
Implement this interface if you want strategy to show custom panels when selected in strategies dialog
Layer1Descripted
Implement this interface if you want your strategy to display description in strategies dialog
Layer1GlobalStorage
Global storage.
Layer1IndicatorColorInterface  
Layer1Injectable
Marks classes that can be loaded from GUI as a strategy.
Class will be injected in layers chain.
Should implement AutoCloseable, close will be called when unloading.

When strategy is loaded and is correctly injected in layers chain, it will recieve
UserMessageLayersChainCreatedTargeted message via Layer1ApiAdminListener.onUserMessage(Object) (you need to implement it)
After this, you can interact with Layer1ApiProvider, received in your construtor.

When strategy is no longer in layers chain, Layer1ApiFinishable.finish() will be called (you need to implement it)
You can interact with Layer1ApiProvider inside Layer1ApiFinishable.finish() method, if your previous state allowed it (see below for details*)
After method is completed, you can not interact with Layer1ApiProvider.
*Note, that there is no guarantee that if Layer1ApiFinishable.finish() is called, UserMessageLayersChainCreatedTargeted for this strategy was received.
(i.e.
Layer1InternallyControllingEnable
This interface allows Bookmap to know if strategy is enabled/disabled for specific instrument
Layer1InternallyControllingEnable.InvalidateIsEnabledCallback  
Layer1PriceAxisRangeCalculatable
Implement this interface if you want to manually calculate price axis ranges for your indicators
Layer1PriceAxisRangeCalculatable.InputPriceAxisInfo
Range of values for this indicator [minValue, maxValue]
Layer1PriceAxisRangeCalculatable.ResultPriceAxisInfo  
Layer1SimpleAttachable
Marks classes that can be loaded from GUI as a strategy.
Simplified version of Layer1 API, for more advanced (but more complex) version use Layer1Attachable
Layer1StrategyAddInterface  
Layer1StrategyDateLicensed
Use this annotation if your strategy should only be available if it user has corresponding license field set to a date ahead of current date.
Layer1StrategyName
Specifies a name for strategy that will be displayed in strategies dialog
Layer1TradingStrategy
Mark strategy as trading strategy, not allowing it to be used in non demo real trading
Layer1UpstreamDataEditor
Tells bookmap that strategy will be modifying upstream data (e.g.
Layer1WidgetRangeInterface  
LayerApiListenable  
LimitsCalculator
Custom logic for calculating display limits for indicator that has given minimum and maximum values in displayed range
LimitsResponse
Describe calculated limits range
LineBreaker
Line will not be drawn in this pixel.
ListenableHelper  
Log
Allows you to write messages to bookmap log.
Log.LogLevel  
Log.LogListener  
Log.SimpleConsoleLogger  
LoginData
Classes that contain login information for specific platforms extend this
LoginFailedReason
Reason why login failed
LookupInfo
Provides info for subscription dialog lookup dropdown.
LookupSubscribeInfo
Subscription info for subscription dialog lookup dropdown
MarketMode  
MaximumSupportedFeatures
Similar to Layer1ApiAdminProvider.getSupportedFeatures(), but is used to declare provider capabilities before provider is actually instantiated.
MboAggregationEvent
Aggregation of MBO data in some time interval
MboAggregationEvent.Order  
MboAggregationEvent.PriceSizeUpdate  
MultiCredentialsComponent
An abstract implementation of CredentialsComponent.
NanoClock
Provides high precision timestamps.
OcoOrderSendParameters  
OnlineCalculatable
Strategy implementing this interfaces should support 2 types of requests.
OnlineCalculatable.Marker
If passed as value it will cause marker to be drawn at that place (currently works only for Layer1ApiUserMessageModifyIndicator.GraphType.PRIMARY).
OnlineCalculatable.ValueBundle  
OnlineValueCalculatorAdapter
Receives updates, can generate new value for given strategy in response
Order  
OrderBook  
OrderBookMbo  
OrderByOrderBook
Class designed to help with conversion from MBO to MBP data.
OrderByOrderBook.Order
Describes single order
OrderByOrderBook.OrderUpdateResult
OrderCancelParameters
Used to cancel the order
OrderDuration
Order durations
OrderExecutedEvent
Information about order execution.
OrderInfo
Cumulative information about the order
OrderInfoBuilder
Modifiable version of OrderInfo/OrderInfoUpdate.
OrderInfoUpdate
Contains cumulative information about the order + boolean fields, that mark what has changed since the last time it was reported.
OrderMoveParameters
Used to change order price(s)
OrderMoveToMarketParameters
Used to change order price so it gets immediately executed
OrderQueuePositionUserMessage Deprecated.
OrderResizeParameters
Used to change order size
OrderSendParameters
Base interface for sending any order type
OrderStatus
Order status
OrderType
Order type
OrderUpdatedEvent
Order update event.
OrderUpdateParameters
Basic parameters necessary to perform any order update
OrderUpdatesExecutionsAggregationEvent
Keeps info about all updates and executions that happened to orders
OsoOrderSendParameters  
PerformanceLoggingHelper
Helper class used to request a performance log record.
PriceFormatHelper  
PriceRangeCalculationHelper
Provides implementations of price range calculation
PublishWithoutJavadoc  
RawDataHelper
You can use this helper class to record raw data.
ReadFileLoginData
Request to start reading specific file
ScreenSpaceCanvas  
ScreenSpaceCanvas.BasicCanvasShape  
ScreenSpaceCanvas.CanvasIcon  
ScreenSpaceCanvas.CanvasShape  
ScreenSpaceCanvas.CompositeCoordinateBase  
ScreenSpaceCanvas.CompositeHorizontalCoordinate
Horizontal coordinate described in universal way.
ScreenSpaceCanvas.CompositeVerticalCoordinate
Vertical coordinate described in universal way.
ScreenSpaceCanvas.HorizontalCoordinate  
ScreenSpaceCanvas.PreparedImage
Wrapper for an image.
ScreenSpaceCanvas.RelativeDataHorizontalCoordinate
Horizontal coordinate offset certain number of data levels point
ScreenSpaceCanvas.RelativeDataVerticalCoordinate
Vertical coordinate offset certain number of data levels from base point
ScreenSpaceCanvas.RelativeHorizontalCoordinate
Horizontal coordinate offset in a certain way relative to base point
ScreenSpaceCanvas.RelativePixelHorizontalCoordinate
Horizontal coordinate offset certain number of pixels from base point
ScreenSpaceCanvas.RelativePixelVerticalCoordinate
Vertical coordinate offset certain number of pixels from base point
ScreenSpaceCanvas.RelativeVerticalCoordinate
Vertical coordinate offset in a certain way relative to base point
ScreenSpaceCanvas.VerticalCoordinate  
ScreenSpaceCanvasFactory  
ScreenSpaceCanvasFactory.ScreenSpaceCanvasType
Area that canvas corresponds to
ScreenSpacePainter
Provides information regarding where user is looking at.
ScreenSpacePainterAdapter  
ScreenSpacePainterFactory  
SelectAccountMessage
This message requests account selection.
SettingsAccess
Interface that can be used to save or get settings from config
SimpleLookupInfo
Provides items for subscription dialog lookup dropdown.
SimpleOrderSendParameters
Simple order.
SimpleOrderSendParameters.PriceFormatter  
SimpleOrderSendParametersBuilder
SingleOrderSendParameters
Base class for sending a single order
SoundSynthHelper
Wrapper around TTS library.
StatusIconTextField
A wrapper for a JTextField capable of showing a warning icon
StatusInfo
Instrument status information (PnL, number of open orders, position, etc)
StatusInfoBuilder
Modifiable version of StatusInfo.
StrategyPanel
JPanel that can be display in strategies dialog with custom title specified
Will follow general style with border and title
If you want displayed panel to be without general styled border and title, set title to null
Also, sets all components Component.setEnabled(boolean)
StrategySettingsInterface
Describes action when user clicks cog icon in strategies configuration popup
StrategySettingsVersion
Defines current version of settings and compatibility with previous versions Any settings that wish to be saved and loaded from config should have this annotation
StrategyUpdateGenerator
Can generate any number of custom events in response to depth/trade updates
StrategyUpdateGeneratorFilter
Limits events and instrument aliases that StrategyUpdateGenerator listens to.
StrategyUpdateGeneratorFilter.StrategyUpdateGeneratorEventType  
StrategyUpdateGeneratorSkipper
Allows generator to skip part of initial generation phase.
SubscribeInfo
Describes subscription request
SubscribeInfoCrypto
Describes subscription request with extra parameters typical for cryptocurrencies
SystemTextMessageType  
TargetedRequestHelper
Helper class for extracting alias-specific information
TemporaryFile
Manages files and folders inside temporary folder ensuring automatic deletion when unlocked or during startup.
TextDataMessage
Record arbitrary text information that can later be viewed via bookmap.
TextFieldState  
TradeAggregationEvent
Aggregation of trade events in some time interval
TradeAggregator
Provides logic for trade aggregation boolean flags calculation - one flag for each new trade with new ticket ID (provided by target system - time stamp, aggressor order ID or real trade ID) and second flag for completing previous 'execution chain' on new trade or by timer.
TradeAggregator.TradeAggregatorConsumer  
TradeInfo
Information about the trade
UnrestrictedData
Bookmap will only trust this annotation if module is signed.
UpdateCustomIndicatorMessage
Message should implement this interface if it wants to update an existing custom indicator
UserMessageLayersChainCreatedTargeted
Strategy will receive this message with it's target class specified when it is added and can start sending messages
(message.getClass() == (strategy class).class) should return true if it is target of the message
Note that there can be many messages of this type that are not related to your class
UserMessageModifyAllInstrumentControlsHft  
UserMessageRewindBase
When rewind happens this message will be sent
UserMessageYesterdayBar
Encapsulates yesterday bar information - contract name and OLHC prices.
UserPasswordAccountLoginData  
UserPasswordDemoLoginData  
UserPasswordLoginData  
UserProviderTargetedMessage  
ValuesFormatter
Use this interface to use custom formatting for your indicator's tooltip and/or widgets values
VersionHelper
This class can be used to retrieve Bookmap version
VerticalLine
A vertical line that is drawn on chart
WeakReferenceColorsChangedListener  
WidgetDisplayInfo
Defines the way widget is displaying values By default widgets fills counter clockwise (if circle) or up (if bar) Another way is for widget to be symmetric, with specified value as center
WidgetDisplayInfo.Type  
WidgetRangeConsumer  
WorkingOrdersCounter