package lrs.visitor; import lrs.*; /* * Removes every other element from host. */ public class EveryOther implements IAlgo { public final static EveryOther Singleton = new EveryOther (); private EveryOther() { } /** * @param host * @param input * @return */ public Object nullCase(LRStruct host, Object input) { return new LRStruct (); } /** * @param host * @param input * @return */ public Object nonNullCase(LRStruct host, Object input) { return host.getRest().execute(EveryOtherHelper.Singleton, host); } public static void main(String[] args) { LRStruct l1 = new LRStruct (); System.out.println ("l1: " + l1); System.out.println ("EveryOther l1..."); LRStruct l2 = (LRStruct)l1.execute(EveryOther.Singleton, null); System.out.println ("l1: " + l1); System.out.println ("l2: " + l2); l1.insertFront (new Integer (-9)); l1.insertFront (new Integer (15)); l1.insertFront (new Integer (263)); l1.insertFront (new Integer (-72)); l1.insertFront (new Integer (0)); l1.insertFront (new Integer (48)); System.out.println ("l1: " + l1); System.out.println ("EveryOther l1..."); l2 = (LRStruct)l1.execute(EveryOther.Singleton, null); System.out.println ("l1: " + l1); System.out.println ("l2: " + l2); } }