| 1 package jfun.yan.xml.nuts.optional; 2 3 import jfun.yan.Component; 4 import jfun.yan.Components; 5 import jfun.yan.Map2; 6 import jfun.yan.Monad; 7 8 9 16 public abstract class BinaryAssertionNut extends BinaryNut { 17 22 public abstract void assertion(Object v1, Object v2); 23 public Component eval(){ 24 if(!isVal1Set() || !isVal2Set()) 25 throw raise("both values should be set for comparison."); 26 final Map2 cmp = new Map2(){ 27 public Object map(Object o1, Object o2){ 28 assertion(o1, o2); 29 return Components.value(null); 30 } 31 }; 32 final Component c1 = getComponent1(); 33 final Component c2 = getComponent2(); 34 return Monad.map(c1, c2, cmp); 35 37 } 38 39 } 40 | Popular Tags |