// ** This class was generated with DemFGen (vers:11/09/2009) package edu.neu.ccs.demeterf.http.classes; import edu.neu.ccs.demeterf.Fields; import edu.neu.ccs.demeterf.lib.ident; import edu.neu.ccs.demeterf.lib.verbatim; import edu.neu.ccs.demeterf.lib.*; import java.net.Socket; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.io.IOException; import java.io.BufferedReader; import java.io.PrintWriter; import java.io.InputStreamReader; import java.io.InputStream; /** Computes a String representation in CD Syntax, named as a ToString method */ public class PrintHeapToString extends edu.neu.ccs.demeterf.FC{ /** Static stub method for calling toString */ public static String PrintHeapToStringM(Object o){ return new edu.neu.ccs.demeterf.stackless.HeapTrav(new PrintHeapToString(),edu.neu.ccs.demeterf.Control.builtins()).traverse(o).toString(); } public StringBuffer combine(byte _h_){ return new StringBuffer(""+_h_); } public StringBuffer combine(short _h_){ return new StringBuffer(""+_h_); } public StringBuffer combine(int _h_){ return new StringBuffer(""+_h_); } public StringBuffer combine(long _h_){ return new StringBuffer(""+_h_); } public StringBuffer combine(float _h_){ return new StringBuffer(""+_h_); } public StringBuffer combine(double _h_){ return new StringBuffer(""+_h_); } public StringBuffer combine(char _h_){ return new StringBuffer("\'"+escape(""+_h_)+"\'"); } public StringBuffer combine(boolean _h_){ return new StringBuffer(""+_h_); } public StringBuffer combine(String _h_){ return new StringBuffer("\""+escape(""+_h_)+"\""); } public StringBuffer combine(ident _h_){ return new StringBuffer(""+_h_); } public StringBuffer combine(verbatim _h_){ return new StringBuffer(""+_h_); } public StringBuffer combine(HTTPReq _h_, StringBuffer head, StringBuffer keys, StringBuffer body){ return new StringBuffer("").append(head).append(keys).append("\r\n").append(body); } public StringBuffer combine(HTTPResp _h_, StringBuffer ver, StringBuffer resp, StringBuffer label, StringBuffer keys, StringBuffer body){ return new StringBuffer("").append(ver).append(" ").append(resp).append(" ").append(label).append("\r\n").append(keys).append("\r\n").append(body); } public StringBuffer combine(HTTPHead _h_, StringBuffer url, StringBuffer ver){ return new StringBuffer("").append(" ").append(url).append(" ").append(ver).append("\r\n"); } public StringBuffer combine(GetReq _h_, StringBuffer url, StringBuffer ver){ return new StringBuffer("").append("GET ").append(url).append(" ").append(ver).append("\r\n"); } public StringBuffer combine(HeadReq _h_, StringBuffer url, StringBuffer ver){ return new StringBuffer("").append("HEAD ").append(url).append(" ").append(ver).append("\r\n"); } public StringBuffer combine(PostReq _h_, StringBuffer url, StringBuffer ver){ return new StringBuffer("").append("POST ").append(url).append(" ").append(ver).append("\r\n"); } public StringBuffer combine(PutReq _h_, StringBuffer url, StringBuffer ver){ return new StringBuffer("").append("PUT ").append(url).append(" ").append(ver).append("\r\n"); } public StringBuffer combine(DeleteReq _h_, StringBuffer url, StringBuffer ver){ return new StringBuffer("").append("DELETE ").append(url).append(" ").append(ver).append("\r\n"); } public StringBuffer combine(TraceReq _h_, StringBuffer url, StringBuffer ver){ return new StringBuffer("").append("TRACE ").append(url).append(" ").append(ver).append("\r\n"); } public StringBuffer combine(ConnectReq _h_, StringBuffer url, StringBuffer ver){ return new StringBuffer("").append("CONNECT ").append(url).append(" ").append(ver).append("\r\n"); } public StringBuffer combine(OptionsReq _h_, StringBuffer url, StringBuffer ver){ return new StringBuffer("").append("OPTIONS ").append(url).append(" ").append(ver).append("\r\n"); } public StringBuffer combine(URL _h_){ return new StringBuffer(""); } public StringBuffer combine(BaseURL _h_, StringBuffer rest){ return new StringBuffer("").append("/").append(rest); } public StringBuffer combine(MidURL _h_, StringBuffer id, StringBuffer rest){ return new StringBuffer("").append(id).append(rest); } public StringBuffer combine(NoURL _h_){ return new StringBuffer(""); } public StringBuffer combine(HTTPVer _h_, StringBuffer ver){ return new StringBuffer("").append("HTTP/").append(ver); } public StringBuffer combine(MsgHead _h_, StringBuffer key, StringBuffer value){ return new StringBuffer("").append(key).append(": ").append(value); } public static String escape(String s){ char str[] = s.toCharArray(); StringBuffer ret = new StringBuffer(""); for(char c:str)ret.append(escape(c)); return ret.toString(); } public static String escape(char c){ switch(c){ case '\n':return "\\n"; case '\t':return "\\t"; case '\b':return "\\b"; case '\r':return "\\r"; case '\f':return "\\f"; case '\\':return "\\\\"; case '\'':return "\\'"; case '\"':return "\\\""; default: return ""+c; } } public StringBuffer combine(List _h_){ return new StringBuffer(""); } public StringBuffer combine(Empty _h_){ return new StringBuffer(""); } public StringBuffer combine(Cons _h_, StringBuffer first, StringBuffer rest){ return new StringBuffer("").append(first).append("\r\n").append(rest); } }