{"title":"Java Edit Variable","nodeType":"Manipulator","id":"*czF_b1jv4IgZUqyZ","factoryName":"org.knime.base.node.jsnippet.JavaEditVarNodeFactory","factoryId":"org.knime.base.node.jsnippet.JavaEditVarNodeFactory","path":["Workflow Control","Variables"],"owner":"knime","ownerAccountId":"account:team:b5f0848f-496d-4e6a-b869-fa3532248db7","description":"<p>Edit or add flow variables using java code. The node is analogous to the Java Snippet node: In the central panel, added java code to add or modify variables. The variables available at the input are listed on the left.</p>\n                        \n            <p>It is also possible to use external java libraries (that is, libraries that are not part of java boot classpath). In order to include such external jar or zip files, add their location in the &#34;Additional Libraries&#34; tab using the control buttons.</p>\n                        \n            <p>You can define reusable templates with the &#34;Create templates...&#34; button. Templates are stored in the users workspace by default and can be accessed via the &#34;Templates&#34; tab.</p>\n                        \n        \n        \n        ","shortDescription":"Edit or add flow variables using java code.","keywords":[],"deprecated":false,"streamable":false,"tags":["Workflow Control","Variables"],"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowYjM2YWM5Ny01ZWJhLTQwZTctOTE4OS1iYmU4ZDdkMGYyNGUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzJGNTE2OUY0NUM3MTFFNUFDNkJBNzc0MkI4RTNBMkQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzJGNTE2OUU0NUM3MTFFNUFDNkJBNzc0MkI4RTNBMkQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiMjZmMjcxNS1kZmZiLTRlYTgtYWJjMi0xZDk4N2YzMzE1NzIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MGIzNmFjOTctNWViYS00MGU3LTkxODktYmJlOGQ3ZDBmMjRlIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+JIv1RQAAAMNJREFUeNqUUsENgzAMdBAL9M+LFdiJFVihK3QFVmCFrNAfb1YINjqrJnKacNIJY5PDPoeIKOVkkAfJo7bi26nTpD0UQiiK5Oi85EBDahVxBXbag4rUBPpSQUTs7E0dWD8yT6J0w3x5zhYBpwVvxDOEv0L9ibfGm0C2OuHGHCX/12pu+XrUtlHtACMcTOtBvEZp9GBCvHjvLR0Q5o6IF9TG1g4Es95/bGF7skbC/AcO/sZ5ICD4IHczNFVooeatmjgFGACFtCmG2KOhbgAAAABJRU5ErkJggg==","views":[],"inPorts":[{"objectClass":"org.knime.core.node.port.flowvariable.FlowVariablePortObject","color":"ff4b4b","dataType":"Flow Variable","optional":true,"name":"Input variables (optional)","description":"Input variables (optional)."}],"outPorts":[{"objectClass":"org.knime.core.node.port.flowvariable.FlowVariablePortObject","color":"ff4b4b","dataType":"Flow Variable","optional":false,"name":"Output variables","description":"Output variables."}],"dynInPorts":[],"dynOutPorts":[],"additionalSiteInformation":{"url":"https://update.knime.com/analytics-platform/5.12","trusted":true,"enabledByDefault":true,"name":"KNIME Analytics Platform 5.12 Update Site","version":"5.12.0"},"dialog":[{"fields":[{"name":"Flow Variable List","description":"The list contains the flow variables that are currently available at the node input. Double clicking any of the entries will insert the respective identifier at the current cursor position (replacing the selection, if any).","optional":false},{"name":"Snippet text area","description":"Enter your java code here. You can access input flow variables by defining them in the <b>Snippet fields for input</b> . A second way is to use the method <i>getFlowVariable(name, type)</i> where <i>name</i> is the name of the flow variable, respectively. You can use the following values for the <i>type</i> parameter.\n<br />\n<i>tString</i>: String\n<br />\n<i>tInt</i>: Integer\n<br />\n<i>tDouble</i>: Double\n<br />\n<br />\n<b>Java Snippet Methods:</b>\n<br />\n<i>getFlowVariable(name, type)</i>: Get value of a flow variable by name\n<br />\n<i>getFlowVariables(type)</i>: Get all flow variables by type. A name to value map is returned.\n<br />\n<i>flowVariableExists(name)</i>: Check if a flow variable with given name exists\n<br />\n<i>isFlowVariableOfType(name, type)</i>: Check if a flow variable is of type\n<br />\n<p>You can hit <i>ctrl&#43;space</i> to get an auto completion box with all available classes, methods and fields. When you select a class and hit <i>enter</i> a import statement will be generated if missing.</p>\n<p>Note, that the snippet allows defining custom global variables and custom imports.</p>\n<p>Exceptions in the snippet are caught by the framework and will cause the execution to fail. If you want to stop execution, please use an exception of class <tt>Abort</tt> . It gives the user a nice error message.</p>","optional":false},{"name":"Input","description":"Define system input fields for the snippet text area. Every field represents a flow variable of the input.","optional":false},{"name":"Output","description":"Define flow variables that will be added to stack of flow variables at the output. Every row in the <b>Output</b> table defines a java field bound to a flow variable. Values assigned to this field in the snippet will set the value of the flow variable at the output.","optional":false},{"name":"Run script during node configuration or during node execution","description":"In the former case, the snippet is run as soon as the node is configured (default). In the latter case, the snippet is run only once when the node is being executed, i.e. going from yellow to green state. This means that variables are populated later, often causing downstream nodes to be not configurable, as the created variables have a meaningless default value. However, sometimes this is necessary when, for instance, the snippet involves heavy computation, network access or another kind of I/O operation. If unsure, set this option to run the script during node configuration.","optional":false}]}],"links":[{"text":"KNIME Documentation: Creation and usage of flow variables in a KNIME workflow","url":"https://docs.knime.com/ap/latest/analytics_platform_flow_control_guide/#flow-variables"}],"kudos":[],"kudosCount":0,"bundleInformation":{"bundleVersion":"5.12.0.v202606171353","bundleName":"KNIME Java Snippet Nodes","bundleSymbolicName":"org.knime.jsnippets","bundleVendor":"KNIME AG, Zurich, Switzerland","featureSymbolicName":"org.knime.features.javasnippet","featureName":"KNIME Javasnippet","featureVersion":"5.12.0.v202606171353","featureVendor":"KNIME AG, Zurich, Switzerland","extensionId":"*hXfYFyb7ZzM0xseG"},"frequentSuccessors":[{"id":"*Oy714gpoifm4PiOZ","factoryName":"org.knime.base.node.io.csvwriter.CSVWriterNodeFactory","probability":0.05409705648369133},{"id":"*jd2U-FYTI8jCbQls","factoryName":"org.knime.base.node.preproc.filter.row.RowFilterNodeFactory","probability":0.045346062052505964},{"id":"*Y_8cAJatl5UQNkJy","factoryName":"org.knime.base.node.flowvariable.variabletotablerow2.VariableToTable2NodeFactory","probability":0.03977724741447892},{"id":"*iwDu8kKWK5YB0F_q","factoryName":"org.knime.base.node.util.mergevariables.MergeVariablesNodeFactory","probability":0.031026252983293555},{"id":"*QNB4FsAPnEAgOMVh","factoryName":"org.knime.base.node.jsnippet.JavaSnippetNodeFactory","probability":0.030230708035003977},{"id":"*czF_b1jv4IgZUqyZ","factoryName":"org.knime.base.node.jsnippet.JavaEditVarNodeFactory","probability":0.02386634844868735},{"id":"*8Mn_4LtrzrbzyAti","factoryName":"org.knime.base.node.io.filereader.FileReaderNodeFactory","probability":0.023070803500397773},{"id":"*fK0j1K1mcusekRy2","factoryName":"org.knime.base.node.io.database.DBReaderNodeFactory","probability":0.020684168655529037},{"id":"*JiJhJpgkWWuOfG2s","factoryName":"org.knime.ext.poi2.node.write2.XLSWriter2NodeFactory","probability":0.01988862370723946},{"id":"*UJGG6H71DePX6_-U","factoryName":"org.knime.base.node.switches.manualif.ManualIfNodeFactory","probability":0.016706443914081145}]}
