Interface IPositionListenable

All Known Subinterfaces:
IPositioner, IScanDevice
All Known Implementing Classes:
AbstractScannable, BeamScannable, CalibrationFrameCollector, CompositeNexusScannable, CountableScannable, DetectorCollectionScannable, FrameCollectingScannable, JythonScannableNexusWrapper, MockBeamOnMonitor, MockCountingPositionScannable, MockNeXusScannable, MockNeXusSlit, MockPausingMonitor, MockScannable, MockStringNexusScannable, MockStringScannable, MockTopupScannable, NexusSlitsWrapper, ScannableNexusWrapper

public interface IPositionListenable
  • Method Details

    • addPositionListener

      void addPositionListener(IPositionListener listener)
      Use to be notified as levels / positions are reached. Not usually necessary as setPosition is blocking until the position is reached but useful for other objects which need to change when new positions are reached.
      Parameters:
      listener -
    • removePositionListener

      void removePositionListener(IPositionListener listener)
      Use to be notified as levels / positions are reached.
      Parameters:
      listener -
    • getPositioner

      default IPositioner getPositioner()
      If there is a current IPositioner available, this is returned. Often an IPositionListenable will not implement getPositioner() or may not be back by an object directly moving position.

      Use with Caution!

      Returns:
    • setPositioner

      default void setPositioner(IPositioner positioner)
      If there is a current IPositioner available, this is returned. Often an IPositionListenable will not implement getPositioner() or may not be back by an object directly moving position.

      Use with Caution!

      Throws:
      IllegalArgumentException - if there is no positioner