@Override public void configure(final Env env, final Config conf, final Binder binder) throws Throwable { this.watcher = FileSystems.getDefault().newWatchService(); binder.bind(WatchService.class).toInstance(watcher); List<FileEventOptions> paths = new ArrayList<>(); paths(env.getClass().getClassLoader(), conf, "filewatcher.register", options -> paths.add(register(binder, options))); for (Throwing.Function2<Config, Binder, FileEventOptions> binding : bindings) { paths.add(binding.apply(conf, binder)); } binder.bind(FileMonitor.class).asEagerSingleton(); paths.forEach(it -> log.info("Watching: {}", it)); }
@Override public void configure(final Env env, final Config conf, final Binder binder) throws Throwable { this.watcher = FileSystems.getDefault().newWatchService(); binder.bind(WatchService.class).toInstance(watcher); List<FileEventOptions> paths = new ArrayList<>(); paths(env.getClass().getClassLoader(), conf, "filewatcher.register", options -> paths.add(register(binder, options))); for (Throwing.Function2<Config, Binder, FileEventOptions> binding : bindings) { paths.add(binding.apply(conf, binder)); } binder.bind(FileMonitor.class).asEagerSingleton(); paths.forEach(it -> log.info("Watching: {}", it)); }
public MappedHandler(final Throwing.Function2<Request, Response, Object> supplier, final Route.Mapper mapper) { this((req, rsp, chain) -> supplier.apply(req, rsp), mapper); }
private URL resolve(final Request req, final String path) throws Throwable { String target = fn.apply(req, path); return resolve(target); }
public <V> Value<V> apply(Throwing.Function2<R1, R2, V> fn) { return Try.apply(() -> { try (R1 r1 = this.r1.get(); R2 r2 = this.r2.get()) { return fn.apply(r1, r2); } }); }
private URL resolve(final Request req, final String path) throws Throwable { String target = fn.apply(req, path); return resolve(target); }
public MappedHandler(final Throwing.Function2<Request, Response, Object> supplier, final Route.Mapper mapper) { this((req, rsp, chain) -> supplier.apply(req, rsp), mapper); }