package foundation.variant.provider; public class VariantProviderInfo implements Comparable { private String typeCode; private String variantName; private Class clazz; public VariantProviderInfo(String typeCode, String variantName, Class clazz) { this.typeCode = typeCode; this.variantName = variantName; this.clazz = clazz; } @Override public int compareTo(VariantProviderInfo another) { if (another == null) { return 1; } String thisProvider = clazz.getName(); String otherProvider = another.clazz.getName(); if (thisProvider.equals(otherProvider)) { return variantName.compareTo(another.variantName); } return thisProvider.compareTo(otherProvider); } public String getTypeCode() { return typeCode; } public String getVariantName() { return variantName; } public Class getClazz() { return clazz; } public String getClassName() { return clazz.getName(); } }