com.bbn.openmap.proj
Class BasicProjectionLoader

java.lang.Object
  extended by com.bbn.openmap.MapHandlerChild
      extended by com.bbn.openmap.OMComponent
          extended by com.bbn.openmap.proj.BasicProjectionLoader
All Implemented Interfaces:
LightMapHandlerChild, ProjectionLoader, PropertyConsumer, java.beans.beancontext.BeanContextChild, java.beans.beancontext.BeanContextMembershipListener, java.util.EventListener
Direct Known Subclasses:
CADRGLoader, CartesianLoader, GnomonicLoader, LambertConformalLoader, LLXYLoader, MercatorLoader, OrthographicLoader, UTMProjectionLoader

public abstract class BasicProjectionLoader
extends OMComponent
implements ProjectionLoader

The BasicProjectionLoader is a base implementation of the ProjectionLoader interface that conveniently handles the PropertyConsumer methods for the ProjectionLoader. There are two basic properties built into this base class that can be modified in a properties file. You can add ProjectionLoaders to the MapHandler, and if the ProjectionFactory singleton instance has been added to it as well, it will be picked up and the projection made available to the application. For example, the BasicProjectionFactory allows you to set thse properties for the Mercator projection:

   
    
    
     projLoader.class=com.bbn.openmap.proj.MercatorLoader
     projLoader.prettyName=Mercator
     projLoader.description=Mercator Projection.
    
     
    
 
The prettyName and description properties should have defaults, but internationalized strings can be substituted as needed.


Field Summary
protected  java.lang.String description
           
static java.lang.String DescriptionProperty
           
protected  java.lang.String prettyName
           
static java.lang.String PrettyNameProperty
           
protected  java.lang.Class<? extends Projection> projClass
           
 
Fields inherited from class com.bbn.openmap.OMComponent
i18n, propertyPrefix
 
Fields inherited from class com.bbn.openmap.MapHandlerChild
beanContextChildSupport, isolated
 
Fields inherited from interface com.bbn.openmap.PropertyConsumer
EditorProperty, initPropertiesProperty, LabelEditorProperty, ScopedEditorProperty
 
Constructor Summary
BasicProjectionLoader(java.lang.Class<? extends Projection> pClass, java.lang.String pName, java.lang.String pDescription)
          Set the basic parameters needed for a ProjectionLoader.
 
Method Summary
 LatLonPoint convertToLLP(java.awt.geom.Point2D pt)
           
abstract  Projection create(java.util.Properties props)
          Create the projection with the given parameters.
 java.lang.String getDescription()
          Get a description for the projection.
 java.lang.String getPrettyName()
          Get a pretty name for the projection.
 java.lang.Class<? extends Projection> getProjectionClass()
          Get a class name to use for the projection.
 java.util.Properties getProperties(java.util.Properties props)
          PropertyConsumer method, to fill in a Properties object, reflecting the current values of the OMComponent.
 java.util.Properties getPropertyInfo(java.util.Properties props)
          Method to fill in a Properties object with values reflecting the properties able to be set on this PropertyConsumer.
 void setDescription(java.lang.String desc)
          Set a description for the projection.
 void setPrettyName(java.lang.String pn)
          Set a pretty name for the projection.
 void setProperties(java.lang.String prefix, java.util.Properties props)
          Sets the properties for the OMComponent.
 
Methods inherited from class com.bbn.openmap.OMComponent
getPropertyPrefix, setProperties, setPropertyPrefix
 
Methods inherited from class com.bbn.openmap.MapHandlerChild
addPropertyChangeListener, addVetoableChangeListener, childrenAdded, childrenRemoved, findAndInit, findAndInit, findAndUndo, firePropertyChange, fireVetoableChange, getBeanContext, isIsolated, removePropertyChangeListener, removeVetoableChangeListener, setBeanContext, setIsolated
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

projClass

protected java.lang.Class<? extends Projection> projClass

prettyName

protected java.lang.String prettyName

description

protected java.lang.String description

PrettyNameProperty

public static final java.lang.String PrettyNameProperty
See Also:
Constant Field Values

DescriptionProperty

public static final java.lang.String DescriptionProperty
See Also:
Constant Field Values
Constructor Detail

BasicProjectionLoader

public BasicProjectionLoader(java.lang.Class<? extends Projection> pClass,
                             java.lang.String pName,
                             java.lang.String pDescription)
Set the basic parameters needed for a ProjectionLoader.

Method Detail

getProjectionClass

public java.lang.Class<? extends Projection> getProjectionClass()
Get a class name to use for the projection. This will be used as a key in the projection factory.

Specified by:
getProjectionClass in interface ProjectionLoader

getPrettyName

public java.lang.String getPrettyName()
Get a pretty name for the projection.

Specified by:
getPrettyName in interface ProjectionLoader

setPrettyName

public void setPrettyName(java.lang.String pn)
Set a pretty name for the projection.


getDescription

public java.lang.String getDescription()
Get a description for the projection.

Specified by:
getDescription in interface ProjectionLoader

setDescription

public void setDescription(java.lang.String desc)
Set a description for the projection.


create

public abstract Projection create(java.util.Properties props)
                           throws ProjectionException
Create the projection with the given parameters.

Specified by:
create in interface ProjectionLoader
Throws:
ProjectionException - if a parameter is missing or invalid

setProperties

public void setProperties(java.lang.String prefix,
                          java.util.Properties props)
Description copied from class: OMComponent
Sets the properties for the OMComponent.

Specified by:
setProperties in interface PropertyConsumer
Overrides:
setProperties in class OMComponent
Parameters:
prefix - the token to prefix the property names
props - the Properties object

getProperties

public java.util.Properties getProperties(java.util.Properties props)
Description copied from class: OMComponent
PropertyConsumer method, to fill in a Properties object, reflecting the current values of the OMComponent. If the component has a propertyPrefix set, the property keys should have that prefix plus a separating '.' prepended to each property key it uses for configuration.

Specified by:
getProperties in interface PropertyConsumer
Overrides:
getProperties in class OMComponent
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 props)
Description copied from class: OMComponent
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.). For Layer, this method should at least return the 'prettyName' property.

Specified by:
getPropertyInfo in interface PropertyConsumer
Overrides:
getPropertyInfo in class OMComponent
Parameters:
props - 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.

convertToLLP

public LatLonPoint convertToLLP(java.awt.geom.Point2D pt)


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