001package jmri.jmrit.logixng.expressions.configurexml; 002 003import jmri.*; 004import jmri.configurexml.JmriConfigureXmlException; 005import jmri.jmrit.logixng.AnalogExpressionManager; 006import jmri.jmrit.logixng.expressions.AnalogExpressionLocalVariable; 007import jmri.jmrit.logixng.util.configurexml.LogixNG_SelectStringXml; 008 009import org.jdom2.Element; 010 011/** 012 * Handle XML configuration for ActionLightXml objects. 013 * 014 * @author Bob Jacobsen Copyright: Copyright (c) 2004, 2008, 2010 015 * @author Daniel Bergqvist Copyright (C) 2022 016 */ 017public class AnalogExpressionLocalVariableXml extends jmri.managers.configurexml.AbstractNamedBeanManagerConfigXML { 018 019 public AnalogExpressionLocalVariableXml() { 020 } 021 022 /** 023 * Default implementation for storing the contents of a SE8cSignalHead 024 * 025 * @param o Object to store, of type TripleLightSignalHead 026 * @return Element containing the complete info 027 */ 028 @Override 029 public Element store(Object o) { 030 AnalogExpressionLocalVariable p = (AnalogExpressionLocalVariable) o; 031 032 Element element = new Element("AnalogExpressionLocalVariable"); 033 element.setAttribute("class", this.getClass().getName()); 034 element.addContent(new Element("systemName").addContent(p.getSystemName())); 035 036 storeCommon(p, element); 037 038 var selectLocalVariableXml = new LogixNG_SelectStringXml(); 039 element.addContent(selectLocalVariableXml.store(p.getSelectNamedBean(), "localVariable")); 040 041 return element; 042 } 043 044 @Override 045 public boolean load(Element shared, Element perNode) throws JmriConfigureXmlException { // Test class that inherits this class throws exception 046 String sys = getSystemName(shared); 047 String uname = getUserName(shared); 048 AnalogExpressionLocalVariable h; 049 h = new AnalogExpressionLocalVariable(sys, uname); 050 051 loadCommon(h, shared); 052 053 var selectLocalVariableXml = new LogixNG_SelectStringXml(); 054 selectLocalVariableXml.load(shared.getChild("localVariable"), h.getSelectNamedBean()); 055 056 InstanceManager.getDefault(AnalogExpressionManager.class).registerExpression(h); 057 return true; 058 } 059 060// private final static org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(AnalogExpressionLocalVariableXml.class); 061}