KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > coldcore > coloradoftp > command > impl > GenericReply


1 package com.coldcore.coloradoftp.command.impl;
2
3 import com.coldcore.coloradoftp.command.Command;
4 import com.coldcore.coloradoftp.command.Reply;
5
6 import java.util.StringTokenizer JavaDoc;
7
8 /**
9  * @see com.coldcore.coloradoftp.command.Command
10  */

11 public class GenericReply implements Reply {
12
13   protected String JavaDoc code;
14   protected String JavaDoc text;
15   protected Command command;
16
17
18   public String JavaDoc getCode() {
19     return code;
20   }
21
22
23   public void setCode(String JavaDoc code) {
24     this.code = code;
25   }
26
27
28   public String JavaDoc getText() {
29     return text;
30   }
31
32
33   public void setText(String JavaDoc text) {
34     this.text = text;
35   }
36
37
38   public Command getCommand() {
39     return command;
40   }
41
42
43   public void setCommand(Command command) {
44     this.command = command;
45   }
46
47
48   public String JavaDoc prepare() {
49     if (code == null || code.trim().length() != 3) throw new IllegalArgumentException JavaDoc("Invalid code");
50     if (text == null) text = "";
51
52     StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
53     text = text.trim();
54     code = code.trim();
55
56     //This may be just code
57
if (text.equals("")) {
58       sb.append(code).append("\r\n");
59       return sb.toString();
60     }
61
62     //Or code with a single text line
63
if (text.indexOf("\r\n") == -1) {
64       sb.append(code).append(" ").append(text).append("\r\n");
65       return sb.toString();
66     }
67
68     //Or multiline text
69
sb.append(code).append("-");
70     StringTokenizer JavaDoc st = new StringTokenizer JavaDoc(text, "\n");
71     while (st.hasMoreTokens()) {
72       String JavaDoc line = st.nextToken().trim();
73       if (!st.hasMoreTokens()) sb.append(code);
74       sb.append(" ").append(line).append("\r\n");
75     }
76     return sb.toString();
77   }
78 }
79
Popular Tags