package seeurrenamer.main.controller.manipulator;
import java.net.URL;
import java.nio.file.Path;
import java.util.Arrays;
import java.util.ResourceBundle;
import java.util.function.Function;
import javafx.collections.ObservableList;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.ComboBox;
import seeurrenamer.main.model.PairPath;
import seeurrenamer.main.util.PathsRenamer;
import seeurrenamer.main.util.caseconverter.LowerConverter;
import seeurrenamer.main.util.caseconverter.UnixStyleConverter;
import seeurrenamer.main.util.caseconverter.UpperConverter;
/**
* @author moch deden
*/
public class CaseManipulatorController implements Initializable {
@FXML
private ComboBox<Function<Path, Path>> caseComboBox;
private ObservableList<PairPath> pairPathList;
private PathsRenamer pathsRenamer;
@Override
public void initialize(URL location, ResourceBundle resources) {
this.caseComboBox.getItems().addAll(
Arrays.asList(new UpperConverter(), new LowerConverter(),
new UnixStyleConverter()));
}
public void setPairPathList(ObservableList<PairPath> pairPathList) {
this.pairPathList = pairPathList;
}
@FXML
public void handleCaseComboBox() {
this.pairPathList.setAll(this.pathsRenamer.rename(
this.pairPathList, this.caseComboBox.getValue()));
}
public void setPathsRenamer(PathsRenamer pathsRenamer) {
this.pathsRenamer = pathsRenamer;
}
}