/*
- * 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.
package org.hedgecode.snooker.json;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
*
* @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);
}
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
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
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
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