/** * 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.HashMap; import java.util.Map; /** * This class is intended to be used with either SortedSets or SortedMaps. The keys will be sorted * on the order which they are inserted (and hence compared). Caveat: If an item is removed and * readded, it will retain the old order * * @deprecated this is not needed. Use a LinkedHashSet object instead of this class. */ public class InsertedOrderComparator implements Comparator<String> { Map<String, Integer> insertedOrder = new HashMap<String, Integer>(); public int compare(String a1, String a2) { Integer a1Order = insertedOrder.get(a1); Integer a2Order = insertedOrder.get(a2); if (a2Order == null) { a2Order = insertedOrder.size(); insertedOrder.put(a2, a2Order); } if (a1Order == null) { a1Order = insertedOrder.size(); insertedOrder.put(a1, a1Order); } return a1Order.compareTo(a2Order); } }