Skip to content

Commit ecb7d01

Browse files
committed
ServiceHelper: populate annotated Context fields
This is not necessarily useful by itself. But it will be necessary to at least not choke on annotated Context fields very soon, when AbstractContextual (superclass of AbstractService) introduces one.
1 parent ba3851d commit ecb7d01

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

src/main/java/org/scijava/service/ServiceHelper.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,11 @@ private <S extends Service> S createServiceRecursively(final Class<S> c)
267267
f.setAccessible(true); // expose private fields
268268

269269
final Class<?> type = f.getType();
270+
if (type.isAssignableFrom(getContext().getClass())) {
271+
// populate annotated Context field
272+
ClassUtils.setValue(f, service, getContext());
273+
continue;
274+
}
270275
if (!Service.class.isAssignableFrom(type)) {
271276
throw new IllegalArgumentException("Invalid parameter: " + f.getName());
272277
}

0 commit comments

Comments
 (0)