/** * @see org.apache.wicket.util.diff.Delta#toString(StringBuilder) */ @Override public void toString(final StringBuilder s) { s.append(original.anchor()); s.append("a"); s.append(revised.rangeString()); s.append(Diff.NL); revised.toString(s, "> ", Diff.NL); }
/** * @see org.apache.wicket.util.diff.Delta#applyTo(java.util.List) */ public void applyTo(List target) { original.applyDelete(target); revised.applyAdd(original.first(), target); }
/** * @see org.apache.wicket.util.diff.Delta#toRCSString(java.lang.StringBuffer, java.lang.String) */ public void toRCSString(StringBuffer s, String EOL) { s.append("d"); s.append(original.rcsfrom()); s.append(" "); s.append(original.size()); s.append(EOL); s.append("a"); s.append(original.rcsto()); s.append(" "); s.append(revised.size()); s.append(EOL); revised.toString(s, "", EOL); }
/** * @see org.apache.wicket.util.diff.Delta#toString(java.lang.StringBuilder) */ @Override public void toString(final StringBuilder s) { s.append(original.rangeString()); s.append("d"); s.append(revised.rcsto()); s.append(Diff.NL); original.toString(s, "< ", Diff.NL); }
/** * Provide a string representation of the numeric range of this chunk. * * @param s * where the string representation should be appended. * @param separ * what to use as line separator. */ public void rangeString(final StringBuilder s, final String separ) { if (size() <= 1) { s.append(Integer.toString(rcsfrom())); } else { s.append(Integer.toString(rcsfrom())); s.append(separ); s.append(Integer.toString(rcsto())); } } }
/** * @see org.apache.wicket.util.diff.Delta#toString(java.lang.StringBuffer) */ public void toString(StringBuffer s) { original.rangeString(s); s.append("c"); revised.rangeString(s); s.append(Diff.NL); original.toString(s, "< ", "\n"); s.append("---"); s.append(Diff.NL); revised.toString(s, "> ", "\n"); }
/** * @see org.apache.wicket.util.diff.Delta#verify(java.util.List) */ @Override public void verify(final List<Object> target) throws PatchFailedException { if (!original.verify(target)) { throw new PatchFailedException(); } if (original.first() > target.size()) { throw new PatchFailedException("original.first() > target.size()"); } }
/** * Provide a string representation of the numeric range of this chunk. * * @param s * where the string representation should be appended. */ public void rangeString(final StringBuilder s) { rangeString(s, ","); }
/** * Construct. * * @param origpos * @param rev */ public AddDelta(int origpos, Chunk rev) { init(new Chunk(origpos, 0), rev); }
/** * @see org.apache.wicket.util.diff.Delta#verify(java.util.List) */ @Override public void verify(final List<Object> target) throws PatchFailedException { if (original.first() > target.size()) { throw new PatchFailedException("original.first() > target.size()"); } }
/** * @see org.apache.wicket.util.diff.Delta#applyTo(java.util.List) */ @Override public void applyTo(final List<Object> target) { original.applyDelete(target); }
/** * Returns the index of the first line of the chunk. * * @return int */ public int first() { return anchor(); }
/** * Returns a Delta that corresponds to the given chunks in the original and revised text * respectively. * * @param orig * the chunk in the original text. * @param rev * the chunk in the revised text. * @return Delta */ public static Delta newDelta(final Chunk orig, final Chunk rev) { Class<?> c = DeltaClass[orig.size() > 0 ? 1 : 0][rev.size() > 0 ? 1 : 0]; Delta result; try { result = (Delta)c.newInstance(); } catch (Exception e) { return null; } result.init(orig, rev); return result; }
/** * Verifies that this chunk's saved text matches the corresponding text in the given sequence. * * @param target * the sequence to verify against. * @return true if the texts match. */ public boolean verify(final List<Object> target) { if (chunk == null) { return true; } if (last() > target.size()) { return false; } for (int i = 0; i < count; i++) { if (!target.get(anchor + i).equals(chunk.get(i))) { return false; } } return true; }
/** * @see org.apache.wicket.util.diff.Delta#toRCSString(java.lang.StringBuilder, java.lang.String) */ @Override public void toRCSString(final StringBuilder s, final String EOL) { s.append("d"); s.append(original.rcsfrom()); s.append(" "); s.append(original.size()); s.append(EOL); s.append("a"); s.append(original.rcsto()); s.append(" "); s.append(revised.size()); s.append(EOL); revised.toString(s, "", EOL); }