]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - argeo/server/ServerAnswer.java
1 package org
.argeo
.server
;
3 import java
.io
.PrintWriter
;
4 import java
.io
.StringWriter
;
6 import org
.apache
.commons
.io
.IOUtils
;
7 import org
.argeo
.ArgeoException
;
9 /** Answer to an execution of a remote service which performed changes. */
10 public class ServerAnswer
{
11 public final static String OK
= "OK";
12 public final static String ERROR
= "ERROR";
14 private String status
= OK
;
15 private String message
= "";
17 /** Canonical constructor */
18 public ServerAnswer(String status
, String message
) {
21 throw new ArgeoException("Message cannot be null");
22 this.message
= message
;
25 /** Empty constructor */
26 public ServerAnswer() {
29 public String
getStatus() {
33 public void setStatus(String status
) {
34 if (status
== null || (!status
.equals(OK
) && !status
.equals(ERROR
)))
35 throw new ArgeoException("Bad status format: " + status
);
39 public String
getMessage() {
43 public void setMessage(String message
) {
44 this.message
= message
;
47 public Boolean
isOk() {
48 return status
.equals(OK
);
51 public Boolean
isError() {
52 return status
.equals(ERROR
);
55 public static ServerAnswer
error(String message
) {
56 return new ServerAnswer(ERROR
, message
);
59 public static ServerAnswer
error(Throwable e
) {
60 StringWriter writer
= new StringWriter();
62 e
.printStackTrace(new PrintWriter(writer
));
63 return new ServerAnswer(ERROR
, writer
.toString());
65 IOUtils
.closeQuietly(writer
);
69 public static ServerAnswer
ok(String message
) {
70 return new ServerAnswer(OK
, message
);
74 public String
toString() {
75 return "ServerAnswer{status:" + status
+ ", message:" + message
+ "}";