package org.argeo.slc.diff; import org.argeo.slc.SlcException; /** Diff issue where reached and expected values are different. */ public class DiffNotMatched extends DiffIssueKey { // To enable hibernate persistance, these object cannot be final // private final Object expected; // private final Object reached; private Object expected; private Object reached; public DiffNotMatched(DiffPosition position, Object expected, Object reached) { super(position); this.expected = expected; this.reached = reached; } public DiffNotMatched(DiffPosition position, Object expected, Object reached, DiffKey key) { super(position, key); this.expected = expected; this.reached = reached; } public Object getExpected() { return expected; } public Object getReached() { return reached; } @Override public String toString() { String result = position + ": not matched " + expected + " <> " + reached; if (super.key != null) { result = result + " - Key: " + super.toString(); } return result; } @SuppressWarnings("unused") private String getExpectedStr() { if (expected instanceof String) return (String) expected; else throw new SlcException( "Object 'expected' is of wrong type. Must be a String"); } @SuppressWarnings("unused") private String getReachedStr() { if (reached instanceof String) return (String) reached; else throw new SlcException( "Object 'reached' is of wrong type. Must be a String"); } @SuppressWarnings("unused") private void setReachedStr(String reachedStr) { this.reached = reachedStr; } @SuppressWarnings("unused") private void setExpectedStr(String expectedStr) { this.expected = expectedStr; } }