2 * Copyright (c) 2017. Developed by Hedgecode.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
17 package org.hedgecode.snooker.api;
20 * Types of Ranking Entity.
22 * @author Dmitry Samoshin aka gotty
24 public enum RankingType {
26 MoneyRankings (2013, Season.CURRENT_YEAR),
27 MoneySeedings (2013, Season.CURRENT_YEAR),
28 OneYearMoneyRankings (2013, Season.CURRENT_YEAR),
30 ProjectedMoneyRankings (2013, Season.CURRENT_YEAR),
31 ProjectedMoneySeedings (2013, Season.CURRENT_YEAR),
32 ProvOneYearMoneyRankings (2013, Season.CURRENT_YEAR),
33 ProjectedEndOfSeasonMoneySeedings (2014, Season.CURRENT_YEAR),
34 ProjectedGrandPrixMoneyRankings (2014, Season.CURRENT_YEAR),
35 ProjectedPCMoneyRankings (2016, Season.CURRENT_YEAR),
36 ProjectedWCMoneySeedings (2017, Season.CURRENT_YEAR),
38 PrevMoneyRankings (Season.CURRENT_YEAR - 1, Season.CURRENT_YEAR),
39 PrevMoneySeedings (Season.CURRENT_YEAR - 1, Season.CURRENT_YEAR),
40 PrevOneYearMoneyRankings (Season.CURRENT_YEAR - 1, Season.CURRENT_YEAR),
41 PrevOrderOfMerit (Season.CURRENT_YEAR - 1, Season.CURRENT_YEAR),
43 WorldGrandPrix2015Rankings (2014, 2014),
44 WorldGrandPrix2016Rankings (2015, 2015),
45 WorldGrandPrix2017Rankings (2017, 2018),
46 WorldGrandPrix2018Rankings (2018, 2018),
48 PC2017Rankings (2017, 2017),
49 PC2018Rankings (2018, 2018),
51 CombinedOrderofMerit2013 (2013, 2013),
52 CombinedOrderOfMerit2014 (2014, 2014),
53 CombinedOrderOfMerit2016 (2015, 2015),
55 Rankings (2010, 2013),
56 Seedings (2010, 2013),
57 OneYearRankings (2009, 2013),
59 OrderOfMerit (2010, 2015),
61 CombinedOrderofMerit (2013, 2015),
63 SeedingsAfterPTC6 (2011, 2011),
64 SeedingsAfterPTC12 (2011, 2011),
65 SeedingsAfterWelsh2012 (2011, 2011),
66 SeedingsAfterWorld2012 (2012, 2012),
67 SeedingsAfterUKPTC22012 (2012, 2012),
68 SeedingsAfterInternational2012 (2012, 2012),
69 ProjectedSeedings (2012, 2012),
70 SeedingsAfterWorld2013 (2012, 2012),
71 SeedingsAfterEPTC22013 (2013, 2013),
72 SeedingsAfterShanghaiMasters2013 (2013, 2013),
73 SeedingsAfterInternationalChampionship2013 (2013, 2013),
74 SeedingsAfterUKChampionship2013 (2013, 2013),
75 SeedingsAfterGermanMasters2014 (2013, 2013),
76 SeedingsAfterPTCFinals2014 (2013, 2013),
77 SeedingsAfterAustralian2014 (2014, 2014),
78 SeedingsAfterShanghai2014 (2014, 2014),
79 SeedingsAfterInternationalChampionship2014 (2014, 2014),
80 SeedingsAfterUKChampionship2014 (2014, 2014),
81 SeedingsAfterAPTC32015 (2014, 2014),
82 SeedingsAfterGermanMasters2015 (2014, 2014),
83 SeedingsAfterChinaOpen2015 (2014, 2014),
84 SeedingsAfterAustralian2015 (2015, 2015),
85 SeedingsAfterShanghai2015 (2015, 2015),
86 SeedingsAfterInternational2015 (2015, 2015),
87 SeedingsAfterUK2015 (2015, 2015),
88 SeedingsAfterEPTC52015 (2015, 2015),
89 SeedingsAfterGerman2016 (2015, 2015),
90 SeedingsAfterChina2016 (2015, 2015),
91 SeedingsAfterWorld2016 (2015, 2015),
92 SeedingsAfterWorldOpen2016 (2016, 2016),
93 SeedingsAfterPHC2016 (2016, 2016),
94 SeedingsAfterShanghai2016 (2016, 2016),
95 SeedingsAfterInternational2016 (2016, 2016),
96 SeedingsAfterUK2016 (2016, 2016),
97 SeedingsAfterScottish2016 (2016, 2016),
98 SeedingsAfterGerman2017 (2016, 2016),
99 SeedingsAfterChina2017 (2016, 2016),
100 SeedingsAfterWorld2017 (2017, 2017),
101 SeedingsAfterRiga2017 (2017, 2017),
102 SeedingsAfterIndian2017 (2017, 2017),
103 SeedingsAfterWorldOpen2017 (2017, 2017),
104 SeedingsAfterEuropean2017 (2017, 2017),
105 SeedingsAfterInternational2017 (2017, 2017),
106 SeedingsAfterNIO2017 (2017, 2017),
107 SeedingsAfterUK2017 (2017, 2017),
108 SeedingsAfterScottish2017 (2017, 2017),
109 SeedingsAfterGerman2018 (2017, 2017),
110 SeedingsAfterShootOut2018 (2017, 2017),
112 OrderOfMeritAfterPTC4 (2011, 2011),
113 OrderOfMeritAfterPTC8 (2011, 2011),
114 OrderOfMeritAfterPTC12 (2011, 2011),
115 OrderOfMeritAfterEPTC12012 (2012, 2012),
116 OrderOfMeritAfterEPTC32012 (2012, 2012),
117 OrderOfMeritAfterEPTC42012 (2012, 2012),
118 OrderOfMeritAfterEPTC12013 (2013, 2013),
119 OrderOfMeritAfterEPTC22013 (2013, 2013),
120 OrderOfMeritAfterEPTC42013 (2013, 2013),
121 OrderOfMeritAfterEPTC52013 (2013, 2013),
122 OrderOfMeritAfterEPTC62013 (2013, 2013),
123 OrderOfMeritAfterEPTC72013 (2013, 2013),
124 OrderOfMeritAfterEPTC82014 (2013, 2013),
125 OrderOfMeritAfterEPTC12014 (2014, 2014),
126 OrderOfMeritAfterEPTC22014 (2014, 2014),
127 OrderOfMeritAfterEPTC32014 (2014, 2014),
128 OrderOfMeritAfterEPTC42014 (2014, 2014),
129 OrderOfMeritAfterEPTC52014 (2014, 2014),
130 OrderOfMeritAfterEPTC12015 (2015, 2015),
131 OrderOfMeritAfterEPTC22015 (2015, 2015),
132 OrderOfMeritAfterEPTC32015 (2015, 2015),
133 OrderOfMeritAfterEPTC42015 (2015, 2015),
134 OrderOfMeritAfterEPTC52015 (2015, 2015),
136 APTCOrderOfMeritAfterAPTC22012 (2012, 2012),
137 APTCOrderOfMeritAfterAPTC12013 (2013, 2013),
138 APTCOrderOfMeritAfterAPTC22013 (2013, 2013),
139 APTCOrderOfMeritAfterAPTC32013 (2013, 2013),
140 APTCOrderOfMeritAfterAPTC12014 (2014, 2014),
141 APTCOrderOfMeritAfterAPTC22014 (2014, 2014),
142 APTCOrderOfMeritAfterAPTC12015 (2014, 2014);
145 private int startYear;
148 RankingType(int startYear, int endYear) {
149 this.startYear = startYear;
150 this.endYear = endYear;
153 public static RankingType byName(String name) {
154 for (RankingType type : RankingType.values()) {
155 if (type.name().equals(name))
161 public static RankingType byNameAndYear(String name, int year) {
162 for (RankingType type : RankingType.values()) {
163 if (type.name().equals(name))
164 return type.isCorrectYear(year) ? type : null;
169 public boolean isCorrectYear(int year) {
170 return year >= startYear && year <= endYear;