📄 connectionhelper.java
字号:
if (target instanceof AbstractConverterPlugIn) { if (source instanceof ConverterPlugIn) { retValue = ((AbstractConverterPlugIn)target).addPlugIn((ConverterPlugIn)source); } return retValue; } if (target instanceof OutputSwitchSynapse) { retValue = connectToOutputSwitchSynapse(source, (OutputSwitchSynapse)target); } return retValue; } private static boolean connectToLayer(Object source, Object media, Layer target) { boolean retValue = false; if (source instanceof Layer) { if ((media != null) && (media instanceof Synapse)) { if (((Layer)source).addOutputSynapse((Synapse)media)) { retValue = target.addInputSynapse((Synapse)media); } } } if (source instanceof InputPatternListener) { retValue = target.addInputSynapse((InputPatternListener)source); } return retValue; } private static boolean connectToStreamOutputSynapse(Object source, StreamOutputSynapse target) { boolean retValue = false; if (source instanceof Layer) retValue = ((Layer)source).addOutputSynapse(target); if (source instanceof ComparingElement) retValue = ((ComparingElement)source).addResultSynapse(target); if (source instanceof OutputConverterPlugIn) retValue = target.addPlugIn((OutputConverterPlugIn)source); if (source instanceof OutputSwitchSynapse) retValue = ((OutputSwitchSynapse)source).addOutputSynapse(target); return retValue; } private static boolean connectToComparingElement(Object source, ComparingElement target) { boolean retValue = false; if (source instanceof Layer) retValue = ((Layer)source).addOutputSynapse(target); if (source instanceof StreamInputSynapse) retValue = target.setDesired((StreamInputSynapse)source); return retValue; } private static boolean connectToOutputSwitchSynapse(Object source, OutputSwitchSynapse target) { boolean retValue = false; if (source instanceof Layer) retValue = ((Layer)source).addOutputSynapse(target); if (source instanceof ComparingElement) retValue = ((ComparingElement)source).addResultSynapse(target); if (source instanceof OutputSwitchSynapse) retValue = ((OutputSwitchSynapse)source).addOutputSynapse(target); return retValue; } /** * Disconnects two elements. * Warning: This method is sensitive to the order of the elements. * If this method returns false when called with (obj1, obj2) as parameters, * you should recall it using the parameters in reverse order (obj2, obj1) * @param source The source element to disconnect * @param target The target element to disconnect * @return true if the two elements have been disconnected */ public static boolean disconnect(Object source, Object target) { boolean retValue = false; if (target instanceof InputConnector) { if (source instanceof StreamInputSynapse) retValue = ((InputConnector)target).setInputSynapse(null); return retValue; } if (target instanceof LearningSwitch) { if (source instanceof StreamInputSynapse) { if (((LearningSwitch)target).getTrainingSet() == source) { ((LearningSwitch)target).removeTrainingSet(); retValue = true; } if (((LearningSwitch)target).getValidationSet() == source) { ((LearningSwitch)target).removeValidationSet(); retValue = true; } } return retValue; } if (target instanceof InputSwitchSynapse) { if (source instanceof StreamInputSynapse) retValue = ((InputSwitchSynapse)target).removeInputSynapse(((StreamInputSynapse)source).getName()); return retValue; } if (target instanceof Layer) { retValue = disconnectFromLayer(source, (Layer)target); return retValue; } if (target instanceof StreamInputSynapse) { if (source instanceof ConverterPlugIn) { retValue = ((StreamInputSynapse)target).addPlugIn(null); } return retValue; } if (target instanceof StreamOutputSynapse) { retValue = disconnectFromStreamOutputSynapse(source, (StreamOutputSynapse)target); return retValue; } if (target instanceof ComparingElement) { retValue = disconnectFromComparingElement(source, (ComparingElement)target); return retValue; } if (target instanceof AbstractConverterPlugIn) { if (source instanceof ConverterPlugIn) { retValue = ((AbstractConverterPlugIn)target).addPlugIn(null); } return retValue; } if (target instanceof OutputSwitchSynapse) { retValue = disconnectFromOutputSwitchSynapse(source, (OutputSwitchSynapse)target); } return retValue; } private static boolean disconnectFromLayer(Object source, Layer target) { boolean retValue = false; if (source instanceof Layer) { Object media = getConnection((Layer)source, target); if ((media != null) && (media instanceof Synapse)) { ((Layer)source).removeOutputSynapse((Synapse)media); target.removeInputSynapse((Synapse)media); retValue = true; } } if (source instanceof InputPatternListener) { target.removeInputSynapse((InputPatternListener)source); retValue = true; } return retValue; } private static boolean disconnectFromStreamOutputSynapse(Object source, StreamOutputSynapse target) { boolean retValue = false; if (source instanceof Layer) { ((Layer)source).removeOutputSynapse(target); retValue = true; } if (source instanceof ComparingElement) { ((ComparingElement)source).removeResultSynapse(target); retValue = true; } if (source instanceof OutputConverterPlugIn) retValue = target.addPlugIn(null); if (source instanceof OutputSwitchSynapse) retValue = ((OutputSwitchSynapse)source).removeOutputSynapse(target.getName()); return retValue; } private static boolean disconnectFromComparingElement(Object source, ComparingElement target) { boolean retValue = false; if (source instanceof Layer) { ((Layer)source).removeOutputSynapse(target); retValue = true; } if (source instanceof StreamInputSynapse) retValue = target.setDesired(null); return retValue; } private static boolean disconnectFromOutputSwitchSynapse(Object source, OutputSwitchSynapse target) { boolean retValue = false; if (source instanceof Layer) { ((Layer)source).removeOutputSynapse(target); retValue = true; } if (source instanceof ComparingElement) { ((ComparingElement)source).removeResultSynapse(target); retValue = true; } if (source instanceof OutputSwitchSynapse) retValue = ((OutputSwitchSynapse)source).removeOutputSynapse(target.getName()); return retValue; } // Searches the synapse that connects two Layers private static Object getConnection(Layer source, Layer target) { Object conn = null; Vector inps = target.getAllInputs(); Vector outs = source.getAllOutputs(); if ((inps != null) && (inps.size() > 0) && (outs != null) && (outs.size() > 0)) { for (int i=0; (conn == null) && (i < inps.size()); ++i) { Object cc = inps.elementAt(i); if (cc instanceof Synapse) { for (int u=0; (conn == null) && (u < outs.size()); ++u) { if (outs.elementAt(u) == cc) { conn = cc; } } } } } return conn; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -