package genRac; import genLRS.*; /* * Implements a factory for restricted access containers, including a * container that returns a random item. */ public class RandomRACFactory extends ALRSRACFactory { /** * Create a container that returns a random item. */ public IRAContainer makeRAC() { return new LRSRAContainer (new IAlgo() { public Object emptyCase(LRStruct host, T... input) { return ((LRStruct)host).insertFront(input[0]); } public Object nonEmptyCase(LRStruct host, T... input) { /* * Math.Random returns a value between 0.0 and 1.0. */ if (0.75 > Math.random()) return ((LRStruct)host).insertFront(input[0]); else return ((LRStruct)host).getRest().execute(this, input[0]); } }); } }