## Package com.bbn.openmap

The com.bbn.openmap package contains the core OpenMap classes.

See:
Description

Interface Summary
I18n: Interface for Internationalization support in Openamp.
LightMapHandlerChild: The LightMapHandlerChild is an interface for an object that can be mananged by a MapHandlerChild, and notified of changes in the MapHandler via that managing object.
MapBeanRepaintPolicy: A MapBeanRepaintPolicy is a policy object that makes decisions on how a MapBean handles repaint requests from a layer.
ProjectionPainter: The ProjectionPainter interface is intended for objects that can manage graphics and draw them into a Java Graphics object.
PropertyConsumer: A PropertyConsumer is an interface defining an object that is configured by a Properties object, containing property keys and values that is expected by it.
SoloMapComponent: This interface is simply a way to mark a class as something that should only exist once within a MapHandler.
SoloMapComponentPolicy: An interface to control the behavior of the BeanContext when duplicate SoloMapComponents are added to it.

Class Summary
BasicI18n: Basic implementation of internationalization support.
BufferedLayerMapBean: The BufferedLayerMapBean is a BufferedMapBean with an additional image buffer that holds Layers designated as background layers.
BufferedMapBean: The BufferedMapBean extends the MapBean by adding (you guessed it) buffering.
Environment: An Environment is a set of property lists that together specify the runtime environment for this process.
HintsMapBeanRepaintPolicy: The class lets you set RenderingHints on the MapBean, to set anti-aliasing, etc.
InformationDelegator: The InformationDelegator manages the display of information requested by Layers and other map components.
LatLonPoint: Encapsulates latitude and longitude coordinates in decimal degrees.
Layer: Layer objects are components which can be added to the MapBean to make a map.
LayerHandler: The LayerHandler is a component that keeps track of all Layers for the MapBean, whether or not they are currently part of the map or not.
MapBean: The MapBean is the main component of the OpenMap Development Kit.
MapHandler: The MapHandler is an extension of the BeanContextServicesSupport, with the added capability of being able to set the policy on handling SoloMapComponents.
MapHandlerChild: MapHandlerChild shows you all the methods you need to add to an object for it be a good member of the MapHandler.
MoreMath: MoreMath provides functions that are not part of the standard Math class.
MouseDelegator: The MouseDelegator manages the MapMouseModes that handle MouseEvents on the map.
OMComponent: A OMComponent is an OpenMap component that does two basic things: it is a MapHandlerChilds, so it knows how to use the MapHandler to find other components it needs, and it is a PropertyConsumer, so it can be configured by a set of Properties.
PropertyHandler: The PropertyHandler object is the organizer of properties, looking for settings on how to configure OpenMap components.
SoloMapComponentRejectPolicy: A SoloMapComponentPolicy that rejects attempts to add a duplicate SoloMapComponent to the BeanContext.
SoloMapComponentReplacePolicy: A SoloMapComponentPolicy that senses duplicate SoloMapComponents compared to the new object, removing the previous object before advising addition.
StandardMapBeanRepaintPolicy: A MapBeanRepaintPolicy that just forwards layer repaint requests normally, and does nothing for java.awt.Graphics before painting.

Exception Summary
MultipleSoloMapComponentException: An Exception indicating that an attempt was made to add a duplicate SoloMapComponent to BeanContext.

## Package com.bbn.openmap Description

The com.bbn.openmap package contains the core OpenMap classes. The classes in this package provide the main map management functionality of OpenMap.

The main mapping window is the MapBean, which is a JComponent. It contains Layers, each layer providing a thematic overlay to the map. There is a buffered version of the MapBean called the BufferedMapBean.

The other main component is the MapHandler. The MapHandler is an extended BeanContext, and can be thought of as the widget holding to all the components that make up a map. As a BeanContext, the MapHandler keeps a handle to any object that is put in it, providing access to all components of the map. Any component can be added to the MapHandler. Any component added to the MapHandler that is a BeanContextMembershipListener will be automatically notified when any component is added or removed from the MapHandler. See the MapHandlerChild abstract class for more information about creating a class that uses the MapHandler to locate other needed components.

The extensions to the MapHandler that separate it from a regular BeanContext really center on the notion that some components can implement the SoloMapComponent interface. SoloMapComponents classes are objects where only one instance of them can be found in a MapHandler. The SoloMapComponentPolicy assigned to the MapHandler lets it know what to do when a duplicate instance of a SoloMapComponent is given to the MapHandler - either rejection or replacement are the only options currently provided.

Other components of real interest are:

- LayerHandler - manages all layers for the map, those active or not.
- MouseDelegator - manages how MouseEvents over the map are directed to layers or other components.
- PropertyHandler - uses properties to configure the application
- InformationDelegator - an object that other components can use to provide information to the user.

Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details