+ private class InjectionVisitor implements ObjectVisitor {
+ @Override
+ public boolean mustVisit(Class aClass) {
+ if (EntityManager.class.isAssignableFrom(aClass)) {
+ return false;
+ }
+ return true;
+ }
+ @Override
+ public boolean mustVisit(Field aField) {
+ // just process any field with annotations
+ return aField.getAnnotations().length > 0;
+ }
+ @Override
+ public boolean mustVisit(Method aMethod) {
+ return false;
+ }
+ @Override
+ public boolean visitArray(Object aArray) {
+ return true;
+ }
+ @Override
+ public boolean visitList(List aObject) {
+ return true;
+ }
+ @Override
+ public boolean visitMap(Map aObject) {
+ return true;
+ }
+ @Override
+ public boolean visitPlainObject(Object aObject) {
+ performTestInjections(aObject);
+ return true;
+ }
+ @Override
+ public boolean visitSet(Set aSet) {
+ return true;
+ }
+ }
+
+ private List<Binding> bindings;