|
package app.utils;
|
|
|
|
import app.data.entity.Match;
|
|
import app.data.entity.Matchday;
|
|
import app.data.entity.Player;
|
|
import app.data.entity.Season;
|
|
import org.springframework.lang.NonNull;
|
|
|
|
public class EntityStringUtils {
|
|
private EntityStringUtils() {
|
|
}
|
|
|
|
public static String getPlayerString(Player player) {
|
|
return String.format("%s (%s)", player.getName(), player.getNickname());
|
|
}
|
|
|
|
public static String getPlayerStringForURL(Player player) {
|
|
return player.getNickname().toLowerCase();
|
|
}
|
|
|
|
public static String getSeasonString(@NonNull Season season) {
|
|
String string = season.getYearStart().toString();
|
|
if (!season.getYearEnd().equals(season.getYearStart())) {
|
|
string += "-" + season.getYearEnd().toString();
|
|
}
|
|
return string;
|
|
}
|
|
|
|
public static String getObjectString(Object object) {
|
|
if (object instanceof Player) return getPlayerString((Player) object);
|
|
if (object instanceof Season) return getSeasonString((Season) object);
|
|
if (object instanceof Matchday) return getMatchdayString((Matchday) object);
|
|
if (object instanceof Match) return getMatchString((Match) object);
|
|
throw new UnsupportedOperationException(String.format("Cannot get Object String for Type %s!", object.getClass().getSimpleName()));
|
|
}
|
|
|
|
public static String getObjectStringForURL(Object object) {
|
|
if (object instanceof Player) return getPlayerStringForURL((Player) object);
|
|
if (object instanceof Season) return getSeasonStringForURL((Season) object);
|
|
if (object instanceof Matchday) return getMatchdayStringForURL((Matchday) object);
|
|
if (object instanceof Match) return getMatchStringForURL((Match) object);
|
|
throw new UnsupportedOperationException(String.format("Cannot get Object String for URL for Type %s!", object.getClass().getSimpleName()));
|
|
}
|
|
|
|
public static String getSeasonStringForURL(Season season) {
|
|
return getSeasonString(season);
|
|
}
|
|
|
|
public static String getMatchdayString(Matchday matchday) {
|
|
return matchday.getNumber().toString();
|
|
}
|
|
|
|
public static String getMatchdayStringForURL(Matchday matchday) {
|
|
return matchday.getNumber().toString();
|
|
}
|
|
|
|
public static String getMatchString(Match match) {
|
|
return String.format("%s vs. %s", match.getPlayer1().getNickname(), match.getPlayer2().getNickname());
|
|
}
|
|
|
|
public static String getMatchStringForURL(Match match) {
|
|
return String.format("%s-vs-%s", match.getPlayer1().getNickname().toLowerCase(), match.getPlayer2().getNickname().toLowerCase());
|
|
}
|
|
|
|
}
|