For fields handling we are going to use Fields component; Fields component uses to cache all fields for faster access.
import static org.burningwave.core.assembler.StaticComponentContainer.Fields; import java.lang.reflect.Field; import java.util.Collection; import java.util.List; import java.util.Map; import org.burningwave.core.classes.FieldCriteria; @SuppressWarnings("unused") public class FieldsHandler { public static void execute() { ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); //Fast access by memory address Collection<Class<?>> loadedClasses = Fields.getDirect(classLoader, "classes"); //Access by Reflection loadedClasses = Fields.get(classLoader, "classes"); //Get all field values of an object through memory address access Map<Field, ?> values = Fields.getAllDirect(classLoader); //Get all field values of an object through reflection access values = Fields.getAll(classLoader); Object obj = new Object() { volatile List<Object> objectValue; volatile int intValue = 1; volatile long longValue = 2l; volatile float floatValue = 3f; volatile double doubleValue = 4.1d; volatile boolean booleanValue = true; volatile byte byteValue = (byte)5; volatile char charValue = 'c'; }; //Get all filtered field values of an object through memory address access Fields.getAllDirect( FieldCriteria.forEntireClassHierarchy().allThoseThatMatch(field -> { return field.getType().isPrimitive(); }), obj ).values(); } public static void main(String[] args) { execute(); } }
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4