Class InfoToolHelper

Object
InfoToolHelper
All Implemented Interfaces:
EventListener, MapBoundsListener
Direct Known Subclasses:
FeatureLayerHelper, GridCoverageLayerHelper, GridReaderLayerHelper

public abstract class InfoToolHelper extends Object implements MapBoundsListener
Abstract base class for helper classes used by InfoTool to query features in map layers.
Since:
2.6
Author:
Michael Bedward
  • Field Details

  • Constructor Details

    • InfoToolHelper

      public InfoToolHelper()
  • Method Details

    • isSupportedLayer

      public abstract boolean isSupportedLayer(Layer layer)
      Called by the helper lookup system when selecting a helper for a given layer.
      Parameters:
      layer - the layer
      Returns:
      true is this helper can handle the layer
      Throws:
      IllegalArgumentException - if layer is null
    • getInfo

      public abstract InfoToolResult getInfo(Position2D pos) throws Exception
      Gets layer data at the specified position. If there are no feature data at the position, an empty InfoToolResult object is returned.
      Parameters:
      pos - query position
      Returns:
      layer data
      Throws:
      Exception - on error querying the layer
    • isValid

      public boolean isValid()
      Checks if this helper is holding a reference to a MapContent and a Layer.Helpers only hold a WeakReference to both the map content and layer to avoid blocking garbage collection when layers are discarded.
      Returns:
      true if both map content and layer references are valid
    • setMapContent

      public void setMapContent(MapContent content)
      Sets the map content for this helper.
      Parameters:
      content - the map content
      Throws:
      IllegalArgumentException - if content is null
    • getMapContent

      public MapContent getMapContent()
      Gets the map content associated with this helper.
      Returns:
      the map content
    • setLayer

      public void setLayer(Layer layer)
      Sets the map layer for this helper.
      Parameters:
      layer - the map layer
      Throws:
      IllegalArgumentException - if layer is null
    • getLayer

      public Layer getLayer()
      Gets the map layer associated with this helper.
    • mapBoundsChanged

      public void mapBoundsChanged(MapBoundsEvent event)
      A method from the MapBoundsListener interface used to listen for a change to the map content's coordinate reference system.
      Specified by:
      mapBoundsChanged in interface MapBoundsListener
      Parameters:
      event - The change event.
    • getContentToLayerTransform

      protected MathTransform getContentToLayerTransform()
      Gets the MathTransform used to convert coordinates from the projection being used by the MapContent to that of the Layer.
      Returns:
      the transform or null if the layer's CRS is the same as that of the map content, or if either has no CRS defined
    • isTransformRequired

      protected boolean isTransformRequired()
    • clearTransform

      protected void clearTransform()