[LIB-5] Collection empty objects,reporting and serializable
[snooker-score-api.git] / src / main / java / org / hedgecode / snooker / json / JsonPlayer.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.SerializedName;
22
23 import org.hedgecode.snooker.api.Player;
24
25 /**
26  * Player Entity to JSON deserialize.
27  *
28  * @author Dmitry Samoshin aka gotty
29  */
30 public class JsonPlayer extends JsonIdEntity implements Player {
31
32     @SerializedName("ID")
33     private int playerId;
34     @SerializedName("Type")
35     private int type;
36     @SerializedName("FirstName")
37     private String firstName;
38     @SerializedName("MiddleName")
39     private String middleName;
40     @SerializedName("LastName")
41     private String lastName;
42     @SerializedName("TeamName")
43     private String teamName;
44     @SerializedName("TeamNumber")
45     private int teamNumber;
46     @SerializedName("TeamSeason")
47     private int teamSeason;
48     @SerializedName("ShortName")
49     private String shortName;
50     @SerializedName("Nationality")
51     private String nationality;
52     @SerializedName("Sex")
53     private String sex;
54     @SerializedName("BioPage")
55     private String bioPage;
56     @SerializedName("Born")
57     private Date born;
58     @SerializedName("Twitter")
59     private String twitter;
60     @SerializedName("SurnameFirst")
61     private boolean surnameFirst;
62     @SerializedName("License")
63     private String license;
64     @SerializedName("Club")
65     private String club;
66     @SerializedName("URL")
67     private String url;
68     @SerializedName("Photo")
69     private String photo;
70     @SerializedName("Info")
71     private String info;
72
73     protected JsonPlayer() {
74     }
75
76     @Override
77     public int playerId() {
78         return playerId;
79     }
80
81     @Override
82     public int type() {
83         return type;
84     }
85
86     @Override
87     public String firstName() {
88         return firstName;
89     }
90
91     @Override
92     public String middleName() {
93         return middleName;
94     }
95
96     @Override
97     public String lastName() {
98         return lastName;
99     }
100
101     @Override
102     public String teamName() {
103         return teamName;
104     }
105
106     @Override
107     public int teamNumber() {
108         return teamNumber;
109     }
110
111     @Override
112     public int teamSeason() {
113         return teamSeason;
114     }
115
116     @Override
117     public String shortName() {
118         return shortName;
119     }
120
121     @Override
122     public String nationality() {
123         return nationality;
124     }
125
126     @Override
127     public String sex() {
128         return sex;
129     }
130
131     @Override
132     public String bioPage() {
133         return bioPage;
134     }
135
136     @Override
137     public Date born() {
138         return born == null
139                 ? null
140                 : new Date(born.getTime());
141     }
142
143     @Override
144     public String twitter() {
145         return twitter;
146     }
147
148     @Override
149     public boolean surnameFirst() {
150         return surnameFirst;
151     }
152
153     @Override
154     public String license() {
155         return license;
156     }
157
158     @Override
159     public String club() {
160         return club;
161     }
162
163     @Override
164     public String url() {
165         return url;
166     }
167
168     @Override
169     public String photo() {
170         return photo;
171     }
172
173     @Override
174     public String info() {
175         return info;
176     }
177
178     @Override
179     public int getId() {
180         return playerId;
181     }
182
183 }