net.paoding.analysis.dictionary.support.detection.Difference Maven / Gradle / Ivy
/**
* Copyright 2007 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package net.paoding.analysis.dictionary.support.detection;
import java.util.LinkedList;
import java.util.List;
/**
*
* @author Zhiliang Wang [[email protected]]
*
* @since 2.0.2
*
*/
public class Difference {
/**
* 变更了的
*
* @return
*/
private List modified = new LinkedList();
/**
* 删除了的
*
* @return
*/
private List deleted = new LinkedList();
/**
* 新加的
*
* @return
*/
private List newcome = new LinkedList();
private Snapshot older;
private Snapshot younger;
public List getModified() {
return modified;
}
public void setModified(List modified) {
this.modified = modified;
}
public List getDeleted() {
return deleted;
}
public void setDeleted(List deleted) {
this.deleted = deleted;
}
public List getNewcome() {
return newcome;
}
public void setNewcome(List newcome) {
this.newcome = newcome;
}
public Snapshot getOlder() {
return older;
}
public void setOlder(Snapshot older) {
this.older = older;
}
public Snapshot getYounger() {
return younger;
}
public void setYounger(Snapshot younger) {
this.younger = younger;
}
public boolean isEmpty() {
return deleted.isEmpty() && modified.isEmpty() && newcome.isEmpty();
}
public String toString() {
String smodified = ArraysToString(modified.toArray(new Node[] {}));
String snewcome = ArraysToString(newcome.toArray(new Node[] {}));
String sdeleted = ArraysToString(deleted.toArray(new Node[] {}));
return "modified=" + smodified + ";newcome=" + snewcome + ";deleted="
+ sdeleted;
}
// 低于JDK1.5无Arrays.toString()方法,故有以下方法
private static String ArraysToString(Object[] a) {
if (a == null)
return "null";
int iMax = a.length - 1;
if (iMax == -1)
return "[]";
StringBuffer b = new StringBuffer();
b.append('[');
for (int i = 0;; i++) {
b.append(String.valueOf(a[i]));
if (i == iMax)
return b.append(']').toString();
b.append(", ");
}
}
}