下面列出了怎么用org.apache.commons.lang3.builder.CompareToBuilder的API类实例代码及写法,或者点击链接到github查看源代码。
private List<String[]> courseGrades() {
final List<String[]> result = new ArrayList<>();
final Map<String, Double> gradeMap = this.settings.getSelectedGradingScaleBottomPercents();
final List<String> ascendingGrades = new ArrayList<>(gradeMap.keySet());
ascendingGrades.sort(new Comparator<String>() {
@Override
public int compare(final String a, final String b) {
return new CompareToBuilder()
.append(gradeMap.get(a), gradeMap.get(b))
.toComparison();
}
});
for (final GbStudentGradeInfo studentGradeInfo : studentGradeInfoList) {
result.add(getCourseGradeData(studentGradeInfo.getCourseGrade(), courseGradeMap));
}
return result;
}
@Override
public int compare(final GbStudentGradeInfo g1, final GbStudentGradeInfo g2) {
final CourseGrade cg1 = g1.getCourseGrade().getCourseGrade();
final CourseGrade cg2 = g2.getCourseGrade().getCourseGrade();
String letterGrade1 = cg1.getMappedGrade();
if (cg1.getEnteredGrade() != null) {
letterGrade1 = cg1.getEnteredGrade();
}
String letterGrade2 = cg2.getMappedGrade();
if (cg2.getEnteredGrade() != null) {
letterGrade2 = cg2.getEnteredGrade();
}
final int gradeIndex1 = this.ascendingGrades.indexOf(letterGrade1);
final int gradeIndex2 = this.ascendingGrades.indexOf(letterGrade2);
final Double calculatedGrade1 = cg1.getCalculatedGrade() == null ? null : Double.valueOf(cg1.getCalculatedGrade());
final Double calculatedGrade2 = cg2.getCalculatedGrade() == null ? null : Double.valueOf(cg2.getCalculatedGrade());
return new CompareToBuilder()
.append(gradeIndex1, gradeIndex2)
.append(calculatedGrade1, calculatedGrade2)
.toComparison();
}
@Override
public int compareTo(final ContainerID that) {
Preconditions.checkNotNull(that);
return new CompareToBuilder()
.append(this.getId(), that.getId())
.build();
}
@Override
public int compareTo(MatchPlayer o) {
return new CompareToBuilder()
.append(getMatch(), o.getMatch())
.append(getId(), o.getId())
.build();
}
@Override
public int compare(FeedEntryStatus o1, FeedEntryStatus o2) {
CompareToBuilder builder = new CompareToBuilder();
builder.append(o1.getEntry().getContent().getTitle(), o2.getEntry().getContent().getTitle());
builder.append(o1.getId(), o2.getId());
return builder.toComparison();
}
/**
* {@inheritDoc}
*/
@Override
public int compareTo(MgrSyncProductDto other) {
return new CompareToBuilder()
.append(!isRecommended(), !other.isRecommended())
.append(getNormalizedName(), other.getNormalizedName())
.append(getVersion(), other.getVersion())
.append(getArch(), other.getArch())
.append(getId(), other.getId())
.append(getBaseChannel().getLabel(), other.getBaseChannel().getLabel())
.toComparison();
}
/**
* {@inheritDoc}
*/
@Override
public int compareTo(SetupWizardProductDto other) {
return new CompareToBuilder()
// base products first
.append(!isBase(), !other.isBase())
.append(this.name, other.getName())
.append(this.arch, other.getArch())
.append(this.ident, other.getIdent())
.toComparison();
}
/**
* {@inheritDoc}
*/
public int compareTo(StateChange rhs) {
CompareToBuilder builder = new CompareToBuilder();
builder.append(getDate(), rhs.getDate());
builder.append(getId(), rhs.getId());
builder.append(this.getState(), rhs.getState());
builder.append(this.getUser(), rhs.getUser());
builder.append(this.getChangedBy(), rhs.getChangedBy());
return builder.toComparison();
}
@Override
public int compareTo(final GroupKey other)
{
return new CompareToBuilder()
.append(layerId, other.layerId)
.append(feature, other.feature)
// Sort by begin increasing
.append(begin, other.begin)
// Sort by end decreasing
.append(other.end, end)
.toComparison();
}
@Override
public int compareTo(CacheIndex that) {
CompareToBuilder comparator = new CompareToBuilder();
comparator.append(this.name, that.name);
comparator.append(this.value, that.value);
return comparator.toComparison();
}
@Override
public int compareTo(SailfishURI o) {
if(o == null) {
return 1;
}
CompareToBuilder builder = new CompareToBuilder();
builder.append(pluginAlias, o.pluginAlias, String.CASE_INSENSITIVE_ORDER);
builder.append(classAlias, o.classAlias, String.CASE_INSENSITIVE_ORDER);
builder.append(resourceName, o.resourceName, String.CASE_INSENSITIVE_ORDER);
return builder.toComparison();
}
@Override
public int compareTo(@NonNull Data another) {
return new CompareToBuilder()
.append(getName(), another.getName())
.append(getCode(), another.getCode())
.toComparison();
}
@Override
public int compare(String[] array1, String[] array2) {
CompareToBuilder compareToBuilder = new CompareToBuilder();
int minSize = Math.min(array1.length, array2.length);
if (minSize > 0 && array1.length != array2.length) {
// compare arrays like they have the same size
compareToBuilder.append(ArrayUtils.subarray(array1, 0, minSize),
ArrayUtils.subarray(array2, 0, minSize), String.CASE_INSENSITIVE_ORDER);
compareToBuilder.append(array1.length, array2.length);
} else {
compareToBuilder.append(array1, array2, String.CASE_INSENSITIVE_ORDER);
}
return compareToBuilder.toComparison();
}
@Override
public int compareTo(ServiceName o) {
if(o == null) {
return 1;
}
CompareToBuilder builder = new CompareToBuilder();
builder.append(environment, o.environment, String.CASE_INSENSITIVE_ORDER);
builder.append(serviceName, o.serviceName);
return builder.toComparison();
}
/**
* {@inheritDoc}
* Compares this instance with the <code>other</code> registered service based on
* evaluation order, name. The name comparison is case insensitive.
*
* @see #getEvaluationOrder()
*/
@Override
public int compareTo(final RegisteredService other) {
return new CompareToBuilder()
.append(this.getEvaluationOrder(), other.getEvaluationOrder())
.append(this.getName().toLowerCase(), other.getName().toLowerCase())
.append(this.getServiceId(), other.getServiceId())
.toComparison();
}
public static int compareWith(LinkedHashMap<String, Object> m1, LinkedHashMap<String, Object> m2,
GroupEntry groupEntry) {
CompareToBuilder compareToBuilder = new CompareToBuilder();
if (Objects.equals(OrderType.asc, groupEntry.getOrderType())) {
compareToBuilder.append(m1.get("group"), m2.get("group"));
} else {
compareToBuilder.append(m2.get("group"), m1.get("group"));
}
return compareToBuilder.toComparison();
}
public static int compareWith(Row o1, Row o2, List<OrderEntry> orderEntries) {
CompareToBuilder compareToBuilder = new CompareToBuilder();
for (OrderEntry en : orderEntries) {
if (Objects.equals(OrderType.asc, en.getOrderType())) {
compareToBuilder.append(o1.find(en.getColumn()), o2.find(en.getColumn()));
} else {
compareToBuilder.append(o2.find(en.getColumn()), o1.find(en.getColumn()));
}
}
return compareToBuilder.toComparison();
}
@Override
public int compareTo(MavenGav o) {
return new CompareToBuilder()
.append(this.groupId, o.groupId)
.append(this.artifactId, o.artifactId)
.append(this.type, o.type)
.append(this.classifier, o.classifier)
.append(this.version, o.version)
.toComparison();
}
@Override
public int compareTo(LinkableItem otherItem) {
if (!this.getName().equals(otherItem.getName())) {
if (!this.isCollapsible() && otherItem.isCollapsible()) {
return -1;
} else if (this.isCollapsible() && !otherItem.isCollapsible()) {
return 1;
}
}
return CompareToBuilder.reflectionCompare(this, otherItem, EXCLUDED_FIELDS);
}
@Override
public int compare(final User u1, final User u2) {
this.collator.setStrength(Collator.PRIMARY);
return new CompareToBuilder()
.append(u1.getFirstName(), u2.getFirstName(), this.collator)
.append(u1.getLastName(), u2.getLastName(), this.collator)
.toComparison();
}
@Override
public int compare(ScanResult lhs, ScanResult rhs) {
return new CompareToBuilder()
.append(lhs.BSSID, rhs.BSSID)
.append(lhs.level, rhs.level)
.toComparison();
}
@Override
public int compareTo(Meta o) {
CompareToBuilder builder = new CompareToBuilder();
builder.append(this.metric, o.metric);
builder.append(this.tagKey, o.tagKey);
builder.append(this.tagValue, o.tagValue);
return builder.toComparison();
}
/**
* Only compares grades
*/
@Override
public int compareTo(final GbGradeInfo o) {
return new CompareToBuilder()
.append(this.grade, o.getGrade())
.toComparison();
}
@Override
public int compareTo(Contest o) {
return new CompareToBuilder()
.append(endTime, o.endTime)
.append(startTime, o.startTime)
.append(id, o.id)
.toComparison();
}
@Override
public int compareTo(Team o) {
return new CompareToBuilder()
.append(rank, o.rank)
.append(score, o.score)
.toComparison();
}
@Override
public int compareTo(TimeSumsHolder another) {
if (another == null) {
return 1;
}
return new CompareToBuilder()
.append(getMonth(), another.getMonth())
.append(getWeek(), another.getWeek())
.append(getDay(), another.getDay())
.append(getTask(), another.getTask())
.toComparison();
}
@Override
public int compareTo( @NotNull MessagePair other )
{
return new CompareToBuilder()
.append( this.result, other.result )
.append( this.template, other.template )
.build();
}
@Override
public int compareTo(Change change) {
return new CompareToBuilder()
.append(propertyName, change.propertyName)
.append(state.ordinal(), change.state.ordinal())
.append(oldValue, change.oldValue)
.append(newValue, change.newValue).toComparison();
}
@Override
public int compare(final User u1, final User u2) {
this.collator.setStrength(Collator.PRIMARY);
return new CompareToBuilder()
.append(u1.getLastName(), u2.getLastName(), this.collator)
.append(u1.getFirstName(), u2.getFirstName(), this.collator)
.toComparison();
}
public int compareTo(RowIdImpl other) {
return new CompareToBuilder()
.append(getType(), other.getType())
.append(getPageNumber(), other.getPageNumber())
.append(getRowNumber(), other.getRowNumber())
.toComparison();
}