001package jmri.managers;
002
003import javax.annotation.Nonnull;
004import jmri.StringIO;
005import jmri.StringIOManager;
006
007/**
008 * Implementation of a StringIOManager that can serve as a proxy for multiple
009 * system-specific implementations.
010 *
011 * @author  Bob Jacobsen      Copyright (C) 2010, 2018
012 * @author  Dave Duchamp      Copyright (C) 2004
013 * @author  Daniel Bergqvist  Copyright (C) 2020
014 */
015public class ProxyStringIOManager extends AbstractProxyManager<StringIO>
016        implements StringIOManager {
017
018    public ProxyStringIOManager() {
019        super();
020    }
021
022    @Override
023    public int getXMLOrder() {
024        return jmri.Manager.STRINGIOS;
025    }
026
027    @Override
028    protected AbstractManager<StringIO> makeInternalManager() {
029        return jmri.InstanceManager.getDefault(jmri.jmrix.internal.InternalSystemConnectionMemo.class).getStringIOManager();
030    }
031
032    @Override
033    @Nonnull
034    public String getBeanTypeHandled(boolean plural) {
035        return Bundle.getMessage(plural ? "BeanNameStringIOs" : "BeanNameStringIO");
036    }
037
038    /**
039     * {@inheritDoc}
040     */
041    @Override
042    public Class<StringIO> getNamedBeanClass() {
043        return StringIO.class;
044    }
045
046}