001package jmri.util.startup;
002
003import java.io.File;
004
005import jmri.ConfigureManager;
006import jmri.InstanceManager;
007import jmri.JmriException;
008
009/**
010 * A PerformFileModel object loads an xml file when the program is started.
011 *
012 * @author Bob Jacobsen Copyright 2003
013 * @author Randall Wood (c) 2016
014 * @see jmri.util.startup.PerformFileModelFactory
015 */
016public class PerformFileModel extends AbstractStartupModel {
017
018
019    public String getFileName() {
020        return this.getName();
021    }
022
023    public void setFileName(String n) {
024        this.setName(n);
025    }
026
027    @Override
028    public void performAction() throws JmriException {
029        log.info("Loading file {}", this.getFileName());
030
031        // load the file
032        File file = new File(this.getFileName());
033        ConfigureManager cm = InstanceManager.getNullableDefault(ConfigureManager.class);
034        if (cm != null) {
035            boolean load = cm.load(file);
036            if (!load) {
037                log.error("Could not load file {}", getFileName());
038            }
039        }
040    }
041
042    private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(PerformFileModel.class);
043
044}