Changes response object naming
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / pazpar2 / ClientCommandResponse.java
1 package com.indexdata.mkjsf.pazpar2;\r
2 \r
3 import java.io.ByteArrayOutputStream;\r
4 import java.io.UnsupportedEncodingException;\r
5 \r
6 import com.indexdata.masterkey.pazpar2.client.Pazpar2HttpResponse;\r
7 \r
8 public class ClientCommandResponse implements HttpResponseWrapper {\r
9     \r
10   private int statusCode;\r
11   private String contentType;\r
12   private byte[] content = null;\r
13   private String contentString = null;\r
14   \r
15   public ClientCommandResponse(Pazpar2HttpResponse pz2response, ByteArrayOutputStream content) {    \r
16     this.content = content.toByteArray();\r
17     this.statusCode = pz2response.getStatusCode();\r
18     this.contentType = pz2response.getContentType();\r
19   }\r
20     \r
21   public ClientCommandResponse(int statusCode, String content, String contentType) {\r
22     this.statusCode = statusCode;\r
23     this.contentString = content;\r
24     this.contentType = contentType;\r
25   }\r
26   \r
27   public ClientCommandResponse(int statusCode, byte[] content, String contentType) {\r
28     this.statusCode = statusCode;\r
29     this.content = content;\r
30     this.contentType = contentType;\r
31   }\r
32 \r
33   @Override\r
34   public int getStatusCode() {    \r
35     return statusCode;\r
36   }\r
37 \r
38   @Override\r
39   public String getContentType() {\r
40     return contentType;\r
41   }\r
42 \r
43   @Override\r
44   public String getResponseString() {\r
45     if (content == null) {\r
46       return contentString;\r
47     } else {\r
48       try {\r
49         return new String(content,"UTF-8");\r
50       } catch (UnsupportedEncodingException e) {      \r
51         e.printStackTrace();\r
52         return "<error>unsupported encoding</error>";\r
53       }\r
54     }\r
55   }\r
56 \r
57   @Override\r
58   public byte[] getBytes() {\r
59     return content;\r
60   }\r
61 \r
62   @Override\r
63   public boolean isBinary() {    \r
64     return !contentType.contains("xml");\r
65   }\r
66 \r
67 }\r