![JAR search and dependency download from the Maven repository](/logo.png)
com.netopyr.reduxfx.driver.properties.PropertiesDriver Maven / Gradle / Ivy
package com.netopyr.reduxfx.driver.properties;
import com.netopyr.reduxfx.driver.Driver;
import com.netopyr.reduxfx.driver.properties.command.LoadFileCommand;
import com.netopyr.reduxfx.updater.Command;
import io.reactivex.processors.FlowableProcessor;
import io.reactivex.processors.PublishProcessor;
import io.vavr.Tuple;
import io.vavr.collection.HashMap;
import io.vavr.collection.Map;
import io.vavr.control.Try;
import org.reactivestreams.Publisher;
import org.reactivestreams.Subscriber;
import java.io.Reader;
import java.nio.file.Files;
import java.util.Properties;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
public class PropertiesDriver implements Driver {
private static final AtomicInteger THREAD_COUNTER = new AtomicInteger();
private static final ThreadFactory THREAD_FACTORY = runnable -> {
final Thread thread = new Thread(runnable, "PropertiesDriver-" + THREAD_COUNTER.incrementAndGet());
thread.setDaemon(true);
return thread;
};
private final ExecutorService executorService = Executors.newCachedThreadPool(THREAD_FACTORY);
private final FlowableProcessor commandSubscriber = PublishProcessor.create();
private final FlowableProcessor
© 2015 - 2025 Weber Informatics LLC | Privacy Policy