JMap Pro applications are developed on a modular basis to simplify the addition of new features. Applications can be broken down into three levels, two of which are scalable to allow for programming additional features.
The first level is the entry point of the application (JMapApplicationLauncher class), which covers the type of application (applet, Java Web Start or standalone Java) and instantiates the application class (instance of the JMapApplication class) to be used. The second level is the JMap Pro application; it is driven by its abstract class, JMapApplication, which provides all the services required to ensure its proper operation. Since the JMapApplication class does not provide the application’s graphical interface, it is necessary to instantiate a class that inherits the JMapApplication class and that will instantiate the application’s graphical components, including the layer hierarchy and button toolbars. The DockingClient class, included in this SDK, is a good example of a JMap Pro application. The third level is for JMap extensions. JMap Pro applications allow you to develop and use extension classes (JMapClientExtension class) to add new features to applications. JMap Pro extension development is explained in the following section.
When the application is initialized, a connection with JMap Server is established based on the application parameters that have been specified. Communication with the server is unidirectional and allows for exchanging messages using requests and responses. The details of this communication are explained in this section.
When initializing the application, all useful instances that define the application’s execution context are stored in a singleton of the JMapApplicationContext class.
Most commonly used methods of the JMapApplication class
Adds a project listener in the application's list of listeners.
Removes a project listener from the application's list of listeners.
Creates a new view (View class) initialized with the current project in the application.
Returns the active project (Project class) in the application.
Returns the JMapGuiService instance to be used in order to access and manipulate the components of the application's GUI.
Returns an instance of java.util.Logger to perform logging in the application.
Returns the extension loaded (JMapClientExtension class) for the specified class name.
Returns the messaging controller (JMapClientMessagingController class) of the application.
Returns the edition transaction manager (EditionTransactionManager class) of the application.
Returns the user parameter controller (JMapUserParameterController class).
Returns the user parameter (UserParameter class) saved for the specified key.
Defines a user parameter to be saved.