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.
The following table shows the 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.
Returns an instance of java.util.Logger to perform logging in the application.
Defines a user parameter to be saved.
When initializing the application, all useful instances that define the application’s execution context are stored in a singleton of the JMapApplicationContext class.
Creates a new view ( class) initialized with the current project in the application.
Returns the active project ( class) in the application.
Returns the instance to be used in order to access and manipulate the components of the application's GUI.
Returns the extension loaded ( class) for the specified class name.
Returns the messaging controller ( class) of the application.
Returns the edition transaction manager ( class) of the application.
Returns the user parameter controller ( class).
Returns the user parameter ( class) saved for the specified key.