001 package lrs.visitor;
002 import lrs.*;
003 import java.awt.*;
004 // This visitor prints (by appending) a LRS made of CompareObjecs
005 // onto a TextArea AWT object.
006 // It does not clear the text area before writing to it.
007 // Returns null always.
008 public class LRSPrint
009 implements IAlgo
010 {
011 /** @SBGen Constructor */
012 public LRSPrint()
013 {
014 }
015
016 public Object emptyCase(LRStruct host, Object... param)
017 {
018 return(null); // Nothing to print here.
019 }
020
021 public Object nonEmptyCase(LRStruct host, Object... param)
022 {
023 TextArea device = (TextArea) param[0]; // saves recasting all the time
024 // appends the integer value of the data as a new line onto the TextArea
025 device.append(((Integer)host.getFirst()).toString() +'\n');
026 return host.getRest().execute(this,device); // recurse on the rest of the list
027 }
028 }