DefaultMessageListener
- java.lang.Object
-
- com.dashoptimization.AbstractMessageListener
-
- com.dashoptimization.DefaultMessageListener
-
- All Implemented Interfaces:
-
XpressProblem.CallbackAPI.MessageCallback,XPRSmessageListener,java.util.EventListener
public class DefaultMessageListener extends AbstractMessageListener implements XpressProblem.CallbackAPI.MessageCallback
Implementation ofAbstractMessageListenerthat directs all messages to streams or functors. The default constructor redirects all messages to the console. In addition there are constructors that redirect messages to specified streams or toConsumer<String>instances for maximum flexibility. The class also implements two staticconsolefunctions. These functions print messages to the console and can be passed directly toXPRSprob.addMessageListener()andXpressProblem.callbacks.addMessageCallback. With this there are five ways to use this class:XPRSprob xprsProb = new XPRSprob(""); // Print all messages to the console. xprsProb.addMessageListener(new DefaultMessageListener()); // Print all messages to files. PrintStream infoStream = new PrintStream(new FileOutputStream("info.txt")); PrintStream warningStream = new PrintStream(new FileOutputStream("warning.txt")); PrintStream errorStream = new PrintStream(new FileOutputStream("error.txt")); xprsProb.addMessageListener(new DefaultMessageListener(infoStream, warningStream, errorStream)); // Collect messages in lists. ListSimilarly for theinfoList = new ArrayList (); List warningList = new ArrayList (); List errorList = new ArrayList (); xprsProb.addMessageListener(new DefaultMessageListener(info -> infoList.add(info), warningList -> warnings.add(warning)), errorList -> errors.add(error)); // Print to console. xprsProb.addMessageListener(DefaultMessageListener::console); XpressProblemclass:XpressProblem xpressProblem = new XpressProblem("", ""); // Print all messages to the console. xpressProblem.callbacks.addMessageCallback(new DefaultMessageListener()); // Print all messages to files. PrintStream infoStream = new PrintStream(new FileOutputStream("info.txt")); PrintStream warningStream = new PrintStream(new FileOutputStream("warning.txt")); PrintStream errorStream = new PrintStream(new FileOutputStream("error.txt")); xpressProblem.callbacks.addMessageCallback(new DefaultMessageListener(infoStream, warningStream, errorStream)); // Collect messages in lists. ListinfoList = new ArrayList (); List warningList = new ArrayList (); List errorList = new ArrayList (); xpressProblem.callbacks.addMessageCallback(new DefaultMessageListener(info -> infoList.add(info), warningList -> warnings.add(warning)), errorList -> errors.add(error)); // Print to console. xpressProblem.callbacks.addMessageCallback(DefaultMessageListener::console);
-
-
Constructor Summary
Constructor Description DefaultMessageListener()Create a message listener that prints to the console.DefaultMessageListener(java.io.PrintStream infoStream, java.io.PrintStream warningStream, java.io.PrintStream errorStream)Create a message listener that directs messages to the specified streams.DefaultMessageListener(java.util.function.Consumer<java.lang.String> info, java.util.function.Consumer<java.lang.String> warning, java.util.function.Consumer<java.lang.String> error)Create a message listener that directs messages to the specified consumers.
-
Method Summary
Modifier and Type Method Description static voidconsole(XpressProblem prob, java.lang.String msg, int msglen, int msgtype)static voidconsole(XPRSprob prob, java.lang.Object vContext, java.lang.String msg, int len, int msgtype)voidmessage(XpressProblem prob, java.lang.String msg, int msglen, int msgtype)-
Methods inherited from class com.dashoptimization.AbstractMessageListener
XPRSmessageEvent
-
-
-
-
Constructor Detail
-
DefaultMessageListener
public DefaultMessageListener()
Create a message listener that prints to the console. Info and warning message will go toSystem.out, error messages will go toSystem.err.
-
DefaultMessageListener
public DefaultMessageListener(java.io.PrintStream infoStream, java.io.PrintStream warningStream, java.io.PrintStream errorStream)Create a message listener that directs messages to the specified streams. Any of the streams may benullin which case the respective messages will be swallowed.- Parameters:
-
infoStream- Output stream for info messages. -
warningStream- Output stream for warning messages. -
errorStream- Output stream for error messages.
-
DefaultMessageListener
public DefaultMessageListener(java.util.function.Consumer<java.lang.String> info, java.util.function.Consumer<java.lang.String> warning, java.util.function.Consumer<java.lang.String> error)Create a message listener that directs messages to the specified consumers. Any of the consumers may benullin which case the respective messages will be swallowed.- Parameters:
-
info- Consumer for info messages. -
warning- Consumer for warning messages. -
error- Consumer for error messages. - Since:
- 43.00
-
-
Method Detail
-
message
public void message(XpressProblem prob, java.lang.String msg, int msglen, int msgtype)
- Specified by:
-
messagein interfaceXpressProblem.CallbackAPI.MessageCallback - Parameters:
-
prob- The problem on which the message is issued. -
msg- Message to print (may benull). -
msglen- Length of message to print. -
msgtype- Message type. - Since:
- 43.00
-
console
public static void console(XPRSprob prob, java.lang.Object vContext, java.lang.String msg, int len, int msgtype)
ImplementXPRSmessageListener.XPRSmessageEvent(XPRSprob, Object, String, int, int). This implementation prints all message to stdout/stderr.- Parameters:
-
prob- The problem on which the message is issued. -
vContext- User defined object registered with callback (ignore). -
msg- Message to print (may benull). -
len- Length of message to print. -
msgtype- Message type. - Since:
- 43.00
-
console
public static void console(XpressProblem prob, java.lang.String msg, int msglen, int msgtype)
ImplementXpressProblem.CallbackAPI.MessageCallback.message(XpressProblem,String,int,int). This implementation prints all message to stdout/stderr.- Parameters:
-
prob- The problem on which the message is issued. -
msg- Message to print (may benull). -
msglen- Length of message to print. -
msgtype- Message type. - Since:
- 43.00
-
-
© 2001-2025 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.
