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.Base; 009import jmri.jmrit.logixng.DigitalExpressionManager; 010import jmri.jmrit.logixng.FemaleSocketListener; 011import jmri.jmrit.logixng.MaleSocket; 012import jmri.jmrit.logixng.FemaleDigitalExpressionSocket; 013import jmri.jmrit.logixng.MaleDigitalExpressionSocket; 014 015/** 016 * Default implementation of the Female Digital Expression socket 017 */ 018public class DefaultFemaleDigitalExpressionSocket extends AbstractFemaleSocket 019 implements FemaleDigitalExpressionSocket { 020 021 public DefaultFemaleDigitalExpressionSocket(Base parent, FemaleSocketListener listener, String name) { 022 super(parent, listener, name); 023 } 024 025 /** {@inheritDoc} */ 026 @Override 027 public boolean isCompatible(MaleSocket socket) { 028 return socket instanceof MaleDigitalExpressionSocket; 029 } 030 031 /** {@inheritDoc} */ 032 @Override 033 public boolean evaluate() throws JmriException { 034 if (isConnected()) { 035 return ((MaleDigitalExpressionSocket)getConnectedSocket()) 036 .evaluate(); 037 } else { 038 return false; 039 } 040 } 041 042 /** {@inheritDoc} */ 043 @Override 044 public String getShortDescription(Locale locale) { 045 return Bundle.getMessage(locale, "DefaultFemaleDigitalExpressionSocket_Short"); 046 } 047 048 /** {@inheritDoc} */ 049 @Override 050 public String getLongDescription(Locale locale) { 051 return Bundle.getMessage(locale, "DefaultFemaleDigitalExpressionSocket_Long", getName()); 052 } 053 054 @Override 055 public Map<Category, List<Class<? extends Base>>> getConnectableClasses() { 056 return InstanceManager.getDefault(DigitalExpressionManager.class).getExpressionClasses(); 057 } 058 059 /** {@inheritDoc} */ 060 @Override 061 public void disposeMe() { 062 // Do nothing 063 } 064 065}