package org.freeplane.plugin.script; import org.codehaus.groovy.runtime.DefaultGroovyMethods; import org.codehaus.groovy.runtime.typehandling.NumberMath; import org.freeplane.plugin.script.proxy.Proxy; /** provides class Integer, Double etc. with support for arithmetics with nodes (<code>Number <operator> Node</code>). * @see {@link NodeProxy} for <code>Node <operator> Node</code> and <code>Node <operator> Number</code> */ public class NodeArithmeticsCategory { public static Number and(final Number self, final Proxy.Node node) { return NumberMath.and(self, node.getTo().getNum0()); } public static Number div(final Number self, final Proxy.Node node) { return NumberMath.divide(self, node.getTo().getNum0()); } public static Number minus(final Number self, final Proxy.Node node) { return NumberMath.subtract(self, node.getTo().getNum0()); } public static Number mod(final Number self, final Proxy.Node node) { return NumberMath.mod(self, node.getTo().getNum0()); } public static Number multiply(final Number self, final Proxy.Node node) { return NumberMath.multiply(self, node.getTo().getNum0()); } public static Number or(final Number self, final Proxy.Node node) { return NumberMath.or(self, node.getTo().getNum0()); } public static Number plus(final Number self, final Proxy.Node node) { return NumberMath.add(self, node.getTo().getNum0()); } public static Number power(final Number self, final Proxy.Node node) { return DefaultGroovyMethods.power(self, node.getTo().getNum0()); } public static Number xor(final Number self, final Proxy.Node node) { return NumberMath.xor(self, node.getTo().getNum0()); } }