public static boolean doesClassExist(Optional<String> packageName, String className) { String fullClassName = buildClassName(packageName, className); return doesClassExist(fullClassName); }
public static <T> Class<T> getClass(Optional<String> packageName, String className) { String fullClassName = buildClassName(packageName, className); return getClass(fullClassName); }
private void initializeRouter(Optional<String> applicationPackage) { String routesClassName = ClassUtil.buildClassName(applicationPackage, ROUTES_CLASS); if (ClassUtil.doesClassExist(routesClassName)) { Class<?> routesClass = ClassUtil.getClass(routesClassName); if (RoutesModule.class.isAssignableFrom(routesClass)) { RoutesModule routes = (RoutesModule) injector.getInstance(routesClass); routes.init(); } else { throw new FathomException("Your Routes class '{}' does not subclass '{}'!", routesClassName, RoutesModule.class.getName()); } } else { log.debug("Did not find '{}' in your application!", routesClassName); } }
private void initializeRouter(Optional<String> applicationPackage) { String routesClassName = ClassUtil.buildClassName(applicationPackage, ROUTES_CLASS); if (ClassUtil.doesClassExist(routesClassName)) { Class<?> routesClass = ClassUtil.getClass(routesClassName); if (RoutesModule.class.isAssignableFrom(routesClass)) { RoutesModule routes = (RoutesModule) injector.getInstance(routesClass); routes.init(); } else { throw new FathomException("Your Routes class '{}' does not subclass '{}'!", routesClassName, RoutesModule.class.getName()); } } else { log.debug("Did not find '{}' in your application!", routesClassName); } }
private Class<? extends Fathom> getFathomClass(Optional<String> applicationPackage) { String fathomClassName = ClassUtil.buildClassName(applicationPackage, FATHOM_CLASS); final Class<? extends Fathom> fathomClass; if (ClassUtil.doesClassExist(fathomClassName)) { final Class<?> specifiedClass = ClassUtil.getClass(fathomClassName); if (Fathom.class.isAssignableFrom(specifiedClass)) { fathomClass = (Class<? extends Fathom>) specifiedClass; } else { throw new FathomException("Your Fathom class '{}' does not implement '{}'!", fathomClassName, Fathom.class.getName()); } } else { // use the default Fathom implementation fathomClass = Ftm.class; } return fathomClass; }
@Override public void start() { // add application caches module Optional<String> applicationPackage = Optional.fromNullable(settings.getApplicationPackage()); String fullClassName = ClassUtil.buildClassName(applicationPackage, CACHES_CLASS); if (ClassUtil.doesClassExist(fullClassName)) { Class<?> moduleClass = ClassUtil.getClass(fullClassName); if (CachesModule.class.isAssignableFrom(moduleClass)) { CachesModule cachesModule = (CachesModule) ClassUtil.newInstance(moduleClass); if (cachesModule != null) { log.info("Setting up JCache caches in '{}'", cachesModule.getClass().getName()); cachesModule.setup(settings, cachingProvider.getCacheManager()); } } } }
@Override protected void setup() { Optional<String> applicationPackage = Optional.fromNullable(getSettings().getApplicationPackage()); String fullClassName = ClassUtil.buildClassName(applicationPackage, JOBS_CLASS); if (ClassUtil.doesClassExist(fullClassName)) { Class<?> moduleClass = ClassUtil.getClass(fullClassName); if (JobsModule.class.isAssignableFrom(moduleClass)) { JobsModule jobsModule = (JobsModule) ClassUtil.newInstance(moduleClass); if (jobsModule != null) { log.info("Scheduling Quartz jobs in '{}'", jobsModule.getClass().getName()); install(jobsModule); bind(Quartz.class); } } } }
@Override protected void setup() { Optional<String> applicationPackage = Optional.fromNullable(getSettings().getApplicationPackage()); String fullClassName = ClassUtil.buildClassName(applicationPackage, JOBS_CLASS); if (ClassUtil.doesClassExist(fullClassName)) { Class<?> moduleClass = ClassUtil.getClass(fullClassName); if (JobsModule.class.isAssignableFrom(moduleClass)) { JobsModule jobsModule = (JobsModule) ClassUtil.newInstance(moduleClass); if (jobsModule != null) { log.info("Scheduling Quartz jobs in '{}'", jobsModule.getClass().getName()); install(jobsModule); bind(Quartz.class); } } } }
private AbstractModule initializeModule(Optional<String> applicationPackage, String className) { String fullClassName = ClassUtil.buildClassName(applicationPackage, className); if (ClassUtil.doesClassExist(fullClassName)) { Class<?> moduleClass = ClassUtil.getClass(fullClassName); if (fathom.Module.class.isAssignableFrom(moduleClass)) { fathom.Module module = (fathom.Module) ClassUtil.newInstance(moduleClass); module.setSettings(settings); module.setServices(services); return module; } else if (ServletsModule.class.isAssignableFrom(moduleClass)) { ServletsModule module = (ServletsModule) ClassUtil.newInstance(moduleClass); module.setSettings(settings); module.setServices(services); return module; } else { throw new FathomException("'{}' must either be a subclass of '{}' or '{}'", moduleClass.getName(), fathom.Module.class.getName(), ServletsModule.class.getName()); } } else if (applicationPackage.isPresent()) { log.warn("Module '{}' not found on classpath!", fullClassName); } return null; }