Class UnitOutputRequest

java.lang.Object
de.gmxhome.conrad.jpos.jpos_base.JposOutputRequest
de.gmxhome.conrad.jpos.jpos_base.UnitOutputRequest
All Implemented Interfaces:
Runnable
Direct Known Subclasses:
BumpBarSound, ClearVideo, PositionBase, RestoreVideoRegion, TransactionDisplay, VideoSound

public class UnitOutputRequest extends JposOutputRequest
Output request class for subsystem unit devices.
  • Constructor Details

    • UnitOutputRequest

      public UnitOutputRequest(JposCommonProperties props, int units)
      Constructor. Stores given parameters for later use.
      Parameters:
      props - Property set of device service.
      units - Units where status has been changed.
  • Method Details

    • getUnits

      public int getUnits()
      Retrieves parameter units of all subsystem unit device methods using OutputRequest for processing. See UPOS specification of the specific method for further information.
      Returns:
      Value of method parameter units.
    • createErrorEvent

      public JposErrorEvent createErrorEvent(jpos.JposException ex)
      Description copied from class: JposOutputRequest
      Factory for error events generated from JposExceptions. Must be overwritten whenever a device specific error event shall be created. For example, in case of cash printer methods, this method should return a POSPrinterErrorEvent (which is an object derived from JposErrorEvent) that contains additional values to be stored in printer properties before the event will be fired.
      If a device supports result code properties instead of error events, this method must return null. The result codes should be buffered for a later call of the createIdleEvent method which must create a device specific StatusUpdateEvent which contains the buffered values.
      If null will be returned instead of a JposErrorEvent, it will enforce special request handling instead:
      • Instead of suspending the request, it will be finished.
      • The idle flag will be set.
      Devices handling asynchronous requests this way, must not buffer more than one request at once. They must end with throwing a StatusUpdateEvent with a specific end-of-request status value instead. This event must be returned by the createIdleEvent method of a device specific class derived from JposOutputRequest.
      Overrides:
      createErrorEvent in class JposOutputRequest
      Parameters:
      ex - JposException which is the originator of an error event.
      Returns:
      The resulting error event.
    • clearOutput

      public void clearOutput()
      Description copied from class: JposOutputRequest
      Removes all pending and suspended output requests belonging to the property set of the command. Clears only those requests that are really output requests:
      • Have an own OutputID,
      • Generate an OutputCompleteEvent when finished,
      • Generate error events with locus EL_OUTPUT.
      This base implementation expects that all output requests fulfill these requirements and therefore simply invokes clearAll.
      Overrides:
      clearOutput in class JposOutputRequest
    • checkUnitsOnline

      protected void checkUnitsOnline() throws jpos.JposException
      Checks whether all units specified by Units are online.
      Throws:
      jpos.JposException - If not all specified units are online.