001package jmri.jmrix.bidib; 002 003/** 004 * This interface specifies methods that the BiDiB object classes (turnouts, sensors, lights, reporters, signal masts) must implement. 005 * 006 * @author Eckart Meyer Copyright (C) 2020-2023 007 */ 008public interface BiDiBNamedBeanInterface { 009 010 /** 011 * Get the BiDiB address instance 012 * 013 * @return BiDiBAddress 014 */ 015 public BiDiBAddress getAddr(); 016 017 /** 018 * Helper function that will be invoked after construction once the type has been 019 * set. Used specifically for preventing double initialization when loading turnouts from XML. 020 */ 021 public default void finishLoad() {} 022 023 /** 024 * called then a new node has been discovered 025 */ 026 public void nodeNew(); 027 028 /** 029 * called then a node was lost 030 */ 031 public void nodeLost(); 032 033}