[LIB-10] SerialVersionUID for Serializable classes
[snooker-score-api.git] / src / main / java / org / hedgecode / snooker / json / JsonPlayers.java
index 26c68e2..2c4e65f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017. Developed by Hedgecode.
+ * Copyright (c) 2017-2020. 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.
@@ -16,6 +16,7 @@
 
 package org.hedgecode.snooker.json;
 
+import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -28,13 +29,17 @@ import org.hedgecode.snooker.compare.PlayerComparators;
  *
  * @author Dmitry Samoshin aka gotty
  */
-public class JsonPlayers extends JsonCollectionEntity<Player> implements Players {
+public class JsonPlayers extends JsonCollectionEntity<Player> implements Players, Serializable {
 
-    protected JsonPlayers(Player[] entities) {
+    private static final long serialVersionUID = 7472642207778686468L;
+
+    private static final JsonPlayers EMPTY = new JsonPlayers(new Player[0]);
+
+    JsonPlayers(Player[] entities) {
         super(entities);
     }
 
-    protected JsonPlayers(List<Player> entities) {
+    JsonPlayers(List<Player> entities) {
         super(entities);
     }
 
@@ -44,7 +49,7 @@ public class JsonPlayers extends JsonCollectionEntity<Player> implements Players
         for (Player player : this)
             if (player.type() == type)
                 players.add(player);
-        return players.isEmpty() ? null : new JsonPlayers(players);
+        return players.isEmpty() ? EMPTY : new JsonPlayers(players);
     }
 
     @Override
@@ -53,7 +58,7 @@ public class JsonPlayers extends JsonCollectionEntity<Player> implements Players
         for (Player player : this)
             if (player.shortName().contains(name))
                 players.add(player);
-        return players.isEmpty() ? null : new JsonPlayers(players);
+        return players.isEmpty() ? EMPTY : new JsonPlayers(players);
     }
 
     @Override
@@ -62,7 +67,7 @@ public class JsonPlayers extends JsonCollectionEntity<Player> implements Players
         for (Player player : this)
             if (player.nationality().equals(nationality))
                 players.add(player);
-        return players.isEmpty() ? null : new JsonPlayers(players);
+        return players.isEmpty() ? EMPTY : new JsonPlayers(players);
     }
 
     @Override
@@ -71,7 +76,7 @@ public class JsonPlayers extends JsonCollectionEntity<Player> implements Players
         for (Player player : this)
             if (player.nationality().equals(sex))
                 players.add(player);
-        return players.isEmpty() ? null : new JsonPlayers(players);
+        return players.isEmpty() ? EMPTY : new JsonPlayers(players);
     }
 
     @Override