if (RequireUtil.allowClass(settings, serviceClass)) { Service service = injector.getInstance(serviceClass); instances.add(service);
/** * Determines if this object may be used in the current runtime environment. * Fathom settings are considered as well as runtime modes. * * @param settings * @param object * @return true if the object may be used */ public static boolean allowInstance(Settings settings, Object object) { Preconditions.checkNotNull(object, "Can not check runtime permissions on a null instance!"); if (object instanceof Method) { return allowMethod(settings, (Method) object); } return allowClass(settings, object.getClass()); }
/** * Discover Route methods. * * @param classes * @return discovered methods */ protected Map<Method, Class<? extends Annotation>> discoverMethods(Collection<Class<?>> classes) { // collect the allowed annotated methods Map<Method, Class<? extends Annotation>> discoveredMethods = new LinkedHashMap<>(); // discover all annotated controllers and methods for (Class<?> controllerClass : classes) { for (Method method : controllerClass.getDeclaredMethods()) { if (RequireUtil.allowMethod(settings, method)) { for (Annotation annotation : method.getAnnotations()) { Class<? extends Annotation> annotationClass = annotation.annotationType(); if (httpMethodAnnotationClasses.contains(annotationClass)) { discoveredMethods.put(method, annotationClass); break; } } } } } return discoveredMethods; }
@Override public void start() { String applicationName = settings.getApplicationName(); // Register optional metrics if (settings.getBoolean(Settings.Setting.metrics_jvm_enabled, false)) { registerAll("jvm.gc", new GarbageCollectorMetricSet()); registerAll("jvm.memory", new MemoryUsageGaugeSet()); registerAll("jvm.threads", new ThreadStatesGaugeSet()); registerAll("jvm.classes", new ClassLoadingGaugeSet()); log.debug("Registered JVM-Metrics integration"); } // MBeans for VisualVM, JConsole, or JMX if (settings.getBoolean(Settings.Setting.metrics_mbeans_enabled, false)) { JmxReporter reporter = JmxReporter.forRegistry(metricRegistry).inDomain(applicationName).build(); reporter.start(); reporters.add(reporter); log.debug("Started metrics MBeans reporter"); } // Add classpath reporters ServiceLocator.locateAll(MetricsReporter.class).forEach((reporter) -> { if (RequireUtil.allowInstance(settings, reporter)) { reporter.start(settings, metricRegistry); reporters.add(reporter); } }); }
/** * Discover Route methods. * * @param classes * @return discovered methods */ protected Map<Method, Class<? extends Annotation>> discoverMethods(Collection<Class<?>> classes) { // collect the allowed annotated methods Map<Method, Class<? extends Annotation>> discoveredMethods = new LinkedHashMap<>(); // discover all annotated controllers and methods for (Class<?> controllerClass : classes) { for (Method method : controllerClass.getDeclaredMethods()) { if (RequireUtil.allowMethod(settings, method)) { for (Annotation annotation : method.getAnnotations()) { Class<? extends Annotation> annotationClass = annotation.annotationType(); if (httpMethodAnnotationClasses.contains(annotationClass)) { discoveredMethods.put(method, annotationClass); break; } } } } } return discoveredMethods; }
@Override public void start() { String applicationName = settings.getApplicationName(); // Register optional metrics if (settings.getBoolean(Settings.Setting.metrics_jvm_enabled, false)) { registerAll("jvm.gc", new GarbageCollectorMetricSet()); registerAll("jvm.memory", new MemoryUsageGaugeSet()); registerAll("jvm.threads", new ThreadStatesGaugeSet()); registerAll("jvm.classes", new ClassLoadingGaugeSet()); log.debug("Registered JVM-Metrics integration"); } // MBeans for VisualVM, JConsole, or JMX if (settings.getBoolean(Settings.Setting.metrics_mbeans_enabled, false)) { JmxReporter reporter = JmxReporter.forRegistry(metricRegistry).inDomain(applicationName).build(); reporter.start(); reporters.add(reporter); log.debug("Started metrics MBeans reporter"); } // Add classpath reporters ServiceLocator.locateAll(MetricsReporter.class).forEach((reporter) -> { if (RequireUtil.allowInstance(settings, reporter)) { reporter.start(settings, metricRegistry); reporters.add(reporter); } }); }
Class<? extends Module> moduleClass = discoveredModule.getClass(); if (RequireUtil.allowClass(settings, moduleClass)) { log.info("adding '{}'", moduleClass.getName()); discoveredModule.setSettings(settings); Class<? extends ServletsModule> moduleClass = discoveredModule.getClass(); if (RequireUtil.allowClass(settings, moduleClass)) { log.info("adding '{}'", moduleClass.getName()); discoveredModule.setSettings(settings);
if (!RequireUtil.allowMethod(settings, controllerHandler.getControllerMethod())) { continue;
if (RequireUtil.allowClass(settings, realmClass)) { try { Realm realm = injector.getInstance(realmClass);
if (!RequireUtil.allowMethod(settings, controllerHandler.getControllerMethod())) { continue;
if (RequireUtil.allowClass(settings, realmClass)) { try { Realm realm = injector.getInstance(realmClass);
return allowClass(settings, method.getDeclaringClass());
checkNotNull(jobClass, "Argument 'jobClass' must be not null."); if (!RequireUtil.allowClass(getSettings(), jobClass)) { return null;
checkNotNull(jobClass, "Argument 'jobClass' must be not null."); if (!RequireUtil.allowClass(getSettings(), jobClass)) { return null;