View Javadoc

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  }