001package jmri.jmrit.logixng.implementation; 002 003import java.util.List; 004import java.util.Locale; 005import java.util.Map; 006 007import jmri.*; 008import jmri.jmrit.logixng.*; 009 010/** 011 * Default implementation of the Female Analog Expression socket 012 */ 013public class DefaultFemaleAnalogExpressionSocket extends AbstractFemaleSocket 014 implements FemaleAnalogExpressionSocket { 015 016 017 public DefaultFemaleAnalogExpressionSocket(Base parent, FemaleSocketListener listener, String name) { 018 super(parent, listener, name); 019 } 020 021 /** {@inheritDoc} */ 022 @Override 023 public boolean isCompatible(MaleSocket socket) { 024 return socket instanceof MaleAnalogExpressionSocket; 025 } 026 027 /** {@inheritDoc} */ 028 @Override 029 public double evaluate() throws JmriException { 030 if (isConnected()) { 031 return ((MaleAnalogExpressionSocket)getConnectedSocket()).evaluate(); 032 } else { 033 return 0.0; 034 } 035 } 036 037 /** {@inheritDoc} */ 038 @Override 039 public boolean getTriggerOnChange() { 040 throw new UnsupportedOperationException("Not supported"); 041 } 042 043 /** {@inheritDoc} */ 044 @Override 045 public void setTriggerOnChange(boolean triggerOnChange) { 046 throw new UnsupportedOperationException("Not supported"); 047 } 048 049 /** {@inheritDoc} */ 050 @Override 051 public String getShortDescription(Locale locale) { 052 return Bundle.getMessage(locale, "DefaultFemaleAnalogExpressionSocket_Short"); 053 } 054 055 /** {@inheritDoc} */ 056 @Override 057 public String getLongDescription(Locale locale) { 058 return Bundle.getMessage(locale, "DefaultFemaleAnalogExpressionSocket_Long", getName()); 059 } 060 061 /** {@inheritDoc} */ 062 @Override 063 public Map<Category, List<Class<? extends Base>>> getConnectableClasses() { 064 return InstanceManager.getDefault(AnalogExpressionManager.class).getExpressionClasses(); 065 } 066 067 /** {@inheritDoc} */ 068 @Override 069 public void disposeMe() { 070 // Do nothing 071 } 072 073}