@Override public MasterEnvironment createEnvironment(final MasterCoprocessor instance, final int priority, final int seq, final Configuration conf) { // If coprocessor exposes any services, register them. for (Service service : instance.getServices()) { masterServices.registerService(service); } // If a CoreCoprocessor, return a 'richer' environment, one laden with MasterServices. return instance.getClass().isAnnotationPresent(CoreCoprocessor.class)? new MasterEnvironmentForCoreCoprocessors(instance, priority, seq, conf, masterServices): new MasterEnvironment(instance, priority, seq, conf, masterServices); }
@Override public MasterEnvironment createEnvironment(final Class<?> implClass, final Coprocessor instance, final int priority, final int seq, final Configuration conf) { for (Class c : implClass.getInterfaces()) { if (CoprocessorProtocol.class.isAssignableFrom(c)) { masterServices.registerProtocol(c, (CoprocessorProtocol)instance); break; } } return new MasterEnvironment(implClass, instance, priority, seq, conf, masterServices); }
@Override public MasterEnvironment createEnvironment(final Class<?> implClass, final Coprocessor instance, final int priority, final int seq, final Configuration conf) { for (Object itf : ClassUtils.getAllInterfaces(implClass)) { Class<?> c = (Class<?>) itf; if (CoprocessorService.class.isAssignableFrom(c)) { masterServices.registerService(((CoprocessorService)instance).getService()); } } return new MasterEnvironment(implClass, instance, priority, seq, conf, masterServices); }