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),
36 PrevMoneyRankings (Season.CURRENT_YEAR - 1, Season.CURRENT_YEAR),
37 PrevMoneySeedings (Season.CURRENT_YEAR - 1, Season.CURRENT_YEAR),
38 PrevOneYearMoneyRankings (Season.CURRENT_YEAR - 1, Season.CURRENT_YEAR),
39 PrevOrderOfMerit (Season.CURRENT_YEAR - 1, Season.CURRENT_YEAR),
41 WorldGrandPrix2015Rankings (2014, 2014),
42 WorldGrandPrix2016Rankings (2015, 2015),
44 CombinedOrderofMerit2013 (2013, 2013),
45 CombinedOrderOfMerit2014 (2014, 2014),
46 CombinedOrderOfMerit2016 (2015, 2015),
48 Rankings (2010, 2013),
49 Seedings (2010, 2013),
50 OneYearRankings (2009, 2013),
52 OrderOfMerit (2010, 2015),
54 CombinedOrderofMerit (2013, 2015),
56 SeedingsAfterPTC6 (2011, 2011),
57 SeedingsAfterPTC12 (2011, 2011),
58 SeedingsAfterWelsh2012 (2011, 2011),
59 SeedingsAfterWorld2012 (2012, 2012),
60 SeedingsAfterUKPTC22012 (2012, 2012),
61 SeedingsAfterInternational2012 (2012, 2012),
62 ProjectedSeedings (2012, 2012),
63 SeedingsAfterWorld2013 (2012, 2012),
64 SeedingsAfterEPTC22013 (2013, 2013),
65 SeedingsAfterShanghaiMasters2013 (2013, 2013),
66 SeedingsAfterInternationalChampionship2013 (2013, 2013),
67 SeedingsAfterUKChampionship2013 (2013, 2013),
68 SeedingsAfterGermanMasters2014 (2013, 2013),
69 SeedingsAfterPTCFinals2014 (2013, 2013),
70 SeedingsAfterAustralian2014 (2014, 2014),
71 SeedingsAfterShanghai2014 (2014, 2014),
72 SeedingsAfterInternationalChampionship2014 (2014, 2014),
73 SeedingsAfterUKChampionship2014 (2014, 2014),
74 SeedingsAfterAPTC32015 (2014, 2014),
75 SeedingsAfterGermanMasters2015 (2014, 2014),
76 SeedingsAfterChinaOpen2015 (2014, 2014),
77 SeedingsAfterAustralian2015 (2015, 2015),
78 SeedingsAfterShanghai2015 (2015, 2015),
79 SeedingsAfterInternational2015 (2015, 2015),
80 SeedingsAfterUK2015 (2015, 2015),
81 SeedingsAfterEPTC52015 (2015, 2015),
82 SeedingsAfterGerman2016 (2015, 2015),
83 SeedingsAfterChina2016 (2015, 2015),
84 SeedingsAfterWorld2016 (2015, 2015),
86 OrderOfMeritAfterPTC4 (2011, 2011),
87 OrderOfMeritAfterPTC8 (2011, 2011),
88 OrderOfMeritAfterPTC12 (2011, 2011),
89 OrderOfMeritAfterEPTC12012 (2012, 2012),
90 OrderOfMeritAfterEPTC32012 (2012, 2012),
91 OrderOfMeritAfterEPTC42012 (2012, 2012),
92 OrderOfMeritAfterEPTC12013 (2013, 2013),
93 OrderOfMeritAfterEPTC22013 (2013, 2013),
94 OrderOfMeritAfterEPTC42013 (2013, 2013),
95 OrderOfMeritAfterEPTC52013 (2013, 2013),
96 OrderOfMeritAfterEPTC62013 (2013, 2013),
97 OrderOfMeritAfterEPTC72013 (2013, 2013),
98 OrderOfMeritAfterEPTC82014 (2013, 2013),
99 OrderOfMeritAfterEPTC12014 (2014, 2014),
100 OrderOfMeritAfterEPTC22014 (2014, 2014),
101 OrderOfMeritAfterEPTC32014 (2014, 2014),
102 OrderOfMeritAfterEPTC42014 (2014, 2014),
103 OrderOfMeritAfterEPTC52014 (2014, 2014),
104 OrderOfMeritAfterEPTC12015 (2015, 2015),
105 OrderOfMeritAfterEPTC22015 (2015, 2015),
106 OrderOfMeritAfterEPTC32015 (2015, 2015),
107 OrderOfMeritAfterEPTC42015 (2015, 2015),
108 OrderOfMeritAfterEPTC52015 (2015, 2015),
110 APTCOrderOfMeritAfterAPTC22012 (2012, 2012),
111 APTCOrderOfMeritAfterAPTC12013 (2013, 2013),
112 APTCOrderOfMeritAfterAPTC22013 (2013, 2013),
113 APTCOrderOfMeritAfterAPTC32013 (2013, 2013),
114 APTCOrderOfMeritAfterAPTC12014 (2014, 2014),
115 APTCOrderOfMeritAfterAPTC22014 (2014, 2014),
116 APTCOrderOfMeritAfterAPTC12015 (2014, 2014);
119 private int startYear;
122 RankingType(int startYear, int endYear) {
123 this.startYear = startYear;
124 this.endYear = endYear;
127 public static RankingType byName(String name) {
128 for (RankingType type : RankingType.values()) {
129 if (type.name().equals(name))
135 public static RankingType byNameAndYear(String name, int year) {
136 for (RankingType type : RankingType.values()) {
137 if (type.name().equals(name))
138 return type.isCorrectYear(year) ? type : null;
143 public boolean isCorrectYear(int year) {
144 return year >= startYear && year <= endYear;