Class FeaturePainterMetadata

java.lang.Object
com.luciad.layers.features.FeaturePainterMetadata
All Implemented Interfaces:
AutoCloseable

public final class FeaturePainterMetadata extends Object implements AutoCloseable
Class to provide information on what type of changes affect the styling.
  • Method Details Link icon

    • finalize Link icon

      protected void finalize()
      Overrides:
      finalize in class Object
    • close Link icon

      public void close()
      Specified by:
      close in interface AutoCloseable
    • painterDependsOnFeature Link icon

      public void painterDependsOnFeature(boolean depends)
      Indicates whether a feature's style depends on the feature itself.

      For example, the feature's color may depend on a certain data property. This value is true by default.

      Parameters:
      depends - When true, a feature needs to be repainted by the painter when it changes.
    • painterDependsOnFeatureState Link icon

      public void painterDependsOnFeatureState(@NotNull FeatureState featureState, boolean active)
      Indicates that a feature's style depends on the given state.

      For example, the feature's color may change when it is selected. The FeatureState#selected() is active by default.

      Parameters:
      featureState - The feature state on which the painter depends. When a feature's state changes to this state, it needs to be repainted by the painter.
      active - The desired state of the given featureState.
    • detailLevelScales Link icon

      public void detailLevelScales(@NotNull List<@NotNull MapScale> detailLevelScales)
      Sets a vector of map scales that determine when this painter should switch from one level-of-detail to the next.

      This can be used to advertise that this painter supports multiple level-of-details for a given object. The current level-of-detail that is used is determined by the map and is passed back to the IFeaturePainter via the FeaturePainterContext#getDetailLevel() method. When this method is not called, level-of-detail is not supported.

      All scales smaller than the smallest scale will correspond to detail level '0' (least detailed). All scales larger than the largest scale will correspond to detail level 'detailLevelScales.size()' (most detailed).

      Parameters:
      detailLevelScales - the switch scales for each level of detail