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