Skip to content

Commit eef918d

Browse files
committed
Extract convenience classes
* Query is public and thus was extracted to its own class file. * FieldCache and MethodCache extend a common CacheMap class, consolidating the Map > Map > List logic.
1 parent 3d3af0e commit eef918d

File tree

3 files changed

+167
-158
lines changed

3 files changed

+167
-158
lines changed

src/main/java/org/scijava/Context.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,14 @@
3131

3232
package org.scijava;
3333

34-
import java.lang.annotation.Annotation;
35-
import java.lang.reflect.AccessibleObject;
3634
import java.lang.reflect.Field;
3735
import java.lang.reflect.Method;
3836
import java.net.URL;
3937
import java.net.URLClassLoader;
4038
import java.util.Arrays;
4139
import java.util.Collection;
4240
import java.util.Collections;
43-
import java.util.HashMap;
4441
import java.util.List;
45-
import java.util.Map;
4642

4743
import org.scijava.event.ContextDisposingEvent;
4844
import org.scijava.event.EventHandler;
@@ -54,6 +50,7 @@
5450
import org.scijava.service.ServiceHelper;
5551
import org.scijava.service.ServiceIndex;
5652
import org.scijava.util.ClassUtils;
53+
import org.scijava.util.Query;
5754

5855
/**
5956
* Top-level SciJava application context, which initializes and maintains a list
@@ -364,8 +361,7 @@ public Service getService(final String className) {
364361
public void inject(final Object o) {
365362
// Ensure parameter fields and event handler methods are cached for this
366363
// object.
367-
Map<Class<? extends Annotation>, Class<? extends AccessibleObject>> query =
368-
new HashMap<Class<? extends Annotation>, Class<? extends AccessibleObject>>();
364+
Query query = new Query();
369365
query.put(Parameter.class, Field.class);
370366
query.put(EventHandler.class, Method.class);
371367
ClassUtils.cacheAnnotatedObjects(o.getClass(), query);

0 commit comments

Comments
 (0)