package open.dolphin.relay; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import open.dolphin.project.Project; /** * * @author kazushi Minagawa */ public class PVTRelayProxy implements PropertyChangeListener { private PropertyChangeListener pcl; public PVTRelayProxy() { //ChartEventHandler ceh = ChartEventHandler.getInstance(); //ceh.addPropertyChangeListener(getListener()); } @Override public void propertyChange(PropertyChangeEvent pce) { if (getListener()!=null) { getListener().propertyChange(pce); } } private PropertyChangeListener getListener() { if (pcl==null) { String name = Project.getString(Project.PVT_RELAY_NAME); if (name!=null && name.toLowerCase().startsWith("fev")) { pcl = (PropertyChangeListener)create("open.dolphin.relay.FEV70Relay"); } else { // default pcl = (PropertyChangeListener)create("open.dolphin.relay.PVTRelay"); } } return pcl; } private Object create(String clsName) { try { return Class.forName(clsName).newInstance(); } catch (InstantiationException | IllegalAccessException | ClassNotFoundException ex) { ex.printStackTrace(System.err); } return null; } }