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