Skip to content

Commit ffea98d

Browse files
committed
Removed setter for Collection fields, using reflection now
1 parent c4436c9 commit ffea98d

File tree

10 files changed

+24
-45
lines changed

10 files changed

+24
-45
lines changed

src/main/java/net/petersil98/thresh/collection/Challenges.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,4 @@ public static Challenge getChallenge(int id) {
1515
public static List<Challenge> getChallenges() {
1616
return challenges;
1717
}
18-
19-
public static void setChallenges(List<Challenge> challenges) {
20-
Challenges.challenges = challenges;
21-
}
2218
}

src/main/java/net/petersil98/thresh/collection/Champions.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,4 @@ public static Champion getChampionByName(String name){
2020
public static List<Champion> getChampions() {
2121
return champions;
2222
}
23-
24-
public static void setChampions(List<Champion> champions) {
25-
Champions.champions = champions;
26-
}
2723
}

src/main/java/net/petersil98/thresh/collection/Items.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,4 @@ public static Item getItem(int id){
1515
public static List<Item> getItems() {
1616
return items;
1717
}
18-
19-
public static void setItems(List<Item> items) {
20-
Items.items = items;
21-
}
2218
}

src/main/java/net/petersil98/thresh/collection/Maps.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,4 @@ public static Map getMap(int id){
1515
public static List<Map> getMaps() {
1616
return maps;
1717
}
18-
19-
public static void setMaps(List<Map> maps) {
20-
Maps.maps = maps;
21-
}
2218
}

src/main/java/net/petersil98/thresh/collection/QueueTypes.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,4 @@ public static QueueType getQueueType(int id){
1515
public static List<QueueType> getQueueTypes() {
1616
return queueTypes;
1717
}
18-
19-
public static void setQueueTypes(List<QueueType> queueTypes) {
20-
QueueTypes.queueTypes = queueTypes;
21-
}
2218
}

src/main/java/net/petersil98/thresh/collection/RuneStats.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,4 @@ public static RuneStat getRuneStat(int id){
1515
public static List<RuneStat> getRuneStats() {
1616
return runeStats;
1717
}
18-
19-
public static void setRuneStats(List<RuneStat> runeStats) {
20-
RuneStats.runeStats = runeStats;
21-
}
2218
}

src/main/java/net/petersil98/thresh/collection/RuneStyles.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,4 @@ public static RuneStyle getRuneStyle(int id){
1515
public static List<RuneStyle> getRuneStyles() {
1616
return runeStyles;
1717
}
18-
19-
public static void setRuneStyles(List<RuneStyle> runeStyles) {
20-
RuneStyles.runeStyles = runeStyles;
21-
}
2218
}

src/main/java/net/petersil98/thresh/collection/Runes.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,4 @@ public static Rune getRune(int id){
1515
public static List<Rune> getRunes() {
1616
return runes;
1717
}
18-
19-
public static void setRunes(List<Rune> runes) {
20-
Runes.runes = runes;
21-
}
2218
}

src/main/java/net/petersil98/thresh/collection/SummonerSpells.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,4 @@ public static SummonerSpell getSummonerSpell(int id){
1515
public static List<SummonerSpell> getSummonerSpells() {
1616
return summonerSpells;
1717
}
18-
19-
public static void setSummonerSpells(List<SummonerSpell> summonerSpells) {
20-
SummonerSpells.summonerSpells = summonerSpells;
21-
}
2218
}

src/main/java/net/petersil98/thresh/util/LoLLoader.java

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import net.petersil98.core.data.Sprite;
1010
import net.petersil98.core.util.Loader;
1111
import net.petersil98.core.util.settings.Settings;
12+
import net.petersil98.thresh.Thresh;
1213
import net.petersil98.thresh.collection.*;
1314
import net.petersil98.thresh.data.Challenge;
1415
import net.petersil98.thresh.data.Item;
@@ -21,6 +22,7 @@
2122
import org.apache.logging.log4j.core.util.IOUtils;
2223

2324
import java.io.*;
25+
import java.lang.reflect.Field;
2426
import java.net.URL;
2527
import java.nio.file.Files;
2628
import java.nio.file.Paths;
@@ -109,7 +111,7 @@ private void loadRuneStyles(){
109111
runeStyle.get("key").asText())
110112
);
111113
}
112-
RuneStyles.setRuneStyles(runeStyles);
114+
setFieldInCollection(RuneStyles.class, runeStyles);
113115
} catch (IOException e) {
114116
e.printStackTrace();
115117
}
@@ -134,7 +136,7 @@ private void loadRunes(){
134136
}
135137
}
136138
}
137-
Runes.setRunes(runes);
139+
setFieldInCollection(Runes.class, runes);
138140
} catch (IOException e) {
139141
e.printStackTrace();
140142
}
@@ -175,7 +177,7 @@ private void loadRuneStats(){
175177
runeStyle.get("longDesc").asText())
176178
);
177179
}
178-
RuneStats.setRuneStats(runeStats);
180+
setFieldInCollection(RuneStats.class, runeStats);
179181
} catch (IOException e) {
180182
e.printStackTrace();
181183
}
@@ -211,7 +213,7 @@ private void loadMaps(){
211213
sprite)
212214
);
213215
}
214-
Maps.setMaps(maps);
216+
setFieldInCollection(Maps.class, maps);
215217
} catch (IOException e) {
216218
e.printStackTrace();
217219
}
@@ -229,7 +231,7 @@ private void updateChampionsFile(){
229231
private void loadChampions(){
230232
try {
231233
String content = Files.readString(Paths.get(CHAMPIONS_FILE_PATH));
232-
Champions.setChampions(MAPPER.readValue(content, TypeFactory.defaultInstance().constructCollectionType(List.class, Champion.class)));
234+
setFieldInCollection(Champions.class, MAPPER.readValue(content, TypeFactory.defaultInstance().constructCollectionType(List.class, Champion.class)));
233235
} catch (IOException e) {
234236
e.printStackTrace();
235237
}
@@ -250,7 +252,7 @@ private void updateQueueTypesFile(){
250252
private void loadQueueTypes(){
251253
try {
252254
String content = Files.readString(Paths.get(QUEUE_TYPES_FILE_PATH));
253-
QueueTypes.setQueueTypes(MAPPER.readValue(content, TypeFactory.defaultInstance().constructCollectionType(List.class, QueueType.class)));
255+
setFieldInCollection(QueueTypes.class, MAPPER.readValue(content, TypeFactory.defaultInstance().constructCollectionType(List.class, QueueType.class)));
254256
} catch (IOException e) {
255257
e.printStackTrace();
256258
}
@@ -324,7 +326,7 @@ private void loadItems(){
324326
ITEMS_SPECIAL_RECIPE.put(Integer.parseInt(entry.getKey()), node.get("specialRecipe").asInt());
325327
}
326328
}
327-
Items.setItems(items);
329+
setFieldInCollection(Items.class, items);
328330
Items.getItems().forEach(Item::postInit);
329331
} catch (IOException e) {
330332
e.printStackTrace();
@@ -385,7 +387,7 @@ private void loadSummonerSpells(){
385387
)
386388
);
387389
}
388-
SummonerSpells.setSummonerSpells(list);
390+
setFieldInCollection(SummonerSpells.class, list);
389391
} catch (IOException e) {
390392
e.printStackTrace();
391393
}
@@ -406,7 +408,7 @@ private void updateChallengesFile() {
406408
private void loadChallenges(){
407409
try {
408410
String content = Files.readString(Paths.get(CHALLENGES_FILE_PATH));
409-
Challenges.setChallenges(MAPPER.readValue(content, TypeFactory.defaultInstance().constructCollectionType(List.class, Challenge.class)));
411+
setFieldInCollection(Challenges.class, MAPPER.readValue(content, TypeFactory.defaultInstance().constructCollectionType(List.class, Challenge.class)));
410412
} catch (IOException e) {
411413
e.printStackTrace();
412414
}
@@ -474,4 +476,17 @@ private void renameFieldInNode(ObjectNode node, String fieldName, String newFiel
474476
node.set(newFieldName, node.get(fieldName));
475477
node.remove(fieldName);
476478
}
479+
480+
private void setFieldInCollection(Class<?> collectionClass, List<?> elements) {
481+
try {
482+
char[] fieldName = collectionClass.getSimpleName().toCharArray();
483+
fieldName[0] += 32;
484+
Field field = collectionClass.getDeclaredField(new String(fieldName));
485+
field.setAccessible(true);
486+
field.set(null, elements);
487+
field.setAccessible(false);
488+
} catch (NoSuchFieldException | IllegalAccessException e) {
489+
Thresh.LOGGER.error("Couldn't set collection Type of class " + collectionClass.getSimpleName(), e);
490+
}
491+
}
477492
}

0 commit comments

Comments
 (0)