public List<HeroModelInitializer> getInOrderFor(HeroModelGroup group) { ArrayList<HeroModelInitializer> initializerList = new ArrayList<>(); Collection<HeroModelInitializer> collection = objectFactory.instantiateOrdered(RegisteredInitializer.class, applicationModel); for (HeroModelInitializer initializer : collection) { HeroModelGroup targetGroup = initializer.getClass().getAnnotation(RegisteredInitializer.class).value(); if (targetGroup.equals(group)) { initializerList.add(initializer); } } return initializerList; }
@Override public <T> Collection<T> instantiateOrdered( Class<? extends Annotation> annotation, Object... parameter) throws InitializationException { return factory.instantiateOrdered(annotation, parameter); }