1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.jclouds.http.internal;
20
21 import static com.google.common.base.Preconditions.checkNotNull;
22 import static org.jclouds.io.Payloads.newPayload;
23
24 import java.io.File;
25 import java.io.InputStream;
26
27 import org.jclouds.javax.annotation.Nullable;
28
29 import org.jclouds.io.Payload;
30 import org.jclouds.io.PayloadEnclosing;
31
32
33
34
35
36 public class PayloadEnclosingImpl implements PayloadEnclosing {
37 protected Payload payload;
38
39 public PayloadEnclosingImpl() {
40 this(null);
41 }
42
43 public PayloadEnclosingImpl(@Nullable Payload payload) {
44 this.payload = payload;
45 }
46
47
48
49
50 @Override
51 public Payload getPayload() {
52 return payload;
53 }
54
55
56
57
58 @Override
59 public void setPayload(Payload data) {
60 if (this.payload != null)
61 payload.release();
62 this.payload = checkNotNull(data, "data");
63 }
64
65
66
67
68 @Override
69 public void setPayload(InputStream data) {
70 setPayload(newPayload(checkNotNull(data, "data")));
71 }
72
73
74
75
76 @Override
77 public void setPayload(byte[] data) {
78 setPayload(newPayload(checkNotNull(data, "data")));
79 }
80
81
82
83
84 @Override
85 public void setPayload(String data) {
86 setPayload(newPayload(checkNotNull(data, "data")));
87 }
88
89
90
91
92 @Override
93 public void setPayload(File data) {
94 setPayload(newPayload(checkNotNull(data, "data")));
95 }
96
97 @Override
98 public int hashCode() {
99 final int prime = 31;
100 int result = 1;
101 result = prime * result + ((payload == null) ? 0 : payload.hashCode());
102 return result;
103 }
104
105 @Override
106 public boolean equals(Object obj) {
107 if (this == obj)
108 return true;
109 if (obj == null)
110 return false;
111 if (getClass() != obj.getClass())
112 return false;
113 PayloadEnclosingImpl other = (PayloadEnclosingImpl) obj;
114 if (payload == null) {
115 if (other.payload != null)
116 return false;
117 } else if (!payload.equals(other.payload))
118 return false;
119 return true;
120 }
121
122 }