UniPRT SDK  v1.0.0.0
com.UniPRT.Sdk.Json.PrinterMonitor Class Reference

Module to facilitate listening/retrieval of printer unsolicited messaging or retrieval of printer status/information. More...

Inheritance diagram for com.UniPRT.Sdk.Json.PrinterMonitor:
com.UniPRT.Sdk.Json.IPrinterMonitor

Public Member Functions

AlertStatusNotice GetAlertStatusCallback ()
 
void SetAlertStatusCallback (AlertStatusNotice callback)
 Holds the function to call when fault/alert msgs received from printer. Function must match signature of AlertStatusNotice. More...
 
DisplayStatusNotice GetDisplayStatusCallback ()
 
void SetDisplayStatusCallback (DisplayStatusNotice callback)
 Holds the function to call when display text msgs received from printer. Function must match signature of DisplayStatusNotice. More...
 
EngineStatusNotice GetEngineStatusCallback ()
 
void SetEngineStatusCallback (EngineStatusNotice callback)
 Holds the function to call when engine status received from printer. Function must match signature of EngineStatusNotice. More...
 
boolean GetAlertStatusListening ()
 Inherited from IPrinterMonitor.AlertStatusListening. More...
 
void SetAlertStatusListening (boolean listening)
 Enable/disable listening/parsing unsolicited fault status alerts from printer. More...
 
boolean GetDisplayStatusListening ()
 Inherited from IPrinterMonitor.DisplayStatusListening. More...
 
void SetDisplayStatusListening (boolean listening)
 Enable/disable listening/parsing unsolicited front panel display text from printer. More...
 
boolean GetEngineStatusListening ()
 Inherited from IPrinterMonitor.EngineStatusListening. More...
 
void SetEngineStatusListening (boolean listening)
 Enable/disable listening/parsing unsolicited engine status from printer. More...
 
 PrinterMonitor (TcpConnection connection)
 
 PrinterMonitor (JsonComm mgmtComm)
 
 PrinterMonitor (String commDescriptor)
 
PrinterInfo GetPrinterInfo ()
 Inherited from IPrinterMonitor.GetPrinterInfo
More...
 
String GetEngineStatus ()
 Inherited from IPrinterMonitor.GetEngineStatus
More...
 
String[] GetFaultStatus ()
 Inherited from IPrinterMonitor.GetFaultStatus
More...
 
void Dispose ()
 
void close () throws Exception
 

Protected Member Functions

void Dispose (boolean disposing)
 
void finalize () throws Throwable
 

Private Member Functions

void triggerCallbackForOdvReport (String[] alert)
 
void DisplayStatus (String[] newDisplayText)
 
void triggerCallbackForEngineStatus (String engineState)
 
void MsgListenerCtrlRefresh ()
 
void CallbackForAlertStatus (String[] alertText)
 
void CallbackForDisplayStatus (String[] panelText)
 
void CallbackForEngineStatus (String newEngineState)
 
Map< String, String > MsgParser_PrinterInfo (String mgmtReportFrame)
 

Private Attributes

TcpConnection _ptrComm
 
JsonComm _mgmtComm
 
Channel< String > _msgsFromPtr
 
String _myMgmtId = ""
 
AtomicBoolean _mgmtMsgListening = new AtomicBoolean(false)
 
AtomicBoolean _alertStatusListening = new AtomicBoolean(false)
 
AtomicBoolean _displayStatusListening = new AtomicBoolean(false)
 
AtomicBoolean _engineStatusListening = new AtomicBoolean(false)
 
ExecutorService _executor = Executors.newSingleThreadExecutor()
 
Future<?> _listenerTask
 
ConcurrentLinkedQueue< String > _mgmtFilteredMsgs = new ConcurrentLinkedQueue<>()
 
AlertStatusNotice AlertStatusCallback
 Inherited from IPrinterMonitor.AlertStatusCallback. More...
 
DisplayStatusNotice DisplayStatusCallback
 Inherited from IPrinterMonitor.DisplayStatusCallback. More...
 
EngineStatusNotice EngineStatusCallback
 Inherited from IPrinterMonitor.EngineStatusCallback. More...
 
String[] displayText = new String[] { "", "" }
 
String[] alertText = new String[] { "", "" }
 
boolean _sdkManagedComm = false
 
String _managedDescriptor = ""
 
boolean _disposed = false
 
Map< Integer, String > alertLUT
 

Static Private Attributes

static final int MAX_MSGS_FROM_PTR = 100
 
static final int MAX_ODV_MSGS = 2
 

Detailed Description

Module to facilitate listening/retrieval of printer unsolicited messaging or retrieval of printer status/information.

Unsolicited messages, if enabled on printer, can be sent at any time. This module requires a constant connection to the printer's management port in order to listen for any messaging sent out by printer.

Examples

package com.test.UniPRTSdk;
import java.util.Arrays;
public class PrinterMonitorSnippet {
// setup a comm and xml parser for listening to xml msgs from printer
private static PrinterMonitor _PrinterMntr = null;
public static void test() {
System.out.println("Monitoring Printer.");
try {
_PrinterMntr = new PrinterMonitor("192.168.1.57");
// setup for listening for alerts
_PrinterMntr.SetAlertStatusListening(true); // enable unsolicited alert status msgs from printer
_PrinterMntr.SetAlertStatusCallback(PrinterMonitorSnippet::PtrAlertNoticeListener);
// setup for listening for Engine Status
_PrinterMntr.SetEngineStatusListening(true); // enable unsolicited engine status msgs from printer
_PrinterMntr.SetEngineStatusCallback(PrinterMonitorSnippet::PtrEngineStatusNoticeListener);
// setup for listening for display text msgs
_PrinterMntr.SetDisplayStatusListening(true); // enable unsolicited display text msgs from printer
_PrinterMntr.SetDisplayStatusCallback(PrinterMonitorSnippet::PtrDisplayStatusNoticeListener);
while (true) { // wait for something to happen
// pretend to be busy doing some other work here...
Thread.sleep(1000); // simulate work
}
} catch (Exception e) {
System.out.printf("Exception Msg: %s%n", e.getMessage());
} finally {
if (_PrinterMntr != null) {
_PrinterMntr.Dispose();
}
}
}
private static void PtrAlertNoticeListener(String[] newAlertText) {
// Print out alerts: e.g. "2418" ("Print Head Open" fault/alert)
System.out.printf("Printer Alert #: %n %s - %s%n", newAlertText[0], newAlertText[1]);
}
private static void PtrEngineStatusNoticeListener(String newEngineStatus) {
// Print out engine status: e.g. "idle", "offline", "online", "printing"...
System.out.printf("Engine Status: %n %s%n", newEngineStatus);
}
private static void PtrDisplayStatusNoticeListener(String[] newDisplayText) {
// Print display msgs: e.g. "ONLINE" "ETHERNET/PGL/LP+" or "PRINT HEAD UP" "Close Print Head"
System.out.println("Printer Display: ");
Arrays.stream(newDisplayText).forEach(txtLine -> System.out.printf(" %s%n", txtLine));
}
}

Output

Result after causing fault by opening/closing print head, and pressing the pause button on printer to place printer "offline"/"online".

Output


Constructor & Destructor Documentation

◆ PrinterMonitor() [1/3]

◆ PrinterMonitor() [2/3]

◆ PrinterMonitor() [3/3]

Member Function Documentation

◆ CallbackForAlertStatus()

void com.UniPRT.Sdk.Json.PrinterMonitor.CallbackForAlertStatus ( String[]  alertText)
private

◆ CallbackForDisplayStatus()

void com.UniPRT.Sdk.Json.PrinterMonitor.CallbackForDisplayStatus ( String[]  panelText)
private

◆ CallbackForEngineStatus()

void com.UniPRT.Sdk.Json.PrinterMonitor.CallbackForEngineStatus ( String  newEngineState)
private

◆ close()

void com.UniPRT.Sdk.Json.PrinterMonitor.close ( ) throws Exception

◆ DisplayStatus()

void com.UniPRT.Sdk.Json.PrinterMonitor.DisplayStatus ( String[]  newDisplayText)
private

◆ Dispose() [1/2]

void com.UniPRT.Sdk.Json.PrinterMonitor.Dispose ( )

◆ Dispose() [2/2]

◆ finalize()

void com.UniPRT.Sdk.Json.PrinterMonitor.finalize ( ) throws Throwable
protected

◆ GetAlertStatusCallback()

AlertStatusNotice com.UniPRT.Sdk.Json.PrinterMonitor.GetAlertStatusCallback ( )

◆ GetAlertStatusListening()

boolean com.UniPRT.Sdk.Json.PrinterMonitor.GetAlertStatusListening ( )

Inherited from IPrinterMonitor.AlertStatusListening.

Implements com.UniPRT.Sdk.Json.IPrinterMonitor.

References com.UniPRT.Sdk.Json.PrinterMonitor._alertStatusListening.

◆ GetDisplayStatusCallback()

DisplayStatusNotice com.UniPRT.Sdk.Json.PrinterMonitor.GetDisplayStatusCallback ( )

◆ GetDisplayStatusListening()

boolean com.UniPRT.Sdk.Json.PrinterMonitor.GetDisplayStatusListening ( )

Inherited from IPrinterMonitor.DisplayStatusListening.

Implements com.UniPRT.Sdk.Json.IPrinterMonitor.

References com.UniPRT.Sdk.Json.PrinterMonitor._displayStatusListening.

◆ GetEngineStatus()

◆ GetEngineStatusCallback()

EngineStatusNotice com.UniPRT.Sdk.Json.PrinterMonitor.GetEngineStatusCallback ( )

◆ GetEngineStatusListening()

boolean com.UniPRT.Sdk.Json.PrinterMonitor.GetEngineStatusListening ( )

Inherited from IPrinterMonitor.EngineStatusListening.

Implements com.UniPRT.Sdk.Json.IPrinterMonitor.

References com.UniPRT.Sdk.Json.PrinterMonitor._engineStatusListening.

◆ GetFaultStatus()

◆ GetPrinterInfo()

◆ MsgListenerCtrlRefresh()

void com.UniPRT.Sdk.Json.PrinterMonitor.MsgListenerCtrlRefresh ( )
private

References com.UniPRT.Sdk.Json.PrinterMonitor._alertStatusListening, com.UniPRT.Sdk.Json.PrinterMonitor._displayStatusListening, com.UniPRT.Sdk.Json.PrinterMonitor._engineStatusListening, com.UniPRT.Sdk.Json.PrinterMonitor._executor, com.UniPRT.Sdk.Json.PrinterMonitor._listenerTask, com.UniPRT.Sdk.Json.PrinterMonitor._mgmtComm, com.UniPRT.Sdk.Json.PrinterMonitor._mgmtFilteredMsgs, com.UniPRT.Sdk.Json.PrinterMonitor._mgmtMsgListening, com.UniPRT.Sdk.Json.PrinterMonitor._msgsFromPtr, com.UniPRT.Sdk.Json.PrinterMonitor.alertLUT, com.UniPRT.Sdk.Json.PrinterMonitor.AlertStatusCallback, com.UniPRT.Sdk.Json.PrinterMonitor.alertText, com.UniPRT.Sdk.Json.JsonComm.ChannelListenerJson(), com.UniPRT.Sdk.Json.PrinterMonitor.DisplayStatusCallback, com.UniPRT.Sdk.Json.PrinterMonitor.displayText, com.UniPRT.Sdk.Json.PrinterMonitor.EngineStatusCallback, com.UniPRT.Sdk.Json.JsonStringTokenizer.GetKeyValue(), com.UniPRT.Sdk.Json.JsonStringTokenizer.GetKeyValueAtPath(), com.UniPRT.Sdk.Json.JsonStringTokenizer.GetMsgId_Json(), com.UniPRT.Sdk.Json.EngineStatusNotice.handle(), com.UniPRT.Sdk.Json.DisplayStatusNotice.handle(), com.UniPRT.Sdk.Json.AlertStatusNotice.handle(), com.UniPRT.Sdk.Json.JsonStringTokenizer.HasKeyAtPath(), com.UniPRT.Sdk.Json.PrinterMonitor.MAX_MSGS_FROM_PTR, com.UniPRT.Sdk.Json.PrinterMonitor.MAX_ODV_MSGS, com.UniPRT.Sdk.Mgmt.Channel< T >.Take(), and com.UniPRT.Sdk.Mgmt.MgmtChannelFilterType.UNSOLICITED_MSGS_ONLY.

Referenced by com.UniPRT.Sdk.Json.PrinterMonitor.SetAlertStatusListening(), com.UniPRT.Sdk.Json.PrinterMonitor.SetDisplayStatusListening(), and com.UniPRT.Sdk.Json.PrinterMonitor.SetEngineStatusListening().

◆ MsgParser_PrinterInfo()

Map<String, String> com.UniPRT.Sdk.Json.PrinterMonitor.MsgParser_PrinterInfo ( String  mgmtReportFrame)
private

◆ SetAlertStatusCallback()

void com.UniPRT.Sdk.Json.PrinterMonitor.SetAlertStatusCallback ( AlertStatusNotice  callback)

Holds the function to call when fault/alert msgs received from printer. Function must match signature of AlertStatusNotice.

Implements com.UniPRT.Sdk.Json.IPrinterMonitor.

◆ SetAlertStatusListening()

void com.UniPRT.Sdk.Json.PrinterMonitor.SetAlertStatusListening ( boolean  listening)

◆ SetDisplayStatusCallback()

void com.UniPRT.Sdk.Json.PrinterMonitor.SetDisplayStatusCallback ( DisplayStatusNotice  callback)

Holds the function to call when display text msgs received from printer. Function must match signature of DisplayStatusNotice.

Implements com.UniPRT.Sdk.Json.IPrinterMonitor.

◆ SetDisplayStatusListening()

void com.UniPRT.Sdk.Json.PrinterMonitor.SetDisplayStatusListening ( boolean  listening)

◆ SetEngineStatusCallback()

void com.UniPRT.Sdk.Json.PrinterMonitor.SetEngineStatusCallback ( EngineStatusNotice  callback)

Holds the function to call when engine status received from printer. Function must match signature of EngineStatusNotice.

Implements com.UniPRT.Sdk.Json.IPrinterMonitor.

◆ SetEngineStatusListening()

void com.UniPRT.Sdk.Json.PrinterMonitor.SetEngineStatusListening ( boolean  listening)

◆ triggerCallbackForEngineStatus()

void com.UniPRT.Sdk.Json.PrinterMonitor.triggerCallbackForEngineStatus ( String  engineState)
private

◆ triggerCallbackForOdvReport()

void com.UniPRT.Sdk.Json.PrinterMonitor.triggerCallbackForOdvReport ( String[]  alert)
private

Member Data Documentation

◆ _alertStatusListening

AtomicBoolean com.UniPRT.Sdk.Json.PrinterMonitor._alertStatusListening = new AtomicBoolean(false)
private

◆ _displayStatusListening

AtomicBoolean com.UniPRT.Sdk.Json.PrinterMonitor._displayStatusListening = new AtomicBoolean(false)
private

◆ _disposed

boolean com.UniPRT.Sdk.Json.PrinterMonitor._disposed = false
private

◆ _engineStatusListening

AtomicBoolean com.UniPRT.Sdk.Json.PrinterMonitor._engineStatusListening = new AtomicBoolean(false)
private

◆ _executor

ExecutorService com.UniPRT.Sdk.Json.PrinterMonitor._executor = Executors.newSingleThreadExecutor()
private

◆ _listenerTask

Future<?> com.UniPRT.Sdk.Json.PrinterMonitor._listenerTask
private

◆ _managedDescriptor

String com.UniPRT.Sdk.Json.PrinterMonitor._managedDescriptor = ""
private

◆ _mgmtComm

◆ _mgmtFilteredMsgs

ConcurrentLinkedQueue<String> com.UniPRT.Sdk.Json.PrinterMonitor._mgmtFilteredMsgs = new ConcurrentLinkedQueue<>()
private

◆ _mgmtMsgListening

AtomicBoolean com.UniPRT.Sdk.Json.PrinterMonitor._mgmtMsgListening = new AtomicBoolean(false)
private

◆ _msgsFromPtr

Channel<String> com.UniPRT.Sdk.Json.PrinterMonitor._msgsFromPtr
private

◆ _myMgmtId

◆ _ptrComm

TcpConnection com.UniPRT.Sdk.Json.PrinterMonitor._ptrComm
private

◆ _sdkManagedComm

boolean com.UniPRT.Sdk.Json.PrinterMonitor._sdkManagedComm = false
private

◆ alertLUT

Map<Integer, String> com.UniPRT.Sdk.Json.PrinterMonitor.alertLUT
private
Initial value:
= new HashMap<Integer, String>() {{
put(0000, "No Fault");
put(2001, "Paper Out");
put(2002, "Paper Jam");
put(2301, "Barcode Fails Specification");
put(2407, "Barcode Fails Specification");
put(2418, "Print Head Open");
}}

Referenced by com.UniPRT.Sdk.Json.PrinterMonitor.GetFaultStatus(), and com.UniPRT.Sdk.Json.PrinterMonitor.MsgListenerCtrlRefresh().

◆ AlertStatusCallback

◆ alertText

String [] com.UniPRT.Sdk.Json.PrinterMonitor.alertText = new String[] { "", "" }
private

◆ DisplayStatusCallback

◆ displayText

String [] com.UniPRT.Sdk.Json.PrinterMonitor.displayText = new String[] { "", "" }
private

◆ EngineStatusCallback

◆ MAX_MSGS_FROM_PTR

final int com.UniPRT.Sdk.Json.PrinterMonitor.MAX_MSGS_FROM_PTR = 100
staticprivate

◆ MAX_ODV_MSGS

final int com.UniPRT.Sdk.Json.PrinterMonitor.MAX_ODV_MSGS = 2
staticprivate

The documentation for this class was generated from the following file:
com.UniPRT.Sdk.Json
Definition: AlertStatusNotice.java:1
com.UniPRT.Sdk.Json.PrinterMonitor
Module to facilitate listening/retrieval of printer unsolicited messaging or retrieval of printer sta...
Definition: PrinterMonitor.java:77
com.UniPRT
com.UniPRT.Sdk
com
com.UniPRT.Sdk.Json.PrinterMonitor.PrinterMonitor
PrinterMonitor(TcpConnection connection)
Definition: PrinterMonitor.java:387