EMMA Coverage Report (generated Wed Oct 26 13:47:17 EDT 2011)
[all classes][org.jclouds.http.options]

COVERAGE SUMMARY FOR SOURCE FILE [BaseHttpRequestOptions.java]

nameclass, %method, %block, %line, %
BaseHttpRequestOptions.java100% (1/1)53%  (8/15)14%  (51/355)19%  (13/70)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class BaseHttpRequestOptions100% (1/1)53%  (8/15)14%  (51/355)19%  (13/70)
equals (Object): boolean 0%   (0/1)0%   (0/117)0%   (0/38)
getFirstFormOrNull (String): String 0%   (0/1)0%   (0/18)0%   (0/2)
getFirstMatrixOrNull (String): String 0%   (0/1)0%   (0/18)0%   (0/2)
getFirstQueryOrNull (String): String 0%   (0/1)0%   (0/18)0%   (0/2)
hashCode (): int 0%   (0/1)0%   (0/84)0%   (0/9)
replaceHeader (String, String): void 0%   (0/1)0%   (0/12)0%   (0/3)
toString (): String 0%   (0/1)0%   (0/37)0%   (0/1)
BaseHttpRequestOptions (): void 100% (1/1)100% (15/15)100% (5/5)
buildFormParameters (): Multimap 100% (1/1)100% (3/3)100% (1/1)
buildMatrixParameters (): Multimap 100% (1/1)100% (3/3)100% (1/1)
buildPathSuffix (): String 100% (1/1)100% (3/3)100% (1/1)
buildQueryParameters (): Multimap 100% (1/1)100% (3/3)100% (1/1)
buildRequestHeaders (): Multimap 100% (1/1)100% (3/3)100% (1/1)
buildStringPayload (): String 100% (1/1)100% (3/3)100% (1/1)
getFirstHeaderOrNull (String): String 100% (1/1)100% (18/18)100% (2/2)

1/**
2 * Licensed to jclouds, Inc. (jclouds) under one or more
3 * contributor license agreements.  See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership.  jclouds licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License.  You may obtain a copy of the License at
9 *
10 *   http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied.  See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19package org.jclouds.http.options;
20 
21import java.util.Collection;
22 
23import com.google.common.collect.LinkedHashMultimap;
24import com.google.common.collect.Multimap;
25 
26/**
27 * 
28 * @see HttpRequestOptions
29 * @author Adrian Cole
30 * 
31 */
32public class BaseHttpRequestOptions implements HttpRequestOptions {
33 
34   protected final Multimap<String, String> matrixParameters = LinkedHashMultimap.create();
35   protected final Multimap<String, String> formParameters = LinkedHashMultimap.create();
36   protected final Multimap<String, String> queryParameters = LinkedHashMultimap.create();
37   protected final Multimap<String, String> headers = LinkedHashMultimap.create();
38   protected String payload;
39   protected String pathSuffix;
40 
41   public String buildStringPayload() {
42      return payload;
43   }
44 
45   protected String getFirstMatrixOrNull(String string) {
46      Collection<String> values = matrixParameters.get(string);
47      return (values != null && values.size() >= 1) ? values.iterator().next() : null;
48   }
49 
50   protected String getFirstQueryOrNull(String string) {
51      Collection<String> values = queryParameters.get(string);
52      return (values != null && values.size() >= 1) ? values.iterator().next() : null;
53   }
54 
55   protected String getFirstFormOrNull(String string) {
56      Collection<String> values = formParameters.get(string);
57      return (values != null && values.size() >= 1) ? values.iterator().next() : null;
58   }
59 
60   protected String getFirstHeaderOrNull(String string) {
61      Collection<String> values = headers.get(string);
62      return (values != null && values.size() >= 1) ? values.iterator().next() : null;
63   }
64 
65   protected void replaceHeader(String key, String value) {
66      headers.removeAll(key);
67      headers.put(key, value);
68   }
69 
70   /**
71    * {@inheritDoc}
72    */
73   public Multimap<String, String> buildRequestHeaders() {
74      return headers;
75   }
76 
77   /**
78    * {@inheritDoc}
79    */
80   public Multimap<String, String> buildQueryParameters() {
81      return queryParameters;
82   }
83 
84   /**
85    * {@inheritDoc}
86    */
87   public Multimap<String, String> buildMatrixParameters() {
88      return matrixParameters;
89   }
90 
91   public String buildPathSuffix() {
92      return pathSuffix;
93   }
94 
95   public Multimap<String, String> buildFormParameters() {
96      return formParameters;
97   }
98 
99   @Override
100   public int hashCode() {
101      final int prime = 31;
102      int result = 1;
103      result = prime * result + ((formParameters == null) ? 0 : formParameters.hashCode());
104      result = prime * result + ((headers == null) ? 0 : headers.hashCode());
105      result = prime * result + ((matrixParameters == null) ? 0 : matrixParameters.hashCode());
106      result = prime * result + ((pathSuffix == null) ? 0 : pathSuffix.hashCode());
107      result = prime * result + ((payload == null) ? 0 : payload.hashCode());
108      result = prime * result + ((queryParameters == null) ? 0 : queryParameters.hashCode());
109      return result;
110   }
111 
112   @Override
113   public boolean equals(Object obj) {
114      if (this == obj)
115         return true;
116      if (obj == null)
117         return false;
118      if (getClass() != obj.getClass())
119         return false;
120      BaseHttpRequestOptions other = (BaseHttpRequestOptions) obj;
121      if (formParameters == null) {
122         if (other.formParameters != null)
123            return false;
124      } else if (!formParameters.equals(other.formParameters))
125         return false;
126      if (headers == null) {
127         if (other.headers != null)
128            return false;
129      } else if (!headers.equals(other.headers))
130         return false;
131      if (matrixParameters == null) {
132         if (other.matrixParameters != null)
133            return false;
134      } else if (!matrixParameters.equals(other.matrixParameters))
135         return false;
136      if (pathSuffix == null) {
137         if (other.pathSuffix != null)
138            return false;
139      } else if (!pathSuffix.equals(other.pathSuffix))
140         return false;
141      if (payload == null) {
142         if (other.payload != null)
143            return false;
144      } else if (!payload.equals(other.payload))
145         return false;
146      if (queryParameters == null) {
147         if (other.queryParameters != null)
148            return false;
149      } else if (!queryParameters.equals(other.queryParameters))
150         return false;
151      return true;
152   }
153 
154   @Override
155   public String toString() {
156      return "[formParameters=" + formParameters + ", headers=" + headers + ", matrixParameters="
157               + matrixParameters + ", pathSuffix=" + pathSuffix + ", payload=" + payload
158               + ", queryParameters=" + queryParameters + "]";
159   }
160 
161}

[all classes][org.jclouds.http.options]
EMMA 2.0.5312 (C) Vladimir Roubtsov