RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
GenericAttributes.java
1package com.osroyale.util.generic;
2
3import java.util.HashMap;
4import java.util.Map;
5
44
45public class GenericAttributes {
46
48 private final Map<Object, Object> genericAttributes = new HashMap<>();
49
50 public <K, V> void put(K key, V value) {
51 genericAttributes.put(key, value);
52 }
53
66 public <K, E> void set(K key, E attribute) {
67 genericAttributes.put(key, attribute);
68 }
69
77 public <K, E> void modify(K key, E value) {
78 genericAttributes.replace(key, value);
79 }
80
89 public <K> void remove(K key) {
90 genericAttributes.remove(key);
91 }
92
103 public <K> boolean has(K key) {
104 return genericAttributes.containsKey(key);
105 }
106
118 @SuppressWarnings("unchecked")
119 public <K, E> E get(K key) {
120 try {
121 return (E) genericAttributes.get(key);
122 } catch (Exception e) {
123 e.printStackTrace();
124 return null;
125 }
126 }
127
137 @SuppressWarnings("unchecked")
138 public <K> Object getObject(K key) {
139 try {
140 return genericAttributes.get(key);
141 } catch (Exception e) {
142 e.printStackTrace();
143 return null;
144 }
145 }
146
160 public <K, E> E get(K key, Class<? extends E> type) {
161 Object attribute = genericAttributes.get(key);
162 try {
163 return type.cast(attribute);
164 } catch (Exception e) {
165 e.printStackTrace();
166 return null;
167 }
168 }
169
180 public <K> boolean is(K key) {
181 return has(key) && Boolean.TRUE == get(key, Boolean.class);
182 }
183}