001package jmri; 002 003/** 004 * Interface for obtaining AnalogIOs. 005 * 006 * @author Daniel Bergqvist Copyright (C) 2020 007 */ 008public interface AnalogIOManager extends Manager<AnalogIO> { 009 010 /** 011 * Add a type of NamedBean, for example VariableLight, that should be also registred in AnalogIOManager. 012 * @param clazz the NamedBean class that should be registered in this manager 013 * @param manager the manager that managers the NamedBeans of type clazz 014 */ 015 default void addBeanType(Class<? extends AnalogIO> clazz, Manager<? extends NamedBean> manager) { 016 throw new UnsupportedOperationException(); 017 } 018 019 /** 020 * Remove a type of NamedBean, for example VariableLight, from beeing registred in AnalogIOManager. 021 * @param clazz the NamedBean class that should be registered in this manager 022 * @param manager the manager that managers the NamedBeans of type clazz 023 */ 024 default void removeBeanType(Class<? extends AnalogIO> clazz, Manager<? extends NamedBean> manager) { 025 throw new UnsupportedOperationException(); 026 } 027 028}