package rocks.inspectit.shared.cs.communication.comparator; import java.util.Comparator; import rocks.inspectit.shared.all.cmr.service.ICachedDataService; import rocks.inspectit.shared.all.communication.data.InvocationAwareData; /** * Comparators for the {@link InvocationAwareData}. * * @author Ivan Senic * */ public enum InvocationAwareDataComparatorEnum implements IDataComparator<InvocationAwareData>, Comparator<InvocationAwareData> { /** * Sorting by invocation affiliation percentage. */ INVOCATION_AFFILIATION; /** * {@inheritDoc} */ @Override public int compare(InvocationAwareData o1, InvocationAwareData o2, ICachedDataService cachedDataService) { return compare(o1, o2); } /** * {@inheritDoc} */ @Override public int compare(InvocationAwareData o1, InvocationAwareData o2) { switch (this) { case INVOCATION_AFFILIATION: return Double.compare(o1.getInvocationAffiliationPercentage(), o2.getInvocationAffiliationPercentage()); default: return 0; } } }