com.bbn.openmap.layer.vpf
Class VPFFeatureGraphicWarehouse

java.lang.Object
  |
  +--com.bbn.openmap.layer.vpf.LayerGraphicWarehouseSupport
        |
        +--com.bbn.openmap.layer.vpf.VPFLayerGraphicWarehouse
              |
              +--com.bbn.openmap.layer.vpf.VPFFeatureGraphicWarehouse
All Implemented Interfaces:
VPFFeatureWarehouse, VPFGraphicWarehouse, VPFWarehouse
Direct Known Subclasses:
VPFCachedFeatureGraphicWarehouse

public class VPFFeatureGraphicWarehouse
extends VPFLayerGraphicWarehouse
implements VPFFeatureWarehouse

Implement a graphic factory that builds OMGraphics. It's different in that it expects that the feature type has already been checked at the CoverageTable level, and should just build whatever graphic is sent to it. Called from within CoverageTable.drawFeatures().

See Also:
OMGraphic

Field Summary
static java.lang.String DEFAULT
           
protected  java.util.Hashtable featureDrawingAttributes
           
protected  java.lang.String info
           
 
Fields inherited from class com.bbn.openmap.layer.vpf.LayerGraphicWarehouseSupport
antarcticaThreshold, areaSubList, drawingAttributes, edgeSubList, graphics, pointSubList, textSubList
 
Constructor Summary
VPFFeatureGraphicWarehouse()
           
 
Method Summary
 void createArea(CoverageTable covtable, AreaTable areatable, java.util.List facevec, LatLonPoint ll1, LatLonPoint ll2, float dpplat, float dpplon, java.lang.String featureType)
           
 void createEdge(CoverageTable c, EdgeTable edgetable, java.util.List edgevec, LatLonPoint ll1, LatLonPoint ll2, float dpplat, float dpplon, CoordFloatString coords, java.lang.String featureType)
           
 void createFeatureDrawingAttributes(java.lang.String prefix, java.util.Properties props, java.util.List features)
          From the initial properties, create the hashtable that holds the DrawingAttributes object for each feature type.
 void createNode(CoverageTable c, NodeTable t, java.util.List nodeprim, float latitude, float longitude, boolean isEntityNode, java.lang.String featureType)
          Method called by the VPF reader code to construct a node feature.
 void createText(CoverageTable c, TextTable texttable, java.util.List textvec, float latitude, float longitude, java.lang.String text, java.lang.String featureType)
           
 FeatureDrawingAttributes getAttributesForFeature(java.lang.String featureType)
          Given a feature type, get the DrawingAttributes for that feature.
 java.util.Hashtable getFeatureDrawingAttributes()
          Get the Hashtable used for the feature DrawingAttributes lookup.
 java.awt.Component getGUI(LibrarySelectionTable lst)
          Return the GUI for certain warehouse attributes.
protected  void initDrawingAttributes()
          Called from super class constructor.
static void main(java.lang.String[] argv)
           
 boolean needToFetchTileContents(java.lang.String currentFeature, TileDirectory currentTile)
           
protected  void setAttributesForFeature(OMGraphic omg, CoverageTable c, java.lang.String featureType, int id)
           
 void setFeatureDrawingAttributes(java.util.Hashtable attributes)
          Don't do this lightly, or everything will be colored the default value.
 void setProperties(java.lang.String prefix, java.util.Properties props)
          Set properties of the warehouse.
 
Methods inherited from class com.bbn.openmap.layer.vpf.VPFLayerGraphicWarehouse
createArea, createEdge, createFeature, createNode, createText, getFeatures, getSkipArray, resetForCAT
 
Methods inherited from class com.bbn.openmap.layer.vpf.LayerGraphicWarehouseSupport
addArea, addEdge, addPoint, addText, clear, createAreaOMPoly, createEdgeOMPoly, createOMPoint, createOMText, doThinning, drawAreaFeatures, drawCPointFeatures, drawEdgeFeatures, drawEPointFeatures, drawTextFeatures, getDrawingAttributes, getFanEpsilon, getFeatureString, getGraphics, getGraphics, getProperties, getUseLibrary, isDoThinning, setAreaFeatures, setCPointFeatures, setDoThinning, setDrawingAttributes, setEdgeFeatures, setEPointFeatures, setFanEpsilon, setFeatures, setTextFeatures, setUseLibrary
 
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.vpf.VPFWarehouse
drawAreaFeatures, drawCPointFeatures, drawEdgeFeatures, drawEPointFeatures, drawTextFeatures, getFeatures, getUseLibrary, resetForCAT, setUseLibrary
 

Field Detail

DEFAULT

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

featureDrawingAttributes

protected java.util.Hashtable featureDrawingAttributes

info

protected java.lang.String info
Constructor Detail

VPFFeatureGraphicWarehouse

public VPFFeatureGraphicWarehouse()
Method Detail

initDrawingAttributes

protected void initDrawingAttributes()
Called from super class constructor.

Overrides:
initDrawingAttributes in class LayerGraphicWarehouseSupport

setProperties

public void setProperties(java.lang.String prefix,
                          java.util.Properties props)
Set properties of the warehouse.

Overrides:
setProperties in class VPFLayerGraphicWarehouse
Parameters:
prefix - the prefix to use for looking up properties.
props - the properties file to look at.

createFeatureDrawingAttributes

public void createFeatureDrawingAttributes(java.lang.String prefix,
                                           java.util.Properties props,
                                           java.util.List features)
From the initial properties, create the hashtable that holds the DrawingAttributes object for each feature type. The feature name is the key to the drawing attributes for that feature (roadl).

Parameters:
prefix - the prefix used for the properties
props - the properties object
features - a List of Strings, each representing a feature type that when appended to the prefix, will serve as a prefix for the drawing attributes settings for that feature. With a layer prefix of vmapRoads, and a feature type of roadl, the line color attribute property looked for will be vmapRoads.roadl.lineColor.

setFeatureDrawingAttributes

public void setFeatureDrawingAttributes(java.util.Hashtable attributes)
Don't do this lightly, or everything will be colored the default value. The keys to the Hashtable should be the feature type names, and the values should be the DrawingAttributes for that feature.


getFeatureDrawingAttributes

public java.util.Hashtable getFeatureDrawingAttributes()
Get the Hashtable used for the feature DrawingAttributes lookup.


getGUI

public java.awt.Component getGUI(LibrarySelectionTable lst)
Return the GUI for certain warehouse attributes. By default, return the GUI for the DrawingAttributes object being used for rendering attributes of the graphics.

Specified by:
getGUI in interface VPFWarehouse
Overrides:
getGUI in class LayerGraphicWarehouseSupport
Parameters:
lst - LibrarySelectionTable to use to get information about the data, if needed.

getAttributesForFeature

public FeatureDrawingAttributes getAttributesForFeature(java.lang.String featureType)
Given a feature type, get the DrawingAttributes for that feature. Should be very unlikely to get a null value back.


createArea

public void createArea(CoverageTable covtable,
                       AreaTable areatable,
                       java.util.List facevec,
                       LatLonPoint ll1,
                       LatLonPoint ll2,
                       float dpplat,
                       float dpplon,
                       java.lang.String featureType)
Specified by:
createArea in interface VPFFeatureWarehouse

createEdge

public void createEdge(CoverageTable c,
                       EdgeTable edgetable,
                       java.util.List edgevec,
                       LatLonPoint ll1,
                       LatLonPoint ll2,
                       float dpplat,
                       float dpplon,
                       CoordFloatString coords,
                       java.lang.String featureType)
Specified by:
createEdge in interface VPFFeatureWarehouse

setAttributesForFeature

protected void setAttributesForFeature(OMGraphic omg,
                                       CoverageTable c,
                                       java.lang.String featureType,
                                       int id)
Parameters:
c -

createText

public void createText(CoverageTable c,
                       TextTable texttable,
                       java.util.List textvec,
                       float latitude,
                       float longitude,
                       java.lang.String text,
                       java.lang.String featureType)
Specified by:
createText in interface VPFFeatureWarehouse

createNode

public void createNode(CoverageTable c,
                       NodeTable t,
                       java.util.List nodeprim,
                       float latitude,
                       float longitude,
                       boolean isEntityNode,
                       java.lang.String featureType)
Method called by the VPF reader code to construct a node feature.

Specified by:
createNode in interface VPFFeatureWarehouse

needToFetchTileContents

public boolean needToFetchTileContents(java.lang.String currentFeature,
                                       TileDirectory currentTile)
Specified by:
needToFetchTileContents in interface VPFFeatureWarehouse

main

public static void main(java.lang.String[] argv)


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