com.bbn.openmap.dataAccess.shape
Class DbfHandler
java.lang.Object
com.bbn.openmap.MapHandlerChild
com.bbn.openmap.OMComponent
com.bbn.openmap.omGraphics.rule.RuleHandler<java.util.List>
com.bbn.openmap.dataAccess.shape.DbfHandler
- All Implemented Interfaces:
- LightMapHandlerChild, PropertyConsumer, java.beans.beancontext.BeanContextChild, java.beans.beancontext.BeanContextMembershipListener, java.util.EventListener
public class DbfHandler
- extends RuleHandler<java.util.List>
The DbfHandler manages OMGraphics based on DBF file settings. It uses Rules
to evaluate DBF record information for each OMGraphic that is given to it,
and can set rendering settings, labels, visibility and information text based
on those rules. If rules aren't defined, then the dbf file won't be read for
each entry and any evaluation attempt will just return the OMGraphic as it
was provided.
Properties as an example used within the ShapeLayer:
neroads.class=com.bbn.openmap.layer.shape.ShapeLayer
neroads.prettyName=Roads
neroads.shapeFile=roads.shp
neroads.mouseModes=Gestures
# Rule marker names specified in space-separated list
neroads.rules=rule0 rule1
# global scale settings can be used so work is only performed within scale range of minScale/maxScale
neroads.maxScale=1000000f
# rule0 definition:
# CLASS_RTE is a DBF column name
neroads.rule0.key=CLASS_RTE
# operation, if key value is less than 2
neroads.rule0.op=lt
neroads.rule0.val=2
# If rule is met, then actions can be performed:
# Column names can be added together in a label by specifying them in a space-separated list
neroads.rule0.label=PREFIX PRETYPE NAME TYPE SUFFIX
# Labels can have scale limits imposed, so they don't appear if map scale is
# greater than maxScale or less than minScale
neroads.rule0.label.maxScale=1000000
# Visibility can be controlled with respect to scale as well
neroads.rule0.render=true
neroads.rule0.render.maxScale=1000000
# Rendering attributes can be specified.
neroads.rule0.lineColor=FFFA73
neroads.rule0.lineWidth=4
neroads.rule0.mattingColor=55AAAAAA
# rule1 definition:
neroads.rule1.key=CLASS_RTE
neroads.rule1.op=all
neroads.rule1.label=PREFIX PRETYPE NAME TYPE SUFFIX
neroads.rule1.label.maxScale=200000
neroads.rule1.render=true
neroads.rule1.render.maxScale=500000
neroads.rule1.lineColor=FFFFFF
neroads.rule1.lineWidth=3
neroads.rule1.mattingColor=55AAAAAA
- Author:
- dietrick
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 |
dbf
protected DbfFile dbf
rules
protected java.util.List<Rule> rules
defaultDA
protected DrawingAttributes defaultDA
DbfHandler
protected DbfHandler()
DbfHandler
public DbfHandler(java.lang.String dbfFilePath)
throws java.io.IOException,
FormatException
- Throws:
java.io.IOException
FormatException
DbfHandler
public DbfHandler(BinaryFile bf)
throws java.io.IOException,
FormatException
- Throws:
java.io.IOException
FormatException
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 RuleHandler<java.util.List>
- Parameters:
prefix
- the token to prefix the property namesprops
- 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 RuleHandler<java.util.List>
- 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.
getDbf
public DbfFile getDbf()
setDbf
public void setDbf(DbfFile dbf)
getDefaultDA
public DrawingAttributes getDefaultDA()
setDefaultDA
public void setDefaultDA(DrawingAttributes defaultDA)
close
public void close()
- Tells the DbfFile to close the file pointer to the data. Will reopen if
needed.
createRule
public Rule createRule()
- Description copied from class:
RuleHandler
- Create a Rule object that knows how to interpret properties to create the
proper indices into the record List.
- Specified by:
createRule
in class RuleHandler<java.util.List>
getRecordDataForOMGraphic
public java.util.List getRecordDataForOMGraphic(OMGraphic omg)
- Description copied from class:
RuleHandler
- Return a record Map for a particular OMGraphic, like a properties table.
- Specified by:
getRecordDataForOMGraphic
in class RuleHandler<java.util.List>
- Parameters:
omg
- OMGraphic being queried
- Returns:
- Map of objects as attributes for the OMGraphic.
Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details