New methods returning a map of all editions per type.

This method is used to populate the "Sets" advanced filters in UI (so far, desktop only)
This commit is contained in:
leriomaggio
2021-06-21 11:43:51 +01:00
parent 844360fb34
commit 3ba464665e

View File

@@ -1,20 +1,12 @@
package forge; package forge;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.*;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import com.google.common.base.Predicate; import com.google.common.base.Predicate;
import forge.card.CardDb; import forge.card.*;
import forge.card.CardDb.CardRequest; import forge.card.CardDb.CardRequest;
import forge.card.CardEdition;
import forge.card.CardRules;
import forge.card.PrintSheet;
import forge.item.BoosterBox; import forge.item.BoosterBox;
import forge.item.FatPack; import forge.item.FatPack;
import forge.item.PaperCard; import forge.item.PaperCard;
@@ -174,6 +166,22 @@ public class StaticData {
return sortedEditions; return sortedEditions;
} }
private TreeMap<CardEdition.Type, List<CardEdition>> editionsTypeMap;
public final Map<CardEdition.Type, List<CardEdition>> getEditionsTypeMap(){
if (editionsTypeMap == null){
editionsTypeMap = new TreeMap<>();
for (CardEdition.Type editionType : CardEdition.Type.values()){
editionsTypeMap.put(editionType, new ArrayList<>());
}
for (CardEdition edition : this.getSortedEditions()){
CardEdition.Type key = edition.getType();
List<CardEdition> editionsOfType = editionsTypeMap.get(key);
editionsOfType.add(edition);
}
}
return editionsTypeMap;
}
public CardEdition getCardEdition(String setCode){ public CardEdition getCardEdition(String setCode){
CardEdition edition = this.editions.get(setCode); CardEdition edition = this.editions.get(setCode);
if (edition == null) // try custom editions if (edition == null) // try custom editions