package codeine.model; public class Result { private static final int MAX_OUTPUT_SIZE = 1000000; private int exit; private String output; private String outputFromFile; public Result(int exit, String output) { this(exit, output, null); } public Result(int exit, String output, String outputFromFile) { this.exit = exit; this.output = output; this.outputFromFile = outputFromFile; } public boolean success() { return exit == 0; } @Override public String toString() { return "Result [exit=" + exit + "]"; } public String toStringLong() { return "Result [exit=" + exit + ", " + (output != null ? "output=" + output + ", " : "") + (outputFromFile != null ? "outputFromFile=" + outputFromFile : "") + "]"; } public int exit() { return exit; } public String output() { return output; } public void output(String output) { this.output = output; } public void outputFromFile(String outputFromFile) { this.outputFromFile = outputFromFile; } public String outputFromFile() { return outputFromFile; } public void limitOutputLength() { limitOutput(output); limitOutput(outputFromFile); } private void limitOutput(String output2) { output2 = output2 == null || output2.length() <= MAX_OUTPUT_SIZE ? output2 : output2.substring(output2.length() - MAX_OUTPUT_SIZE) + "\nOutput too long...\n"; } }