private void doLookup() { // core would already be injected in a cdi environment if (core == null) { core = new ConfigCore(); } if (cacheManager == null) { cacheManager = core.lookupCacheManager(); notificationManager.register(new Observer(cacheManager)); } if (validator == null) { ClassLoader cl = Thread.currentThread().getContextClassLoader(); try { cl.loadClass(JSR303_1_0_CLASSNAME); validator = Optional.of(new Jsr303Validator()); } catch (Exception e) { validator = Optional.absent(); } } }
public void register(Observer observer) { for (Class<?> observedClass : observer.getObservedClasses()) { observers.put(observedClass, observer); } }
@Override public void fire(ConfigChanges<?> changes) { for (Observer observer : observers.get(changes.getChangeClass())) { try { observer.notify(changes); } catch (Exception e) { // ignore } } } }
public void doLookup() { // core would already be injected in a cdi environment if (core == null) { core = new ConfigCore(); } if (conversion == null) { conversion = Conversion.get(); conversion.register(new ObjectToBeanConverter()); conversion.register(new ClassToSchemaConverter()); conversion.register(new FieldToSchemaPropertyConverter()); conversion.register(new BeanToObjectConverter()); } schemaManager = lookup.lookup(SchemaManager.class, DefaultSchemaManager.class); beanManager = lookup.lookup(BeanManager.class, DefaultBeanManager.class); notificationManager = lookup.lookup(NotificationManager.class, DefaultNotificationManager.class); if (cacheManager == null) { cacheManager = core.lookupCacheManager(); notificationManager.register(new Observer(cacheManager)); } }
@Override public void registerObserver(Object observer) { doLookup(); notificationManager.register(new Observer(observer)); }