package ie.dcu.segment.options; /** * The result of an attempted conversion. * * @author Kevin McGuinness */ public class Conversion { private final String message; private final T result; /** * Create a conversion object with the given message and result. The message * should be null if the conversion was valid. * * @param result * The result, or null. * @param message * A message, or null. */ public Conversion(T result, String message) { this.message = message; this.result = result; } /** * Returns true of the conversion went OK. */ public boolean isOk() { return message == null; } /** * Returns an error message if the conversion failed. */ public String getMessage() { return message; } /** * Returns the result of the conversion if it succeeded. */ public T getResult() { return result; } public String toString() { if (isOk()) { return String.format("Conversion [ value = %s ]", result); } else { return String.format("Conversion [ error = %s ]", message); } } }