## com.bbn.openmap.layer.shape
Class MultiShapeLayer

    java.lang.Object
      java.awt.Component
          java.awt.Container
              javax.swing.JComponent
                  com.bbn.openmap.Layer
                      com.bbn.openmap.layer.OMGraphicHandlerLayer
                          com.bbn.openmap.layer.shape.ShapeLayer
                              com.bbn.openmap.layer.shape.MultiShapeLayer

All Implemented Interfaces:
  java.awt.event.ActionListener, java.beans.beancontext.BeanContextChild, java.beans.beancontext.BeanContextMembershipListener, DataBoundsProvider, java.util.EventListener, GestureResponsePolicy, java.awt.image.ImageObserver, java.awt.MenuContainer, ProjectionListener, ProjectionPainter, PropertyConsumer, java.io.Serializable

Direct Known Subclasses:
  MultiRoadLayer

public class MultiShapeLayer
extends ShapeLayer

An OpenMap Layer that displays multiple shape files. Note that the ESRIRecords have been updated so that the OMGraphics that get created from them are loaded with an Integer object that notes the number of the record as it was read from the .shp file. This lets you align the object with the correct attribute data in the .dbf file.

``

       ############################
       # Properties for a multiple shape file layer
       shapeLayer.class=com.bbn.openmap.layer.shape.MultiShapeLayer
       shapeLayer.prettyName=Name_for_Menu
       shapeLayer.shapeFileList=marker_name1 marker_name2 ...

       shapeLayer.marker_name1.shapeFile=&ltpath to shapefile (.shp)&gt
       shapeLayer.marker_name1.spatialIndex=&ltpath to generated spatial index file (.ssx)&gt
       shapeLayer.marker_name1.lineColor=ff000000
       shapeLayer.marker_name1.fillColor=ff000000
       # plus any other properties used by the DrawingAttributes object.
       shapeLayer.marker_name1.pointImageURL=&ltURL for image to use for point objects&gt
       shapeLayer.marker_name1.enabled=true/false

       shapeLayer.marker_name2.shapeFile=&ltpath to shapefile (.shp)&gt
       shapeLayer.marker_name2.spatialIndex=&ltpath to generated spatial index file (.ssx)&gt
       shapeLayer.marker_name2.lineColor=ff000000
       shapeLayer.marker_name2.fillColor=ff000000
       # plus any other properties used by the DrawingAttributes object.
       shapeLayer.marker_name2.pointImageURL=&ltURL for image to use for point objects&gt
       shapeLayer.marker_name2.enabled=true/false
       ############################

Version:
  $Revision: 1.7.2.7 $ $Date: 2007/06/21 21:41:42 $
See Also:
  `SpatialIndex`, Serialized Form

Nested Class Summary

Nested classes inherited from class javax.swing.JComponent
`javax.swing.JComponent.AccessibleJComponent`

Nested classes inherited from class java.awt.Container
`java.awt.Container.AccessibleAWTContainer`

Nested classes inherited from class java.awt.Component
`java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy`

Field Summary
`static java.lang.String` `ShapeFileListProperty`
`protected java.util.Collection` `spatialIndexes`

Fields inherited from class com.bbn.openmap.layer.shape.ShapeLayer
`box, coordTransform, drawingAttributes, pointImageURLProperty, shadowX, shadowXProperty, shadowY, shadowYProperty, shapeFileProperty, spatialIndex, spatialIndexProperty, TransformProperty`

Fields inherited from class com.bbn.openmap.layer.OMGraphicHandlerLayer
`consumeEvents, ConsumeEventsProperty, filter, interruptable, InterruptableProperty, layerWorker, LAYERWORKER_LOCK, mouseEventInterpreter, mouseModeIDs, MouseModesProperty, projectionChangePolicy, ProjectionChangePolicyProperty, renderPolicy, RenderPolicyProperty, selectedList, TransparencyProperty`

Fields inherited from class com.bbn.openmap.Layer

`addAsBackground, AddAsBackgroundProperty, addToBeanContext, AddToBeanContextProperty, attributes, autoPalette, AutoPaletteProperty, beanContextChildSupport, DisplayPaletteCmd, DisplayPropertiesCmd, doHack, HidePaletteCmd, i18n, IDListeners, localHackList, lsListeners, maxScale, MaxScaleProperty, minScale, MinScaleProperty, palette, paletteListener, PrettyNameProperty, propertyPrefix, RedrawCmd, removable, RemovableProperty, SWING_PACKAGE, windowSupport`

Fields inherited from class javax.swing.JComponent
`accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

Fields inherited from class java.awt.Component
`BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

Fields inherited from interface com.bbn.openmap.PropertyConsumer
`EditorProperty, initPropertiesProperty, LabelEditorProperty, ScopedEditorProperty`

Fields inherited from interface java.awt.image.ImageObserver
`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

Constructor Summary
`MultiShapeLayer()` Initializes an empty shape layer.

Method Summary
`DataBounds` `getDataBounds()` DataBoundsInformer interface.
`java.awt.Component` `getGUI()` Gets the gui controls associated with the layer.
`java.util.Properties` `getProperties(java.util.Properties props)` PropertyConsumer method.
`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.
`java.util.Collection` `getSpatialIndexes()`
`OMGraphicList` `prepare()` Creates an OMGraphicList containing graphics from all SpatialIndex objects and shapefiles.
`protected void` `setFileProperties(java.lang.String prefix, java.util.Properties props)` This method gets called from setProperties.
`void` `setSpatialIndexes(java.util.Collection siv)`
`protected void` `setSpatialIndexes(java.lang.String prefix, java.util.Properties p)` This method gets called from setFileProperties.

Methods inherited from class com.bbn.openmap.layer.shape.ShapeLayer
`actionPerformed, computeGraphics, getCoordTransform, getDrawingAttributes, getInfoText, getSpatialIndex, getToolTipTextFor, paint, removed, setCoordTransform, setDrawingAttributes, setProperties, setSpatialIndex`

Methods inherited from class com.bbn.openmap.layer.OMGraphicHandlerLayer

`canSetList, copy, createLayerWorker, cut, deselect, doAction, doPrepare, filter, filter, filter, getConsumeEvents, getFilter, getItemsForMapMenu, getItemsForOMGraphicMenu, getLayerWorker, getList, getMapMouseListener, getMouseEventInterpreter, getMouseModeIDsForEvents, getProjectionChangePolicy, getRenderPolicy, getSelected, getTransparency, getTransparencyAdjustmentPanel, highlight, interrupt, isCancelled, isHighlightable, isInterruptable, isSelectable, isWorking, leftClick, mouseOver, paste, projectionChanged, receivesMapEvents, renderDataForProjection, resetFiltering, select, setCancelled, setConsumeEvents, setFilter, setInterruptable, setLayerWorker, setList, setMouseEventInterpreter, setMouseModeIDsForEvents, setProjectionChangePolicy, setRenderPolicy, setTransparency, supportsSQL, unhighlight, workerComplete`

Methods inherited from class com.bbn.openmap.Layer

`addComponentListener, added, addInfoDisplayListener, addLayerStatusListener, addMouseListener, addVetoableChangeListener, childrenAdded, childrenRemoved, clearListeners, connectToBeanContext, createWindowSupport, finalize, findAndInit, findAndInit, findAndUndo, fireHideToolTip, firePaletteEvent, fireRequestBrowserContent, fireRequestBrowserContent, fireRequestCursor, fireRequestInfoLine, fireRequestInfoLine, fireRequestInfoLine, fireRequestMessage, fireRequestMessage, fireRequestToolTip, fireRequestToolTip, fireRequestURL, fireRequestURL, fireStatusUpdate, fireStatusUpdate, fireVetoableChange, getAddAsBackground, getAddToBeanContext, getAttribute, getBeanContext, getIcon, getMaxScale, getMinScale, getPackage, getPalette, getProjection, getPropertyPrefix, getWindowSupport, hasGUI, hidePalette, isAutoPalette, isProjectionOK, isRemovable, notifyHideHack, putAttribute, removeComponentListener, removeConfirmed, removeInfoDisplayListener, removeLayerStatusListener, removeVetoableChangeListener, repaint, resetPalette, setAddAsBackground, setAddToBeanContext, setAutoPalette, setBeanContext, setIcon, setMaxScale, setMinScale, setName, setPaletteVisible, setProjection, setProjection, setProperties, setPropertyPrefix, setRemovable, setVisible, setWindowSupport, showPalette`

Methods inherited from class javax.swing.JComponent

`addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, unregisterKeyboardAction, update, updateUI`

Methods inherited from class java.awt.Container

`add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree`

Methods inherited from class java.awt.Component

`action, add, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle`

Methods inherited from class java.lang.Object
`clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface com.bbn.openmap.util.DataBoundsProvider
`getName`

Methods inherited from interface java.beans.beancontext.BeanContextChild
`addPropertyChangeListener, removePropertyChangeListener`

Field Detail

### ShapeFileListProperty

    public static final java.lang.String ShapeFileListProperty

See Also:
  Constant Field Values

### spatialIndexes

    protected java.util.Collection spatialIndexes

Constructor Detail

### MultiShapeLayer

    public MultiShapeLayer()

  Initializes an empty shape layer.

Method Detail

### setSpatialIndexes

    public void setSpatialIndexes(java.util.Collection siv)

### getSpatialIndexes

    public java.util.Collection getSpatialIndexes()

### setFileProperties

    protected void setFileProperties(java.lang.String prefix,
                                     java.util.Properties props)

  This method gets called from setProperties.

  Overrides:
    `setFileProperties` in class `ShapeLayer`
  Parameters:
    `props` - Properties containing information about files and the layer.
    `prefix` - This prefix has already been scoped, which means it is an empty string if setProperties was called with a null prefix, or it's a String ending with a period if it was defined with characters.

### setSpatialIndexes

    protected void setSpatialIndexes(java.lang.String prefix,
                                     java.util.Properties p)

  This method gets called from setFileProperties.

  Parameters:
    `prefix` - This prefix has already been scoped, which means it is an empty string if setProperties was called with a null prefix, or it's a String ending with a period if it was defined with characters.

### getProperties

    public java.util.Properties getProperties(java.util.Properties props)

  PropertyConsumer method.

  Specified by:
    `getProperties` in interface `PropertyConsumer`
  Overrides:
    `getProperties` in class `ShapeLayer`

### getPropertyInfo

    public 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. 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.).

  Specified by:
    `getPropertyInfo` in interface `PropertyConsumer`
  Overrides:
    `getPropertyInfo` in class `ShapeLayer`
  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.

### prepare

    public OMGraphicList prepare()

  Creates an OMGraphicList containing graphics from all SpatialIndex objects and shapefiles.

  Overrides:
    `prepare` in class `ShapeLayer`
  Returns:
    OMGraphicList containing an OMGraphicList containing shapes from a particular shape file.

### getGUI

    public java.awt.Component getGUI()

  Description copied from class: `Layer`
  Gets the gui controls associated with the layer. This default implementation returns null indicating that the layer has no gui controls.

  Overrides:
    `getGUI` in class `ShapeLayer`

### getDataBounds

    public DataBounds getDataBounds()

  DataBoundsInformer interface.

  Specified by:
    `getDataBounds` in interface `DataBoundsProvider`
  Overrides:
    `getDataBounds` in class `ShapeLayer`

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