{"title":"Java Snippet Row Splitter","nodeType":"Manipulator","id":"*Tfdrbm3BPahDguUq","factoryName":"org.knime.ext.sun.nodes.script.node.rowsplitter.JavaRowSplitterNodeFactory","factoryId":"org.knime.ext.sun.nodes.script.node.rowsplitter.JavaRowSplitterNodeFactory","path":["Scripting","Java"],"owner":"knime","ownerAccountId":"account:team:b5f0848f-496d-4e6a-b869-fa3532248db7","description":"<p>Java Snippet based Row Splitter. Use the java editor to enter a boolean expression that is used to define whether an input row is passed to the first ( <tt>true</tt> ) or second ( <tt>false</tt> ) output. For instance, to filter for every other row, you could use an expression such as</p>\n                        \n            <pre>return $$ROWINDEX$$ % 2 &#61;&#61; 0;\n            </pre>\n                        \n            <p>This node supports missing values. If the corresponding check box is set missing values are represented as <tt>null</tt> values. If the check box is not set and the snippet accesses a field whose value is missing, the expression evaluates to <tt>false</tt> (no match). It also evaluates to <tt>false</tt> in case the snippet throws an exception (other than <tt>Abort</tt> ).</p>\n            \t        \n            <p>You can halt the entire execution by throwing an <tt>Abort</tt> exception such as <tt>throw new Abort(message);</tt> .</p>\n            \t\t\n        \n        ","shortDescription":"Java Snippet based Row Splitter","keywords":[],"deprecated":false,"streamable":true,"tags":["Scripting","Java","Streamable"],"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowYjM2YWM5Ny01ZWJhLTQwZTctOTE4OS1iYmU4ZDdkMGYyNGUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzVCQTIxRjM0NUM2MTFFNUFDNkJBNzc0MkI4RTNBMkQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzVCQTIxRjI0NUM2MTFFNUFDNkJBNzc0MkI4RTNBMkQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiMjZmMjcxNS1kZmZiLTRlYTgtYWJjMi0xZDk4N2YzMzE1NzIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MGIzNmFjOTctNWViYS00MGU3LTkxODktYmJlOGQ3ZDBmMjRlIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+cy6sqAAAAJ5JREFUeNq8U+0NhDAIhcZJ3Ml9zn/O4gqu4E5cX9KaZ5WKyeVeQijlq0BRMxNAVfPRMlPBXSt7SCwUJ3CJYoBTGwQsGiAVY3aIp2/QFmq1dqcHK1QJymKg5MkyOvl5yhyl6wuoBx4Bs9ebJD/AX0tAkCU8xs5r63nzlKd/QJjIbs80SqdW6y3RMQVsHIjSXsZFn+12mdhQ32wi8BVgALDIcPJ/01AXAAAAAElFTkSuQmCC","views":[],"inPorts":[{"objectClass":"org.knime.core.node.BufferedDataTable","color":"000000","dataType":"Table","optional":false,"name":"Input data","description":"Input data to be split."}],"outPorts":[{"objectClass":"org.knime.core.node.BufferedDataTable","color":"000000","dataType":"Table","optional":false,"name":"True match","description":"Input data for which the expression evaluated to <tt>true</tt> ."},{"objectClass":"org.knime.core.node.BufferedDataTable","color":"000000","dataType":"Table","optional":false,"name":"False match","description":"Input data for which the expression evaluated to <tt>true</tt> ."}],"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":"Column List","description":"The list contains the column that are available in the input table. Double click any of the column names to insert the respective field in the expression editor. It will replace your current selection or simply insert at the current caret position.","optional":false},{"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":"Global Variable Declaration","description":"Define global variables here. These variables are available during the execution and they are also modifiable. Names starting with &#39;_&#39; (underscore) are discouraged due to potential name conflicts with internally used variables.","optional":false},{"name":"Method Body","description":"Enter your java code here (the entire source will be wrapped in a method). You can add the name of a variables by double-clicking its name in the left list. Note that numeric (double-compatible) variables will be handled as <tt>Double</tt> , int-compatible variables as <tt>Integer</tt> and any other varaible type as <tt>String</tt> .","optional":false},{"name":"Insert Missing As Null","description":"If selected, missing values in the input table will be represented by <tt>null</tt> in the expression. It is your responsibility to check for <tt>null</tt> in this case (the fields are all real classes, so even <tt>int</tt> and <tt>double</tt> are represented as their respective class <tt>Integer</tt> and <tt>Double</tt> ). If unselected, a missing value in the relevant input cell will immediately produce a <tt>false</tt> match.","optional":false},{"name":"Compile on close","description":"If unchecked, the syntax test is skipped when the settings are applied to the model, allowing the dialog to close even if there are syntax errors encountered. This enables the user to temporarily close the dialog, investigate the input table and then return to the almost-complete-and-running snippet code in the dialog. The node will not be executable (it will be red) if the code contains syntax errors. This option is only for convenience, it does not have any effect on the output of this node.","optional":false}]}],"links":[],"kudos":[],"kudosCount":0,"bundleInformation":{"bundleVersion":"5.12.0.v202604301322","bundleName":"KNIME JavaScripting node","bundleSymbolicName":"org.knime.ext.sun","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":"*Tfdrbm3BPahDguUq","factoryName":"org.knime.ext.sun.nodes.script.node.rowsplitter.JavaRowSplitterNodeFactory","probability":0.08737864077669903},{"id":"*5stmXk6zY_ORA4bC","factoryName":"org.knime.base.node.preproc.groupby.GroupByNodeFactory","probability":0.0825242718446602},{"id":"*QNB4FsAPnEAgOMVh","factoryName":"org.knime.base.node.jsnippet.JavaSnippetNodeFactory","probability":0.06310679611650485},{"id":"*0rhLXWO6OS1xMi8T","factoryName":"org.knime.base.node.preproc.append.row.AppendedRowsNodeFactory","probability":0.05339805825242718},{"id":"*NEtdObxjUs6xOdsw","factoryName":"org.knime.ext.sun.nodes.script.JavaScriptingNodeFactory","probability":0.05339805825242718},{"id":"*ZgYyOm1P9VJVBE9e","factoryName":"org.knime.base.node.preproc.joiner.Joiner2NodeFactory","probability":0.038834951456310676},{"id":"*OuUlAho1iWN4TCEk","factoryName":"org.knime.base.node.switches.emptytableswitch.EmptyTableSwitchNodeFactory","probability":0.03398058252427184},{"id":"*DOkyMaii62U05xZ1","factoryName":"org.knime.base.node.preproc.filter.column.DataColumnSpecFilterNodeFactory","probability":0.03398058252427184},{"id":"*C-nR3bKHp4paQHZK","factoryName":"org.knime.base.node.preproc.filter.row.RowFilter2PortNodeFactory","probability":0.03398058252427184},{"id":"*LKxrCJihG46anH0Q","factoryName":"org.knime.base.node.preproc.filter.rowref.RowFilterRefNodeFactory","probability":0.02912621359223301}]}
