Class PointHandlesProvider

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

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

The handles provider offers the following handles:

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

  • Constructor Details

    • PointHandlesProvider

      public PointHandlesProvider()
      Creates a new PointHandlesProvider that can create handles to modify Point 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, like 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 PointHandlesProvider.IHandleFactory getHandleFactory()
      Returns the handle factory used by the handles provider.
      Returns:
      the handle factory used by the handles provider.
    • setHandleFactory

      public void setHandleFactory(@NotNull PointHandlesProvider.IHandleFactory handleFactory) throws NullPointerException
      Sets the handle factory used by the handles 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:
      handleFactory - a handle factory
      Throws:
      NullPointerException - when null is passed.
    • setConstraint

      public void setConstraint(@Nullable IPointConstraint constraint)
      Sets the constraint that is applied to the handles' edit actions.

      Handles always call the constraint with a PointChange parameter, containing the point difference.

      Parameters:
      constraint - the constraint that is applied to the handles' edit actions, or null if no constraint should be applied.
    • getConstraint

      @Nullable public IPointConstraint 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.