本文整理了Java中difflib.Delta
类的一些代码示例,展示了Delta
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Delta
类的具体详情如下:
包路径:difflib.Delta
类名称:Delta
[英]Describes the delta between original and revised texts.
[中]描述原始文本和修订文本之间的差值。
代码示例来源:origin: ferstl/pedantic-pom-enforcers
private static int getExpansionLength(Collection<Delta<String>> deltas) {
int length = 0;
for(Delta<?> delta : deltas) {
switch(delta.getType()) {
case INSERT:
case CHANGE:
int expansion = delta.getRevised().size() - delta.getOriginal().size();
length += (expansion > 0) ? expansion : 0;
break;
default: // NOP
}
}
return length;
}
代码示例来源:origin: com.googlecode.java-diff-utils/diffutils
/**
* Apply this patch to the given target
* @return the patched text
* @throws PatchFailedException if can't apply patch
*/
public List<T> applyTo(List<T> target) throws PatchFailedException {
List<T> result = new LinkedList<T>(target);
ListIterator<Delta<T>> it = getDeltas().listIterator(deltas.size());
while (it.hasPrevious()) {
Delta<T> delta = (Delta<T>) it.previous();
delta.applyTo(result);
}
return result;
}
代码示例来源:origin: com.googlecode.java-diff-utils/diffutils
/**
* Restore the text to original. Opposite to applyTo() method.
* @param target the given target
* @return the restored text
*/
public List<T> restore(List<T> target) {
List<T> result = new LinkedList<T>(target);
ListIterator<Delta<T>> it = getDeltas().listIterator(deltas.size());
while (it.hasPrevious()) {
Delta<T> delta = (Delta<T>) it.previous();
delta.restore(result);
}
return result;
}
代码示例来源:origin: com.sqlapp/sqlapp-core
private static StringBuilder getBuilder(Delta<?> delta) {
StringBuilder builder = new StringBuilder(256);
builder.append("@@ -");
builder.append(delta.getOriginal().getPosition());
builder.append(",");
builder.append(delta.getOriginal().last());
builder.append(" +");
builder.append(delta.getRevised().getPosition());
builder.append(",");
builder.append(delta.getRevised().last());
builder.append(" @@");
return builder;
}
代码示例来源:origin: org.fitnesse/fitnesse
@Override
protected Chunk<Character> getChunk(final Delta<Character> d) {
return d.getOriginal();
}
代码示例来源:origin: org.fitnesse/fitnesse
@Override
protected Chunk<Character> getChunk(final Delta<Character> d) {
return d.getRevised();
}
代码示例来源:origin: dkpro/dkpro-jwpl
/**
* Returns the deltas between beforeText and afterText as a line separated String
* using delta.toString()
* For more detailed diffs, use getPatch() or getUnifiedDiffStrings()
*
* @param difftype defines the type of diffs to include in the String
* @return diffs as line-separated String using delta.toString()
*/
public String getSimpleDiffString(TYPE difftype) {
StringBuilder deltas = new StringBuilder();
for(Delta delta:getPatch().getDeltas()){
if(delta.getType()==difftype){
deltas.append(delta.toString());
deltas.append(System.getProperty("line.separator"));
}
}
return deltas.toString();
}
代码示例来源:origin: com.custardsource.dybdob/java-diff-utils-copy
/**
* getDeltaText returns the lines to be added to the Unified Diff text from the Delta parameter
* @author Bill James (tankerbay@gmail.com)
*
* @param delta - the Delta to output
* @return list of String lines of code.
*/
private static List<String> getDeltaText(Delta delta) {
List<String> buffer = new ArrayList<String>();
for (Object line : delta.getOriginal().getLines()) {
buffer.add("-" + line);
}
for (Object line : delta.getRevised().getLines()) {
buffer.add("+" + line);
}
return buffer;
}
代码示例来源:origin: com.github.tcnh/fitnesse
@Override
protected Chunk<Character> getChunk(final Delta<Character> d) {
return d.getOriginal();
}
代码示例来源:origin: com.github.tcnh/fitnesse
@Override
protected Chunk<Character> getChunk(final Delta<Character> d) {
return d.getRevised();
}
代码示例来源:origin: dkpro/dkpro-jwpl
/**
* Returns the deltas between beforeText and afterText as a line separated String.
* For more detailed diffs, use getPatch() or getUnifiedDiffStrings()
*
* @param diffType defines the type of diffs to include in the String
* @return diffs as line-separated String
*/
public String getLongDiffString(TYPE diffType) {
StringBuilder deltas = new StringBuilder();
for(Delta delta:getPatch().getDeltas()){
if(delta.getType()==diffType){
deltas.append("Original (Non-Neutral):");
deltas.append(System.getProperty("line.separator"));
deltas.append(delta.getOriginal());
deltas.append(System.getProperty("line.separator"));
deltas.append(System.getProperty("line.separator"));
deltas.append("Revised (Neutral):");
deltas.append(System.getProperty("line.separator"));
deltas.append(delta.getRevised());
deltas.append(System.getProperty("line.separator"));
deltas.append("*********************************************");
deltas.append(System.getProperty("line.separator"));
}
}
return deltas.toString();
}
代码示例来源:origin: com.googlecode.java-diff-utils/diffutils
/**
* getDeltaText returns the lines to be added to the Unified Diff text from
* the Delta parameter
*
* @param delta
* - the Delta to output
* @return list of String lines of code.
* @author Bill James (tankerbay@gmail.com)
*/
private static List<String> getDeltaText(Delta<String> delta) {
List<String> buffer = new ArrayList<String>();
for (String line : delta.getOriginal().getLines()) {
buffer.add("-" + line);
}
for (String line : delta.getRevised().getLines()) {
buffer.add("+" + line);
}
return buffer;
}
代码示例来源:origin: com.googlecode.java-diff-utils/diffutils
public int compare(final Delta<?> a, final Delta<?> b) {
final int posA = a.getOriginal().getPosition();
final int posB = b.getOriginal().getPosition();
if (posA > posB) {
return 1;
} else if (posA < posB) {
return -1;
}
return 0;
}
}
代码示例来源:origin: com.custardsource.dybdob/java-diff-utils-copy
/**
* Restore the text to original. Opposite to applyTo() method.
* @param target the given target
* @return the restored text
*/
public List<?> restore(List<?> target) {
List<Object> result = new LinkedList<Object>(target);
ListIterator<Delta> it = getDeltas().listIterator(deltas.size());
while (it.hasPrevious()) {
Delta delta = (Delta) it.previous();
delta.restore(result);
}
return result;
}
代码示例来源:origin: com.custardsource.dybdob/java-diff-utils-copy
/**
* Apply this patch to the given target
* @param target
* @return the patched text
* @throws PatchFailedException if can't apply patch
*/
public List<?> applyTo(List<?> target) throws PatchFailedException {
List<Object> result = new LinkedList<Object>(target);
ListIterator<Delta> it = getDeltas().listIterator(deltas.size());
while (it.hasPrevious()) {
Delta delta = (Delta) it.previous();
delta.applyTo(result);
}
return result;
}
代码示例来源:origin: ru.lanwen.diff/uri-differ-lib
@Override
public FormattedDelta apply(Delta from) {
String original = on(delimiter).join(from.getOriginal().getLines());
String revised = on(delimiter).join(from.getRevised().getLines());
return new FormattedDelta(
wrap(from.getType(), original, revised),
from.getOriginal().getPosition(),
from.getOriginal().size(),
from.getType()
);
}
代码示例来源:origin: com.sqlapp/sqlapp-core
/**
* 差分をユニファイド形式の文字列にします。
*
* @param delta
* 差分
* @return ユニファイド形式の文字列
*/
public static String toString(Delta<?> delta) {
if (delta == null) {
return "";
}
StringBuilder builder = getBuilder(delta);
if ((delta instanceof DeleteDelta) || (delta instanceof ChangeDelta)) {
for (Object obj : delta.getOriginal().getLines()) {
builder.append("\n");
builder.append("-");
builder.append(obj);
}
}
if ((delta instanceof InsertDelta) || (delta instanceof ChangeDelta)) {
for (Object obj : delta.getRevised().getLines()) {
builder.append("\n");
builder.append("+");
builder.append(obj);
}
}
return builder.toString();
}
代码示例来源:origin: com.custardsource.dybdob/java-diff-utils-copy
public int compare(Delta d1, Delta d2) {
if (d1.getOriginal().getPosition() > d2.getOriginal().getPosition()) {
return 1;
} else if (d1.getOriginal().getPosition() > d2.getOriginal().getPosition()) {
return -1;
} else {
return 0;
}
}
});
代码示例来源:origin: dkpro/dkpro-jwpl
/**
* Returns the deltas between beforeText and afterText as a line separated String.
* For more detailed diffs, use getPatch() or getUnifiedDiffStrings()
*
* @return diffs as line-separated String
*/
public String getLongDiffString() {
StringBuilder deltas = new StringBuilder();
for(Delta delta:getPatch().getDeltas()){
deltas.append("DeltaType: "+delta.getType().toString());
deltas.append(System.getProperty("line.separator"));
deltas.append("Original (Non-Neutral):");
deltas.append(System.getProperty("line.separator"));
deltas.append(delta.getOriginal());
deltas.append(System.getProperty("line.separator"));
deltas.append(System.getProperty("line.separator"));
deltas.append("Revised (Neutral):");
deltas.append(System.getProperty("line.separator"));
deltas.append(delta.getRevised());
deltas.append(System.getProperty("line.separator"));
}
return deltas.toString();
}
代码示例来源:origin: com.qulice/qulice-xml
/**
* Remove unwanted deltas.
* @param diff Patch to filter.
* @return Patch with unwanted deltas removed.
* @todo #469:30min Remove the method below and find a way to format tags
* correctly in XML. Attributes should be indented by 4 spaces, just like
* XML tags, but in IT xml-violations there is a tag that our Prettifier
* want to be indented by 3 spaces which is wrong. Another problem is
* that in the parent tag, attributes are indented to match the first
* attribute, this is also wrong - all attributes on new line should be
* indented by 4 spaces.
*/
private static Patch filter(final Patch diff) {
final Patch patch = new Patch();
for (final Delta delta : diff.getDeltas()) {
final List<?> prev = delta.getOriginal().getLines();
if (
prev.size() != 1 || delta.getRevised().getLines().size() != 1
|| !XmlValidator.ATTRS_PATTERN
.matcher(prev.get(0).toString()).matches()
) {
patch.addDelta(delta);
}
}
return patch;
}
}
内容来源于网络,如有侵权,请联系作者删除!