MCPcopy Create free account
hub / github.com/PCGen/pcgen / DataSet

Class DataSet

code/src/java/pcgen/core/DataSet.java:56–666  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

54import pcgen.util.enumeration.View;
55
56public class DataSet implements DataSetFacade
57{
58
59 private final DefaultListFacade<Race> unsortedRaces;
60 private final ListFacade<Race> races;
61 private final DefaultListFacade<PCClass> unsortedClasses;
62 private final ListFacade<PCClass> classes;
63 private final DefaultListFacade<Deity> deities;
64 private final DefaultListFacade<Skill> skills;
65 private final DefaultListFacade<PCTemplate> templates;
66 private final DefaultListFacade<PCAlignment> unsortedAlignments;
67 private final ListFacade<PCAlignment> alignments;
68 private final DefaultListFacade<Kit> kits;
69 private final DefaultListFacade<PCStat> unsortedStats;
70 private final ListFacade<PCStat> stats;
71 private final AbilityMap abilityMap;
72 private final LoadContext context;
73 private final GameMode gameMode;
74 private final ListFacade<Campaign> campaigns;
75 private Skill speakLanguageSkill = null;
76 private final DefaultListFacade<BodyStructure> bodyStructures;
77 private final DefaultListFacade<EquipmentFacade> equipment;
78 private final DefaultListFacade<String> xpTableNames;
79 private DefaultListFacade<GearBuySellFacade> gearBuySellSchemes;
80 private final DefaultListFacade<String> characterTypes;
81 private final DefaultListFacade<SizeAdjustment> unsortedSizes;
82 private final ListFacade<SizeAdjustment> sizes;
83
84 public DataSet(LoadContext context, GameMode gameMode, ListFacade<Campaign> campaigns)
85 {
86 unsortedRaces = new DefaultListFacade<>();
87 races = new SortedListFacade<>(new RaceComparator(), unsortedRaces);
88 unsortedClasses = new DefaultListFacade<>();
89 classes = new SortedListFacade<>(new PCClassComparator(), unsortedClasses);
90 deities = new DefaultListFacade<>();
91 skills = new DefaultListFacade<>();
92 templates = new DefaultListFacade<>();
93 unsortedAlignments = new DefaultListFacade<>();
94 alignments = new SortedListFacade<>(Comparator.comparing(SortKeyRequired::getSortKey), unsortedAlignments);
95 unsortedStats = new DefaultListFacade<>();
96 stats = new SortedListFacade<>(Comparator.comparing(SortKeyRequired::getSortKey), unsortedStats);
97 abilityMap = new AbilityMap();
98 bodyStructures = new DefaultListFacade<>();
99 equipment = new DefaultListFacade<>();
100 xpTableNames = new DefaultListFacade<>();
101 characterTypes = new DefaultListFacade<>();
102 kits = new DefaultListFacade<>();
103 unsortedSizes = new DefaultListFacade<>();
104 sizes = new SortedListFacade<>(Comparator.comparing(size -> size.getSafe(IntegerKey.SIZEORDER)), unsortedSizes);
105 this.context = context;
106 this.gameMode = gameMode;
107 this.campaigns = campaigns;
108 initLists();
109 }
110
111 private void initLists()
112 {
113 List<Race> raceList = new ArrayList<>(context.getReferenceContext().getConstructedCDOMObjects(Race.class));

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected