1 /* 2 * Copyright 2006 - 2012 Christina Bohk and Roland Ewald 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package p3j.pppm.parameters; 17 18 import java.util.Comparator; 19 20 /** 21 * 22 * Enumeration of the populations that are distinguished. Each {@link Parameter} 23 * is assigned with a population type, which facilitates ordering and 24 * presentation on the GUI. 25 * 26 * Created: August 24, 2008 27 * 28 * @author Christina Bohk 29 * @author Roland Ewald 30 * 31 */ 32 public enum Population implements Comparator<Population> { 33 34 /** 35 * The native population. 36 */ 37 NATIVES, 38 39 /** 40 * The emigrant population. 41 */ 42 EMIGRANTS, 43 44 /** 45 * The immigrant population. 46 */ 47 IMMIGRANTS; 48 49 @Override 50 public int compare(Population p1, Population p2) { 51 if (p1.equals(p2)) { 52 return 0; 53 } 54 if (p1 == NATIVES || (p1 == EMIGRANTS && p2 == IMMIGRANTS)) { 55 return -1; 56 } 57 return 1; 58 } 59 60 @Override 61 public String toString() { 62 switch (this) { 63 case NATIVES: 64 return "Natives"; 65 case EMIGRANTS: 66 return "Emigrants"; 67 case IMMIGRANTS: 68 return "Immigrants"; 69 default: 70 return "Unknown"; 71 } 72 } 73 74 }