You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

65 lines
2.6 KiB

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());
}
}