I'm currently getting my project set up to use Java 8. Due to restrictions this is the current highest version of Java I can run. When converting to Java down from my previous Java 11 configuration I ran into the following issue:
playlistDetailsTable.setRowFactory(tv -> new TableRow<>() {
^
reason: '<>' with anonymous inner classes is not supported in -source 8
(use -source 9 or higher to enable '<>' with anonymous inner classes)
where T is a type-variable:
T extends Object declared in class TableRow
Here is the current block of code that it is failing on. This merely higlights a table row iff a playlist has been Retired.
playlistDetailsTable.setRowFactory(tv -> new TableRow<>() {
@Override
protected void updateItem(Map item, boolean empty) {
super.updateItem(item, empty);
ObservableList<String> styles = getStyleClass();
if (item == null ) {
setStyle("");
} else {
final String currentPlaylistRow = (String)item.get(PlaylistBreakdownEnum.PLAYLIST.getColName()) ;
final String cleanPlaylistString = currentPlaylistRow.replaceAll("\\(.*\\)", "").stripTrailing();
if (PlaylistEnum.getEnumByPlaylist(cleanPlaylistString).getRetired()) {
getStyleClass().add("retired-row");
}
else {
getStyleClass().removeAll("retired-row");
}
}
}
});
Does anyone know how to effective go about fixing this?