Skip to content

Commit 381c98b

Browse files
committed
feat: add getMappings method for unmodifiable view of particle mappings
Add a public static method `getMappings()` that returns an unmodifiable view of the internal mappings map. This provides safe read-only access to the particle mappings for external consumers while preventing accidental modifications.
1 parent 99ff9b5 commit 381c98b

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

src/main/java/com/georgev22/particle/ParticleMappings.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,16 @@
33
import com.google.gson.JsonArray;
44
import com.google.gson.JsonObject;
55
import com.google.gson.JsonParser;
6+
import org.jetbrains.annotations.Contract;
67
import org.jetbrains.annotations.NotNull;
78
import org.jetbrains.annotations.Nullable;
9+
import org.jetbrains.annotations.UnmodifiableView;
10+
import org.jspecify.annotations.NonNull;
811

912
import java.io.InputStreamReader;
1013
import java.lang.reflect.Field;
1114
import java.lang.reflect.Method;
15+
import java.util.Collections;
1216
import java.util.HashMap;
1317
import java.util.Map;
1418
import java.util.Objects;
@@ -157,4 +161,14 @@ public static Field getMappedField(Class<?> targetClass, String name, boolean de
157161
if (mapped == null) return null;
158162
return getFieldOrNull(targetClass, mapped, declared);
159163
}
164+
165+
/**
166+
* Gets an unmodifiable view of the mappings.
167+
*
168+
* @return an unmodifiable view of the mappings
169+
*/
170+
@Contract(pure = true)
171+
public static @NonNull @UnmodifiableView Map<String, String> getMappings() {
172+
return Collections.unmodifiableMap(mappings);
173+
}
160174
}

0 commit comments

Comments
 (0)