001package jmri.jmrit.logixng.implementation; 002 003import java.util.*; 004 005import jmri.*; 006import jmri.jmrit.logixng.Base; 007import jmri.jmrit.logixng.FemaleSocketListener; 008import jmri.jmrit.logixng.FemaleStringActionSocket; 009import jmri.jmrit.logixng.MaleStringActionSocket; 010import jmri.jmrit.logixng.MaleSocket; 011import jmri.jmrit.logixng.StringActionManager; 012 013/** 014 * Default implementation of the Female String Action socket 015 */ 016public final class DefaultFemaleStringActionSocket 017 extends AbstractFemaleSocket 018 implements FemaleStringActionSocket { 019 020 public DefaultFemaleStringActionSocket(Base parent, FemaleSocketListener listener, String name) { 021 super(parent, listener, name); 022 } 023 024 @Override 025 public boolean isCompatible(MaleSocket socket) { 026 return socket instanceof MaleStringActionSocket; 027 } 028 029 @Override 030 public void setValue(String value) throws JmriException { 031 if (isConnected()) { 032 ((MaleStringActionSocket)getConnectedSocket()).setValue(value); 033 } 034 } 035 036 @Override 037 public String getShortDescription(Locale locale) { 038 return Bundle.getMessage(locale, "DefaultFemaleStringActionSocket_Short"); 039 } 040 041 @Override 042 public String getLongDescription(Locale locale) { 043 return Bundle.getMessage(locale, "DefaultFemaleStringActionSocket_Long", getName()); 044 } 045 046 @Override 047 public Map<Category, List<Class<? extends Base>>> getConnectableClasses() { 048 return InstanceManager.getDefault(StringActionManager.class).getActionClasses(); 049 } 050 051 /** {@inheritDoc} */ 052 @Override 053 public void disposeMe() { 054 // Do nothing 055 } 056 057}