[LIB-2] Add snooker-score-api source files
[snooker-score-api.git] / src / main / java / org / hedgecode / snooker / json / JsonMatch.java
1 /*
2  * Copyright (c) 2017. Developed by Hedgecode.
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
17 package org.hedgecode.snooker.json;
18
19 import java.util.Date;
20
21 import com.google.gson.annotations.Expose;
22 import com.google.gson.annotations.SerializedName;
23
24 import org.hedgecode.snooker.api.Event;
25 import org.hedgecode.snooker.api.Match;
26 import org.hedgecode.snooker.api.Player;
27
28 /**
29  * Match Entity to JSON deserialize.
30  *
31  * @author Dmitry Samoshin aka gotty
32  */
33 public class JsonMatch extends JsonIdEntity implements Match {
34
35     @SerializedName("ID")
36     private int matchId;
37     @SerializedName("EventID")
38     private int eventId;
39     @Expose
40     private Event event;
41     @SerializedName("Round")
42     private int round;
43     @SerializedName("Number")
44     private int number;
45     @SerializedName("Player1ID")
46     private int player1Id;
47     @Expose
48     private Player player1;
49     @SerializedName("Score1")
50     private int score1;
51     @SerializedName("Walkover1")
52     private boolean walkover1;
53     @SerializedName("Player2ID")
54     private int player2Id;
55     @Expose
56     private Player player2;
57     @SerializedName("Score2")
58     private int score2;
59     @SerializedName("Walkover2")
60     private boolean walkover2;
61     @SerializedName("WinnerID")
62     private int winnerId;
63     @Expose
64     private Player winner;
65     @SerializedName("Unfinished")
66     private boolean unfinished;
67     @SerializedName("OnBreak")
68     private boolean onBreak;
69     @SerializedName("WorldSnookerID")
70     private int worldSnookerId;
71     @SerializedName("LiveUrl")
72     private String liveUrl;
73     @SerializedName("DetailsUrl")
74     private String detailsUrl;
75     @SerializedName("PointsDropped")
76     private boolean pointsDropped;
77     @SerializedName("ShowCommonNote")
78     private boolean showCommonNote;
79     @SerializedName("Estimated")
80     private boolean estimated;
81     @SerializedName("Type")
82     private int type;
83     @SerializedName("TableNo")
84     private int tableNo;
85     @SerializedName("VideoURL")
86     private String videoURL;
87     @SerializedName("InitDate")
88     private Date initDate;
89     @SerializedName("ModDate")
90     private Date modDate;
91     @SerializedName("StartDate")
92     private Date startDate;
93     @SerializedName("EndDate")
94     private Date endDate;
95     @SerializedName("ScheduledDate")
96     private Date scheduledDate;
97     @SerializedName("FrameScores")
98     private String frameScores;
99     @SerializedName("Sessions")
100     private String sessions;
101     @SerializedName("Note")
102     private String  note;
103     @SerializedName("ExtendedNote")
104     private String  extendedNote;
105
106     @Override
107     public int matchId() {
108         return matchId;
109     }
110
111     @Override
112     public int eventId() {
113         return eventId;
114     }
115
116     @Override
117     public Event event() {
118         return event;
119     }
120
121     public void setEvent(Event event) {
122         if (event != null && eventId == event.eventId())
123             this.event = event;
124     }
125
126     @Override
127     public int round() {
128         return round;
129     }
130
131     @Override
132     public int number() {
133         return number;
134     }
135
136     @Override
137     public int player1Id() {
138         return player1Id;
139     }
140
141     @Override
142     public Player player1() {
143         return player1;
144     }
145
146     public void setPlayer1(Player player) {
147         if (player != null && player1Id == player.playerId())
148             this.player1 = player;
149     }
150
151     @Override
152     public int score1() {
153         return score1;
154     }
155
156     @Override
157     public boolean walkover1() {
158         return walkover1;
159     }
160
161     @Override
162     public int player2Id() {
163         return player2Id;
164     }
165
166     @Override
167     public Player player2() {
168         return player2;
169     }
170
171     public void setPlayer2(Player player) {
172         if (player != null && player2Id == player.playerId())
173             this.player2 = player;
174     }
175
176     @Override
177     public int score2() {
178         return score2;
179     }
180
181     @Override
182     public boolean walkover2() {
183         return walkover2;
184     }
185
186     @Override
187     public int winnerId() {
188         return winnerId;
189     }
190
191     @Override
192     public Player winner() {
193         return winner;
194     }
195
196     public void setWinner(Player winner) {
197         if (winner != null && winnerId == winner.playerId())
198             this.winner = winner;
199     }
200
201     @Override
202     public boolean unfinished() {
203         return unfinished;
204     }
205
206     @Override
207     public boolean onBreak() {
208         return onBreak;
209     }
210
211     @Override
212     public int worldSnookerId() {
213         return worldSnookerId;
214     }
215
216     @Override
217     public String liveUrl() {
218         return liveUrl;
219     }
220
221     @Override
222     public String detailsUrl() {
223         return detailsUrl;
224     }
225
226     @Override
227     public boolean pointsDropped() {
228         return pointsDropped;
229     }
230
231     @Override
232     public boolean showCommonNote() {
233         return showCommonNote;
234     }
235
236     @Override
237     public boolean estimated() {
238         return estimated;
239     }
240
241     @Override
242     public int type() {
243         return type;
244     }
245
246     @Override
247     public int tableNo() {
248         return tableNo;
249     }
250
251     @Override
252     public String videoURL() {
253         return videoURL;
254     }
255
256     @Override
257     public Date initDate() {
258         return initDate;
259     }
260
261     @Override
262     public Date modDate() {
263         return modDate;
264     }
265
266     @Override
267     public Date startDate() {
268         return startDate;
269     }
270
271     @Override
272     public Date endDate() {
273         return endDate;
274     }
275
276     @Override
277     public Date scheduledDate() {
278         return scheduledDate;
279     }
280
281     @Override
282     public String frameScores() {
283         return frameScores;
284     }
285
286     @Override
287     public String sessions() {
288         return sessions;
289     }
290
291     @Override
292     public String note() {
293         return note;
294     }
295
296     @Override
297     public String extendedNote() {
298         return extendedNote;
299     }
300
301     @Override
302     public int getId() {
303         return matchId;
304     }
305
306 }