com.bbn.openmap.layer.location
Class AbstractLocationHandler

java.lang.Object
  |
  +--com.bbn.openmap.layer.location.AbstractLocationHandler
All Implemented Interfaces:
LocationHandler, PropertyConsumer
Direct Known Subclasses:
CSVLocationHandler, DBLocationHandler

public abstract class AbstractLocationHandler
extends java.lang.Object
implements LocationHandler

The AbstractLocationHandler class facilitates the implementation of a LocationHandler by implementing a number of methods. By extending this class, a developer need only implement get(), setProperties(), and reloadData().

 
  locationhandler.locationColor=FF0000
  locationhandler.nameColor=008C54
  locationhandler.showNames=false
  locationhandler.showLocations=true
  locationhandler.override=true
  
 

Version:
$Revision: 1.6.2.1 $ $Date: 2004/10/14 18:27:09 $
Author:
Michael E. Los D530/23448
See Also:
LocationHandler

Field Summary
protected  java.awt.Color locationColor
          The color for the locations.
protected  java.awt.Color nameColor
          The color for the names.
protected  java.lang.String propertyPrefix
          Token uniquely identifying this LocationHandler in the application properties.
protected  LocationLayer zLayer
          The parent layer.
 
Fields inherited from interface com.bbn.openmap.layer.location.LocationHandler
defaultLocationColorString, defaultNameColorString, forceGlobalCommand, ForceGlobalProperty, LocationColorProperty, NameColorProperty, readDataCommand, showdetails, showLocationsCommand, ShowLocationsProperty, showname, showNamesCommand, ShowNamesProperty
 
Fields inherited from interface com.bbn.openmap.PropertyConsumer
EditorProperty, initPropertiesProperty, LabelEditorProperty, ScopedEditorProperty
 
Constructor Summary
protected AbstractLocationHandler()
           
 
Method Summary
 void fillLocationPopUpMenu(LocationPopupMenu lpm)
          The location layer passes a LocationPopupMenu to the handler when on of its locations has been clicked on.
 java.awt.Component getGUI()
          A set of controls to manipulate and control the display of data from the handler.
 LocationLayer getLayer()
          Get the layer the handler is serving.
 java.awt.Color getLocationColor()
          Get the color used for the location graphic.
 java.awt.Color getNameColor()
          Get the color used for the name label.
 java.util.Properties getProperties(java.util.Properties props)
          PropertyConsumer method, to fill in a Properties object, reflecting the current values of the layer.
 java.util.Properties getPropertyInfo(java.util.Properties list)
          Method to fill in a Properties object with values reflecting the properties able to be set on this PropertyConsumer.
 java.lang.String getPropertyPrefix()
          Get the property key prefix that is being used to prepend to the property keys for Properties lookups.
 boolean isForceGlobal()
          Find out whether global settings should override local ones.
 boolean isShowLocations()
          See if the handler is displaying location graphics at a global level.
 boolean isShowNames()
          See if the handler is displaying labels at a global level.
 void removed(java.awt.Container cont)
          Called by the LocationLayer when the layer is removed from the map.
 void setForceGlobal(boolean set)
          Set whether global settings should override local ones.
 void setLayer(LocationLayer l)
          Set the layer the handler is responding to.
 void setLocationColor(java.awt.Color lColor)
          Set the color used for the location graphic.
 void setNameColor(java.awt.Color nColor)
          Set the color used for the name label.
 void setProperties(java.util.Properties props)
          Sets the properties for the handler.
 void setProperties(java.lang.String prefix, java.util.Properties properties)
          Set up the properties of the handler.
 void setPropertyPrefix(java.lang.String prefix)
          Set the property key prefix that should be used by the PropertyConsumer.
 void setShowLocations(boolean set)
          Set the handler to show/hide location graphics at a global level.
 void setShowNames(boolean set)
          Set the handler to show/hide labels at a global level.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.bbn.openmap.layer.location.LocationHandler
get, reloadData
 

Field Detail

zLayer

protected LocationLayer zLayer
The parent layer.


nameColor

protected java.awt.Color nameColor
The color for the names.


locationColor

protected java.awt.Color locationColor
The color for the locations.


propertyPrefix

protected java.lang.String propertyPrefix
Token uniquely identifying this LocationHandler in the application properties.

Constructor Detail

AbstractLocationHandler

protected AbstractLocationHandler()
Method Detail

fillLocationPopUpMenu

public void fillLocationPopUpMenu(LocationPopupMenu lpm)
The location layer passes a LocationPopupMenu to the handler when on of its locations has been clicked on. This is an opportunity for the handler to add options to the menu that can bring up further information about the location, or to change the appearance of the location. This implementation makes no changes to the popup menu.

Specified by:
fillLocationPopUpMenu in interface LocationHandler
Parameters:
lpm - LocationPopupMenu to add buttons to.

setLayer

public void setLayer(LocationLayer l)
Set the layer the handler is responding to. This is needed in case the handler has updates that it wants to show, and needs to trigger a repaint. It can also be used to communicate with the information delegator.

Specified by:
setLayer in interface LocationHandler
Parameters:
l - a LocationLayer

getLayer

public LocationLayer getLayer()
Get the layer the handler is serving.

Specified by:
getLayer in interface LocationHandler

isShowNames

public boolean isShowNames()
See if the handler is displaying labels at a global level.

Specified by:
isShowNames in interface LocationHandler

setShowNames

public void setShowNames(boolean set)
Set the handler to show/hide labels at a global level.

Specified by:
setShowNames in interface LocationHandler

isShowLocations

public boolean isShowLocations()
See if the handler is displaying location graphics at a global level.

Specified by:
isShowLocations in interface LocationHandler

setShowLocations

public void setShowLocations(boolean set)
Set the handler to show/hide location graphics at a global level.

Specified by:
setShowLocations in interface LocationHandler

isForceGlobal

public boolean isForceGlobal()
Find out whether global settings should override local ones.

Specified by:
isForceGlobal in interface LocationHandler

setForceGlobal

public void setForceGlobal(boolean set)
Set whether global settings should override local ones.

Specified by:
setForceGlobal in interface LocationHandler

setNameColor

public void setNameColor(java.awt.Color nColor)
Set the color used for the name label.


getNameColor

public java.awt.Color getNameColor()
Get the color used for the name label.


setLocationColor

public void setLocationColor(java.awt.Color lColor)
Set the color used for the location graphic.


getLocationColor

public java.awt.Color getLocationColor()
Get the color used for the location graphic.


getGUI

public java.awt.Component getGUI()
A set of controls to manipulate and control the display of data from the handler. This implementation returns a JPanel with a "No Palette" message.

Specified by:
getGUI in interface LocationHandler
Returns:
a JPanel with text, No Pallette

removed

public void removed(java.awt.Container cont)
Called by the LocationLayer when the layer is removed from the map. The LocationHandler should release expensive resources if this is called.

Specified by:
removed in interface LocationHandler
Parameters:
cont - Container being removed from.

setProperties

public void setProperties(java.util.Properties props)
Sets the properties for the handler. This particular method assumes that the marker name is not needed, because all of the contents of this Properties object are to be used for this object, and scoping the properties with a prefix is unnecessary.

Specified by:
setProperties in interface PropertyConsumer
Parameters:
props - the Properties object.

setProperties

public void setProperties(java.lang.String prefix,
                          java.util.Properties properties)
Set up the properties of the handler. Part of the PropertyConsumer interface. Supported properties include:

Specified by:
setProperties in interface PropertyConsumer
Parameters:
prefix - a String used by the PropertyConsumer to prepend to each property value it wants to look up - setList.getProperty(prefix.propertyKey). If the prefix had already been set, then the prefix passed in should replace that previous value.
properties - a Properties object that the PropertyConsumer can use to retrieve expected properties it can use for configuration.

getProperties

public java.util.Properties getProperties(java.util.Properties props)
PropertyConsumer method, to fill in a Properties object, reflecting the current values of the layer. If the layer has a propertyPrefix set, the property keys should have that prefix plus a separating '.' prepended to each propery key it uses for configuration. This method takes care of the basic LocationHandler parameters, so any LocationHandlers that extend the AbstractLocationHandler should call this method, too, before adding any specific properties.

Specified by:
getProperties in interface PropertyConsumer
Parameters:
props - a Properties object to load the PropertyConsumer properties into. If props equals null, then a new Properties object should be created.
Returns:
Properties object containing PropertyConsumer property values. If getList was not null, this should equal getList. Otherwise, it should be the Properties object created by the PropertyConsumer.

getPropertyInfo

public java.util.Properties getPropertyInfo(java.util.Properties list)
Method to fill in a Properties object with values reflecting the properties able to be set on this PropertyConsumer. The key for each property should be the raw property name (without a prefix) with a value that is a String that describes what the property key represents, along with any other information about the property that would be helpful (range, default value, etc.). This method takes care of the basic LocationHandler parameters, so any LocationHandlers that extend the AbstractLocationHandler should call this method, too, before adding any specific properties.

Specified by:
getPropertyInfo in interface PropertyConsumer
Parameters:
list - a Properties object to load the PropertyConsumer properties into. If getList equals null, then a new Properties object should be created.
Returns:
Properties object containing PropertyConsumer property values. If getList was not null, this should equal getList. Otherwise, it should be the Properties object created by the PropertyConsumer.

setPropertyPrefix

public void setPropertyPrefix(java.lang.String prefix)
Set the property key prefix that should be used by the PropertyConsumer. The prefix, along with a '.', should be prepended to the property keys known by the PropertyConsumer.

Specified by:
setPropertyPrefix in interface PropertyConsumer
Parameters:
prefix - the prefix String.

getPropertyPrefix

public java.lang.String getPropertyPrefix()
Get the property key prefix that is being used to prepend to the property keys for Properties lookups.

Specified by:
getPropertyPrefix in interface PropertyConsumer
Returns:
the property prefix


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