/**
* The contents of this file are subject to the OpenMRS Public License
* Version 1.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://license.openmrs.org
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
* License for the specific language governing rights and limitations
* under the License.
*
* Copyright (C) OpenMRS, LLC. All Rights Reserved.
*/
package org.openmrs.util;
import java.util.Comparator;
import java.util.Locale;
import org.openmrs.OpenmrsMetadata;
/**
* A comparator that sorts first based on non-retired, and second based on name. (Locale is
* currently not used, but will be when we add the ability to localize metadata.)
* @since 1.7
*/
public class MetadataComparator implements Comparator<OpenmrsMetadata> {
/**
* @param locale
*/
public MetadataComparator(Locale locale) {
// locale is currently not used
}
/**
* @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
*/
@Override
public int compare(OpenmrsMetadata left, OpenmrsMetadata right) {
int temp = OpenmrsUtil.compareWithNullAsLowest(left.isRetired(), right.isRetired());
if (temp == 0)
temp = OpenmrsUtil.compareWithNullAsLowest(left.getName(), right.getName());
return temp;
}
}