difflib.Delta类的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(9.4k)|赞(0)|评价(0)|浏览(238)

本文整理了Java中difflib.Delta类的一些代码示例,展示了Delta类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Delta类的具体详情如下:
包路径:difflib.Delta
类名称:Delta

Delta介绍

[英]Describes the delta between original and revised texts.
[中]描述原始文本和修订文本之间的差值。

代码示例

代码示例来源:origin: ferstl/pedantic-pom-enforcers

  1. private static int getExpansionLength(Collection<Delta<String>> deltas) {
  2. int length = 0;
  3. for(Delta<?> delta : deltas) {
  4. switch(delta.getType()) {
  5. case INSERT:
  6. case CHANGE:
  7. int expansion = delta.getRevised().size() - delta.getOriginal().size();
  8. length += (expansion > 0) ? expansion : 0;
  9. break;
  10. default: // NOP
  11. }
  12. }
  13. return length;
  14. }

代码示例来源:origin: com.googlecode.java-diff-utils/diffutils

  1. /**
  2. * Apply this patch to the given target
  3. * @return the patched text
  4. * @throws PatchFailedException if can't apply patch
  5. */
  6. public List<T> applyTo(List<T> target) throws PatchFailedException {
  7. List<T> result = new LinkedList<T>(target);
  8. ListIterator<Delta<T>> it = getDeltas().listIterator(deltas.size());
  9. while (it.hasPrevious()) {
  10. Delta<T> delta = (Delta<T>) it.previous();
  11. delta.applyTo(result);
  12. }
  13. return result;
  14. }

代码示例来源:origin: com.googlecode.java-diff-utils/diffutils

  1. /**
  2. * Restore the text to original. Opposite to applyTo() method.
  3. * @param target the given target
  4. * @return the restored text
  5. */
  6. public List<T> restore(List<T> target) {
  7. List<T> result = new LinkedList<T>(target);
  8. ListIterator<Delta<T>> it = getDeltas().listIterator(deltas.size());
  9. while (it.hasPrevious()) {
  10. Delta<T> delta = (Delta<T>) it.previous();
  11. delta.restore(result);
  12. }
  13. return result;
  14. }

代码示例来源:origin: com.sqlapp/sqlapp-core

  1. private static StringBuilder getBuilder(Delta<?> delta) {
  2. StringBuilder builder = new StringBuilder(256);
  3. builder.append("@@ -");
  4. builder.append(delta.getOriginal().getPosition());
  5. builder.append(",");
  6. builder.append(delta.getOriginal().last());
  7. builder.append(" +");
  8. builder.append(delta.getRevised().getPosition());
  9. builder.append(",");
  10. builder.append(delta.getRevised().last());
  11. builder.append(" @@");
  12. return builder;
  13. }

代码示例来源:origin: org.fitnesse/fitnesse

  1. @Override
  2. protected Chunk<Character> getChunk(final Delta<Character> d) {
  3. return d.getOriginal();
  4. }

代码示例来源:origin: org.fitnesse/fitnesse

  1. @Override
  2. protected Chunk<Character> getChunk(final Delta<Character> d) {
  3. return d.getRevised();
  4. }

代码示例来源:origin: dkpro/dkpro-jwpl

  1. /**
  2. * Returns the deltas between beforeText and afterText as a line separated String
  3. * using delta.toString()
  4. * For more detailed diffs, use getPatch() or getUnifiedDiffStrings()
  5. *
  6. * @param difftype defines the type of diffs to include in the String
  7. * @return diffs as line-separated String using delta.toString()
  8. */
  9. public String getSimpleDiffString(TYPE difftype) {
  10. StringBuilder deltas = new StringBuilder();
  11. for(Delta delta:getPatch().getDeltas()){
  12. if(delta.getType()==difftype){
  13. deltas.append(delta.toString());
  14. deltas.append(System.getProperty("line.separator"));
  15. }
  16. }
  17. return deltas.toString();
  18. }

代码示例来源:origin: com.custardsource.dybdob/java-diff-utils-copy

  1. /**
  2. * getDeltaText returns the lines to be added to the Unified Diff text from the Delta parameter
  3. * @author Bill James (tankerbay@gmail.com)
  4. *
  5. * @param delta - the Delta to output
  6. * @return list of String lines of code.
  7. */
  8. private static List<String> getDeltaText(Delta delta) {
  9. List<String> buffer = new ArrayList<String>();
  10. for (Object line : delta.getOriginal().getLines()) {
  11. buffer.add("-" + line);
  12. }
  13. for (Object line : delta.getRevised().getLines()) {
  14. buffer.add("+" + line);
  15. }
  16. return buffer;
  17. }

代码示例来源:origin: com.github.tcnh/fitnesse

  1. @Override
  2. protected Chunk<Character> getChunk(final Delta<Character> d) {
  3. return d.getOriginal();
  4. }

代码示例来源:origin: com.github.tcnh/fitnesse

  1. @Override
  2. protected Chunk<Character> getChunk(final Delta<Character> d) {
  3. return d.getRevised();
  4. }

代码示例来源:origin: dkpro/dkpro-jwpl

  1. /**
  2. * Returns the deltas between beforeText and afterText as a line separated String.
  3. * For more detailed diffs, use getPatch() or getUnifiedDiffStrings()
  4. *
  5. * @param diffType defines the type of diffs to include in the String
  6. * @return diffs as line-separated String
  7. */
  8. public String getLongDiffString(TYPE diffType) {
  9. StringBuilder deltas = new StringBuilder();
  10. for(Delta delta:getPatch().getDeltas()){
  11. if(delta.getType()==diffType){
  12. deltas.append("Original (Non-Neutral):");
  13. deltas.append(System.getProperty("line.separator"));
  14. deltas.append(delta.getOriginal());
  15. deltas.append(System.getProperty("line.separator"));
  16. deltas.append(System.getProperty("line.separator"));
  17. deltas.append("Revised (Neutral):");
  18. deltas.append(System.getProperty("line.separator"));
  19. deltas.append(delta.getRevised());
  20. deltas.append(System.getProperty("line.separator"));
  21. deltas.append("*********************************************");
  22. deltas.append(System.getProperty("line.separator"));
  23. }
  24. }
  25. return deltas.toString();
  26. }

代码示例来源:origin: com.googlecode.java-diff-utils/diffutils

  1. /**
  2. * getDeltaText returns the lines to be added to the Unified Diff text from
  3. * the Delta parameter
  4. *
  5. * @param delta
  6. * - the Delta to output
  7. * @return list of String lines of code.
  8. * @author Bill James (tankerbay@gmail.com)
  9. */
  10. private static List<String> getDeltaText(Delta<String> delta) {
  11. List<String> buffer = new ArrayList<String>();
  12. for (String line : delta.getOriginal().getLines()) {
  13. buffer.add("-" + line);
  14. }
  15. for (String line : delta.getRevised().getLines()) {
  16. buffer.add("+" + line);
  17. }
  18. return buffer;
  19. }

代码示例来源:origin: com.googlecode.java-diff-utils/diffutils

  1. public int compare(final Delta<?> a, final Delta<?> b) {
  2. final int posA = a.getOriginal().getPosition();
  3. final int posB = b.getOriginal().getPosition();
  4. if (posA > posB) {
  5. return 1;
  6. } else if (posA < posB) {
  7. return -1;
  8. }
  9. return 0;
  10. }
  11. }

代码示例来源:origin: com.custardsource.dybdob/java-diff-utils-copy

  1. /**
  2. * Restore the text to original. Opposite to applyTo() method.
  3. * @param target the given target
  4. * @return the restored text
  5. */
  6. public List<?> restore(List<?> target) {
  7. List<Object> result = new LinkedList<Object>(target);
  8. ListIterator<Delta> it = getDeltas().listIterator(deltas.size());
  9. while (it.hasPrevious()) {
  10. Delta delta = (Delta) it.previous();
  11. delta.restore(result);
  12. }
  13. return result;
  14. }

代码示例来源:origin: com.custardsource.dybdob/java-diff-utils-copy

  1. /**
  2. * Apply this patch to the given target
  3. * @param target
  4. * @return the patched text
  5. * @throws PatchFailedException if can't apply patch
  6. */
  7. public List<?> applyTo(List<?> target) throws PatchFailedException {
  8. List<Object> result = new LinkedList<Object>(target);
  9. ListIterator<Delta> it = getDeltas().listIterator(deltas.size());
  10. while (it.hasPrevious()) {
  11. Delta delta = (Delta) it.previous();
  12. delta.applyTo(result);
  13. }
  14. return result;
  15. }

代码示例来源:origin: ru.lanwen.diff/uri-differ-lib

  1. @Override
  2. public FormattedDelta apply(Delta from) {
  3. String original = on(delimiter).join(from.getOriginal().getLines());
  4. String revised = on(delimiter).join(from.getRevised().getLines());
  5. return new FormattedDelta(
  6. wrap(from.getType(), original, revised),
  7. from.getOriginal().getPosition(),
  8. from.getOriginal().size(),
  9. from.getType()
  10. );
  11. }

代码示例来源:origin: com.sqlapp/sqlapp-core

  1. /**
  2. * 差分をユニファイド形式の文字列にします。
  3. *
  4. * @param delta
  5. * 差分
  6. * @return ユニファイド形式の文字列
  7. */
  8. public static String toString(Delta<?> delta) {
  9. if (delta == null) {
  10. return "";
  11. }
  12. StringBuilder builder = getBuilder(delta);
  13. if ((delta instanceof DeleteDelta) || (delta instanceof ChangeDelta)) {
  14. for (Object obj : delta.getOriginal().getLines()) {
  15. builder.append("\n");
  16. builder.append("-");
  17. builder.append(obj);
  18. }
  19. }
  20. if ((delta instanceof InsertDelta) || (delta instanceof ChangeDelta)) {
  21. for (Object obj : delta.getRevised().getLines()) {
  22. builder.append("\n");
  23. builder.append("+");
  24. builder.append(obj);
  25. }
  26. }
  27. return builder.toString();
  28. }

代码示例来源:origin: com.custardsource.dybdob/java-diff-utils-copy

  1. public int compare(Delta d1, Delta d2) {
  2. if (d1.getOriginal().getPosition() > d2.getOriginal().getPosition()) {
  3. return 1;
  4. } else if (d1.getOriginal().getPosition() > d2.getOriginal().getPosition()) {
  5. return -1;
  6. } else {
  7. return 0;
  8. }
  9. }
  10. });

代码示例来源:origin: dkpro/dkpro-jwpl

  1. /**
  2. * Returns the deltas between beforeText and afterText as a line separated String.
  3. * For more detailed diffs, use getPatch() or getUnifiedDiffStrings()
  4. *
  5. * @return diffs as line-separated String
  6. */
  7. public String getLongDiffString() {
  8. StringBuilder deltas = new StringBuilder();
  9. for(Delta delta:getPatch().getDeltas()){
  10. deltas.append("DeltaType: "+delta.getType().toString());
  11. deltas.append(System.getProperty("line.separator"));
  12. deltas.append("Original (Non-Neutral):");
  13. deltas.append(System.getProperty("line.separator"));
  14. deltas.append(delta.getOriginal());
  15. deltas.append(System.getProperty("line.separator"));
  16. deltas.append(System.getProperty("line.separator"));
  17. deltas.append("Revised (Neutral):");
  18. deltas.append(System.getProperty("line.separator"));
  19. deltas.append(delta.getRevised());
  20. deltas.append(System.getProperty("line.separator"));
  21. }
  22. return deltas.toString();
  23. }

代码示例来源:origin: com.qulice/qulice-xml

  1. /**
  2. * Remove unwanted deltas.
  3. * @param diff Patch to filter.
  4. * @return Patch with unwanted deltas removed.
  5. * @todo #469:30min Remove the method below and find a way to format tags
  6. * correctly in XML. Attributes should be indented by 4 spaces, just like
  7. * XML tags, but in IT xml-violations there is a tag that our Prettifier
  8. * want to be indented by 3 spaces which is wrong. Another problem is
  9. * that in the parent tag, attributes are indented to match the first
  10. * attribute, this is also wrong - all attributes on new line should be
  11. * indented by 4 spaces.
  12. */
  13. private static Patch filter(final Patch diff) {
  14. final Patch patch = new Patch();
  15. for (final Delta delta : diff.getDeltas()) {
  16. final List<?> prev = delta.getOriginal().getLines();
  17. if (
  18. prev.size() != 1 || delta.getRevised().getLines().size() != 1
  19. || !XmlValidator.ATTRS_PATTERN
  20. .matcher(prev.get(0).toString()).matches()
  21. ) {
  22. patch.addDelta(delta);
  23. }
  24. }
  25. return patch;
  26. }
  27. }

相关文章