Class ArcBandHandlesProvider

java.lang.Object
com.luciad.edit.geometries.ArcBandHandlesProvider
All Implemented Interfaces:
IGeometryHandlesProvider, AutoCloseable

public final class ArcBandHandlesProvider extends Object implements AutoCloseable, IGeometryHandlesProvider
This provider can create handles to edit ArcBand geometries.

It offers the following handles:

Note: the handle to translate the entire feature is typically created by the IFeatureHandlesProvider. FeatureHandlesProvider does this by default.

Since:
2025.0
  • Constructor Details

    • ArcBandHandlesProvider

      public ArcBandHandlesProvider()
      Creates a new handles provider that can create handles to modify arc band geometries.
  • Method Details

    • finalize

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

      public void close()
      Specified by:
      close in interface AutoCloseable
    • canProvide

      public boolean canProvide(@NotNull Observable<@Nullable Geometry> geometry, @NotNull FeatureEditContext context)
      Indicates if this handles provider can create handles for the given geometry.
      Specified by:
      canProvide in interface IGeometryHandlesProvider
      Parameters:
      geometry - an observable geometry, cannot be null
      context - the context. Contains additional information about the edited feature, cannot be null.
      Returns:
      if this handles provider can provide handles and a translate action for the given Feature
    • provide

      @NotNull public IEditHandles provide(@NotNull Observable<@Nullable Geometry> geometry, @NotNull FeatureEditContext context, @NotNull IGeometryEditCallback geometryEditCallback)
      Returns the handles for the given feature.

      Note: translation of features is handled by IFeatureHandlesProvider. So geometry handles providers should not provide handles to translate a geometry.

      Specified by:
      provide in interface IGeometryHandlesProvider
      Parameters:
      geometry - the observable geometry for which to provide handles, cannot be null.
      context - the context. Contains additional information about the edited feature, cannot be null.
      geometryEditCallback - a callback that notifies the caller when the Feature has changed, cannot be null.
      Returns:
      handles for the given feature. Never null.
    • provideTranslateAction

      @NotNull public ITranslateEditAction provideTranslateAction(@NotNull Observable<@Nullable Geometry> geometry, @NotNull FeatureEditContext context, @NotNull IGeometryEditCallback geometryEditCallback)
      Provides a translate action that can be used by the caller to add translation behavior.

      A translation handle is typically added by an IFeatureHandlesProvider, for example the FeatureHandlesProvider implementation. It calls this method to retrieve a translate action, and uses it to create a TranslateEditHandle.

      When ITranslateEditAction#translate is called, the returned implementation must:

      Specified by:
      provideTranslateAction in interface IGeometryHandlesProvider
      Parameters:
      geometry - the observable geometry for which to provide a translate action, cannot be null
      context - the context, cannot be null
      geometryEditCallback - a callback that notifies the caller of this method when a translation has occurred, cannot be null
      Returns:
      a translate action. Never null.
    • getHandleFactory

      @NotNull public ArcBandHandlesProvider.IHandleFactory getHandleFactory()
      Returns the handle factory used by the handle provider.
      Returns:
      the handle factory used by the handle provider.
    • setHandleFactory

      public void setHandleFactory(@NotNull ArcBandHandlesProvider.IHandleFactory factory) throws NullPointerException
      Sets the handle factory used by the handle provider.

      If this method is not called, a default handle factory is used. You can change the behavior of this default handle factory by:

      • Wrapping it with your own IHandleFactory implementation, by delegating to the default factory.
      • Omitting/replacing one or more handles that are returned.
      Parameters:
      factory - A handle factory.
      Throws:
      NullPointerException - When null is passed.
    • setConstraint

      public void setConstraint(@Nullable IArcBandConstraint constraint)
      Sets the constraint that is applied to the handles' edit actions.
      Parameters:
      constraint - the constraint that is applied to the handles' edit actions, or null if no constraint should be applied.
    • getConstraint

      @Nullable public IArcBandConstraint getConstraint()
      Returns the constraint that is applied to the handles' edit actions.

      Can be null if no constraint is set.

      Returns:
      The constraint that is applied to the handles' edit actions, or null if no constraint is set.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(@Nullable Object other)
      Overrides:
      equals in class Object