[LIB-2] Add snooker-score-api source files
[snooker-score-api.git] / src / main / java / org / hedgecode / snooker / json / JsonMatch.java
diff --git a/src/main/java/org/hedgecode/snooker/json/JsonMatch.java b/src/main/java/org/hedgecode/snooker/json/JsonMatch.java
new file mode 100644 (file)
index 0000000..2731565
--- /dev/null
@@ -0,0 +1,306 @@
+/*
+ * Copyright (c) 2017. Developed by Hedgecode.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.hedgecode.snooker.json;
+
+import java.util.Date;
+
+import com.google.gson.annotations.Expose;
+import com.google.gson.annotations.SerializedName;
+
+import org.hedgecode.snooker.api.Event;
+import org.hedgecode.snooker.api.Match;
+import org.hedgecode.snooker.api.Player;
+
+/**
+ * Match Entity to JSON deserialize.
+ *
+ * @author Dmitry Samoshin aka gotty
+ */
+public class JsonMatch extends JsonIdEntity implements Match {
+
+    @SerializedName("ID")
+    private int matchId;
+    @SerializedName("EventID")
+    private int eventId;
+    @Expose
+    private Event event;
+    @SerializedName("Round")
+    private int round;
+    @SerializedName("Number")
+    private int number;
+    @SerializedName("Player1ID")
+    private int player1Id;
+    @Expose
+    private Player player1;
+    @SerializedName("Score1")
+    private int score1;
+    @SerializedName("Walkover1")
+    private boolean walkover1;
+    @SerializedName("Player2ID")
+    private int player2Id;
+    @Expose
+    private Player player2;
+    @SerializedName("Score2")
+    private int score2;
+    @SerializedName("Walkover2")
+    private boolean walkover2;
+    @SerializedName("WinnerID")
+    private int winnerId;
+    @Expose
+    private Player winner;
+    @SerializedName("Unfinished")
+    private boolean unfinished;
+    @SerializedName("OnBreak")
+    private boolean onBreak;
+    @SerializedName("WorldSnookerID")
+    private int worldSnookerId;
+    @SerializedName("LiveUrl")
+    private String liveUrl;
+    @SerializedName("DetailsUrl")
+    private String detailsUrl;
+    @SerializedName("PointsDropped")
+    private boolean pointsDropped;
+    @SerializedName("ShowCommonNote")
+    private boolean showCommonNote;
+    @SerializedName("Estimated")
+    private boolean estimated;
+    @SerializedName("Type")
+    private int type;
+    @SerializedName("TableNo")
+    private int tableNo;
+    @SerializedName("VideoURL")
+    private String videoURL;
+    @SerializedName("InitDate")
+    private Date initDate;
+    @SerializedName("ModDate")
+    private Date modDate;
+    @SerializedName("StartDate")
+    private Date startDate;
+    @SerializedName("EndDate")
+    private Date endDate;
+    @SerializedName("ScheduledDate")
+    private Date scheduledDate;
+    @SerializedName("FrameScores")
+    private String frameScores;
+    @SerializedName("Sessions")
+    private String sessions;
+    @SerializedName("Note")
+    private String  note;
+    @SerializedName("ExtendedNote")
+    private String  extendedNote;
+
+    @Override
+    public int matchId() {
+        return matchId;
+    }
+
+    @Override
+    public int eventId() {
+        return eventId;
+    }
+
+    @Override
+    public Event event() {
+        return event;
+    }
+
+    public void setEvent(Event event) {
+        if (event != null && eventId == event.eventId())
+            this.event = event;
+    }
+
+    @Override
+    public int round() {
+        return round;
+    }
+
+    @Override
+    public int number() {
+        return number;
+    }
+
+    @Override
+    public int player1Id() {
+        return player1Id;
+    }
+
+    @Override
+    public Player player1() {
+        return player1;
+    }
+
+    public void setPlayer1(Player player) {
+        if (player != null && player1Id == player.playerId())
+            this.player1 = player;
+    }
+
+    @Override
+    public int score1() {
+        return score1;
+    }
+
+    @Override
+    public boolean walkover1() {
+        return walkover1;
+    }
+
+    @Override
+    public int player2Id() {
+        return player2Id;
+    }
+
+    @Override
+    public Player player2() {
+        return player2;
+    }
+
+    public void setPlayer2(Player player) {
+        if (player != null && player2Id == player.playerId())
+            this.player2 = player;
+    }
+
+    @Override
+    public int score2() {
+        return score2;
+    }
+
+    @Override
+    public boolean walkover2() {
+        return walkover2;
+    }
+
+    @Override
+    public int winnerId() {
+        return winnerId;
+    }
+
+    @Override
+    public Player winner() {
+        return winner;
+    }
+
+    public void setWinner(Player winner) {
+        if (winner != null && winnerId == winner.playerId())
+            this.winner = winner;
+    }
+
+    @Override
+    public boolean unfinished() {
+        return unfinished;
+    }
+
+    @Override
+    public boolean onBreak() {
+        return onBreak;
+    }
+
+    @Override
+    public int worldSnookerId() {
+        return worldSnookerId;
+    }
+
+    @Override
+    public String liveUrl() {
+        return liveUrl;
+    }
+
+    @Override
+    public String detailsUrl() {
+        return detailsUrl;
+    }
+
+    @Override
+    public boolean pointsDropped() {
+        return pointsDropped;
+    }
+
+    @Override
+    public boolean showCommonNote() {
+        return showCommonNote;
+    }
+
+    @Override
+    public boolean estimated() {
+        return estimated;
+    }
+
+    @Override
+    public int type() {
+        return type;
+    }
+
+    @Override
+    public int tableNo() {
+        return tableNo;
+    }
+
+    @Override
+    public String videoURL() {
+        return videoURL;
+    }
+
+    @Override
+    public Date initDate() {
+        return initDate;
+    }
+
+    @Override
+    public Date modDate() {
+        return modDate;
+    }
+
+    @Override
+    public Date startDate() {
+        return startDate;
+    }
+
+    @Override
+    public Date endDate() {
+        return endDate;
+    }
+
+    @Override
+    public Date scheduledDate() {
+        return scheduledDate;
+    }
+
+    @Override
+    public String frameScores() {
+        return frameScores;
+    }
+
+    @Override
+    public String sessions() {
+        return sessions;
+    }
+
+    @Override
+    public String note() {
+        return note;
+    }
+
+    @Override
+    public String extendedNote() {
+        return extendedNote;
+    }
+
+    @Override
+    public int getId() {
+        return matchId;
+    }
+
+}