001package jmri.jmrix.mrc.serialdriver.configurexml;
002
003import jmri.jmrix.configurexml.AbstractSerialConnectionConfigXml;
004import jmri.jmrix.mrc.serialdriver.ConnectionConfig;
005import jmri.jmrix.mrc.serialdriver.SerialDriverAdapter;
006
007/**
008 * Handle XML persistance of layout connections by persistening the
009 * SerialDriverAdapter (and connections). Note this is named as the XML version
010 * of a ConnectionConfig object, but it's actually persisting the
011 * SerialDriverAdapter.
012 * <p>
013 * This class is invoked from jmrix.JmrixConfigPaneXml on write, as that class
014 * is the one actually registered. Reads are brought here directly via the class
015 * attribute in the XML.
016 *
017 * @author Bob Jacobsen Copyright: Copyright (c) 2003
018 */
019public class ConnectionConfigXml extends AbstractSerialConnectionConfigXml {
020
021    public ConnectionConfigXml() {
022        super();
023    }
024
025    @Override
026    protected void getInstance() {
027        adapter = new SerialDriverAdapter();
028    }
029
030    @Override
031    protected void getInstance(Object object) {
032        adapter = ((ConnectionConfig) object).getAdapter();
033    }
034
035    @Override
036    protected void register() {
037        this.register(new ConnectionConfig(adapter));
038    }
039
040}