aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/ftbsc/lll/mapper/tools/Mapper.java
diff options
context:
space:
mode:
author zaaarf <me@zaaarf.foo>2024-01-24 17:35:09 +0100
committer zaaarf <me@zaaarf.foo>2024-01-24 17:35:09 +0100
commitd313ffbdb7024016e2203c24dbc348dbd96db3aa (patch)
treed25dea27a5b34990e47efd072b3cda778930cdbd /src/main/java/ftbsc/lll/mapper/tools/Mapper.java
parent72753cbe114b9bf4cc1eeaf75e810a210446611e (diff)
chore: version bump + internal reorganisation
Diffstat (limited to 'src/main/java/ftbsc/lll/mapper/tools/Mapper.java')
-rw-r--r--src/main/java/ftbsc/lll/mapper/tools/Mapper.java78
1 files changed, 0 insertions, 78 deletions
diff --git a/src/main/java/ftbsc/lll/mapper/tools/Mapper.java b/src/main/java/ftbsc/lll/mapper/tools/Mapper.java
deleted file mode 100644
index 2b59d17..0000000
--- a/src/main/java/ftbsc/lll/mapper/tools/Mapper.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package ftbsc.lll.mapper.tools;
-
-import ftbsc.lll.exceptions.MappingNotFoundException;
-import ftbsc.lll.mapper.tools.data.ClassData;
-import ftbsc.lll.mapper.tools.data.FieldData;
-import ftbsc.lll.mapper.tools.data.MethodData;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * An object containing parsed mapping data, which can
- * apply a conversion as requested.
- */
-public class Mapper {
- /**
- * A {@link Map} tying each plain class name to its class data.
- */
- protected final Map<String, ClassData> mappings = new HashMap<>();
-
- /**
- * Gets the {@link ClassData} given the plain name.
- * @param name the plain internal name of the desired class
- * @return the mapped name of the class
- * @throws MappingNotFoundException if no mapping is found
- */
- public ClassData getClassData(String name) throws MappingNotFoundException {
- ClassData data = this.mappings.get(name.replace('.', '/'));
- if(data == null)
- throw new MappingNotFoundException("class", name);
- else return data;
- }
-
- /**
- * Gets the mapped name of a method
- * @param parent the plain internal name of the parent class
- * @param name the plain method name
- * @param descriptor the descriptor of the method
- * @return the mapped name of the given member
- * @throws MappingNotFoundException if no mapping is found
- */
- public MethodData getMethodData(String parent, String name, String descriptor) throws MappingNotFoundException {
- return this.getClassData(parent).mapMethod(name, descriptor);
- }
-
- /**
- * Gets the mapped name of a field.
- * @param parent the plain internal name of the parent class
- * @param name the field's plain name
- * @return the mapped name of the requested field
- * @throws MappingNotFoundException if no mapping is found
- */
- public FieldData getFieldData(String parent, String name) throws MappingNotFoundException {
- return this.getClassData(parent).mapField(name);
- }
-
- /**
- * Gets the "raw mappings".
- * @return a {@link Map} tying each {@link ClassData} to the class' plain name
- */
- public Map<String, ClassData> getRawMappings() {
- return this.mappings;
- }
-
- /**
- * Builds a new {@link Mapper} that functions in reverse to this one (i.e. one that
- * considers as "mapped" what this one considers plain, and vice versa).
- * @return the inverted mapper
- */
- public Mapper getInverted() {
- Mapper inverted = new Mapper();
- this.mappings.forEach((name, data) -> {
- ClassData reverse = data.generateReverseMappings(this);
- inverted.mappings.put(data.nameMapped, reverse);
- });
- return inverted;
- }
-}