All Downloads are FREE. Search and download functionalities are using the official Maven repository.

application.ui.prefs.FactoryPropertiesScanner Maven / Gradle / Ivy

package application.ui.prefs;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import org.daisy.braille.utils.api.factory.FactoryProperties;

import application.common.FactoryPropertiesAdapter;
import application.common.Settings;
import application.common.Settings.Keys;
import javafx.concurrent.Task;

class FactoryPropertiesScanner extends Task> {
	private final String currentIdentifier;
	private final ListFactoryProperties listMethod;
	private FactoryPropertiesAdapter currentValue;
	
	public FactoryPropertiesScanner(ListFactoryProperties listMethod, Keys prefsKey) {
		this.listMethod = listMethod;
		this.currentIdentifier = Settings.getSettings().getString(prefsKey, "");
	}
	
	FactoryPropertiesAdapter getCurrentValue() {
		return currentValue;
	}

	@Override
	protected List call() throws Exception {
		List tc = new ArrayList<>();
		for (FactoryProperties p : listMethod.list()) {
			FactoryPropertiesAdapter ap = new FactoryPropertiesAdapter(p);
			tc.add(ap);
			if (p.getIdentifier().equals(currentIdentifier)) {
				currentValue = ap; 
			}
		}
		Collections.sort(tc);
		return tc;
	}
	
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy