EMMA Coverage Report (generated Wed Aug 10 12:30:04 EDT 2011)
[all classes][org.jclouds.aws.ec2.domain]

COVERAGE SUMMARY FOR SOURCE FILE [SpotInstanceRequest.java]

nameclass, %method, %block, %line, %
SpotInstanceRequest.java100% (4/4)69%  (38/55)80%  (793/996)66%  (132.7/200)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class SpotInstanceRequest100% (1/1)41%  (9/22)74%  (492/669)59%  (79.7/135)
compareTo (SpotInstanceRequest): int 0%   (0/1)0%   (0/6)0%   (0/1)
getAvailabilityZoneGroup (): String 0%   (0/1)0%   (0/3)0%   (0/1)
getCreateTime (): Date 0%   (0/1)0%   (0/3)0%   (0/1)
getFaultCode (): String 0%   (0/1)0%   (0/3)0%   (0/1)
getFaultMessage (): String 0%   (0/1)0%   (0/3)0%   (0/1)
getInstanceId (): String 0%   (0/1)0%   (0/3)0%   (0/1)
getLaunchGroup (): String 0%   (0/1)0%   (0/3)0%   (0/1)
getLaunchedAvailabilityZone (): String 0%   (0/1)0%   (0/3)0%   (0/1)
getProductDescription (): String 0%   (0/1)0%   (0/3)0%   (0/1)
getSpotPrice (): float 0%   (0/1)0%   (0/3)0%   (0/1)
getType (): SpotInstanceRequest$Type 0%   (0/1)0%   (0/3)0%   (0/1)
getValidFrom (): Date 0%   (0/1)0%   (0/3)0%   (0/1)
getValidUntil (): Date 0%   (0/1)0%   (0/3)0%   (0/1)
equals (Object): boolean 100% (1/1)57%  (143/252)48%  (38/79)
hashCode (): int 100% (1/1)88%  (183/209)93%  (17.7/19)
SpotInstanceRequest (String, String, String, Date, String, String, String, St... 100% (1/1)100% (63/63)100% (18/18)
builder (): SpotInstanceRequest$Builder 100% (1/1)100% (4/4)100% (1/1)
getId (): String 100% (1/1)100% (3/3)100% (1/1)
getLaunchSpecification (): LaunchSpecification 100% (1/1)100% (3/3)100% (1/1)
getRegion (): String 100% (1/1)100% (3/3)100% (1/1)
getState (): SpotInstanceRequest$State 100% (1/1)100% (3/3)100% (1/1)
toString (): String 100% (1/1)100% (87/87)100% (1/1)
     
class SpotInstanceRequest$Builder100% (1/1)79%  (15/19)88%  (149/169)84%  (43/51)
faultCode (String): SpotInstanceRequest$Builder 0%   (0/1)0%   (0/5)0%   (0/2)
faultMessage (String): SpotInstanceRequest$Builder 0%   (0/1)0%   (0/5)0%   (0/2)
validFrom (Date): SpotInstanceRequest$Builder 0%   (0/1)0%   (0/5)0%   (0/2)
validUntil (Date): SpotInstanceRequest$Builder 0%   (0/1)0%   (0/5)0%   (0/2)
SpotInstanceRequest$Builder (): void 100% (1/1)100% (3/3)100% (1/1)
availabilityZoneGroup (String): SpotInstanceRequest$Builder 100% (1/1)100% (5/5)100% (2/2)
build (): SpotInstanceRequest 100% (1/1)100% (36/36)100% (1/1)
clear (): SpotInstanceRequest$Builder 100% (1/1)100% (50/50)100% (17/17)
createTime (Date): SpotInstanceRequest$Builder 100% (1/1)100% (5/5)100% (2/2)
id (String): SpotInstanceRequest$Builder 100% (1/1)100% (5/5)100% (2/2)
instanceId (String): SpotInstanceRequest$Builder 100% (1/1)100% (5/5)100% (2/2)
launchGroup (String): SpotInstanceRequest$Builder 100% (1/1)100% (5/5)100% (2/2)
launchSpecification (LaunchSpecification): SpotInstanceRequest$Builder 100% (1/1)100% (5/5)100% (2/2)
launchedAvailabilityZone (String): SpotInstanceRequest$Builder 100% (1/1)100% (5/5)100% (2/2)
productDescription (String): SpotInstanceRequest$Builder 100% (1/1)100% (5/5)100% (2/2)
region (String): SpotInstanceRequest$Builder 100% (1/1)100% (5/5)100% (2/2)
spotPrice (float): SpotInstanceRequest$Builder 100% (1/1)100% (5/5)100% (2/2)
state (SpotInstanceRequest$State): SpotInstanceRequest$Builder 100% (1/1)100% (5/5)100% (2/2)
type (SpotInstanceRequest$Type): SpotInstanceRequest$Builder 100% (1/1)100% (5/5)100% (2/2)
     
class SpotInstanceRequest$Type100% (1/1)100% (7/7)96%  (66/69)71%  (5/7)
fromValue (String): SpotInstanceRequest$Type 100% (1/1)75%  (9/12)33%  (1/3)
<static initializer> 100% (1/1)100% (34/34)100% (2/2)
SpotInstanceRequest$Type (String, int): void 100% (1/1)100% (5/5)100% (1/1)
toString (): String 100% (1/1)100% (3/3)100% (1/1)
value (): String 100% (1/1)100% (6/6)100% (1/1)
valueOf (String): SpotInstanceRequest$Type 100% (1/1)100% (5/5)100% (1/1)
values (): SpotInstanceRequest$Type [] 100% (1/1)100% (4/4)100% (1/1)
     
class SpotInstanceRequest$State100% (1/1)100% (7/7)97%  (86/89)71%  (5/7)
fromValue (String): SpotInstanceRequest$State 100% (1/1)75%  (9/12)33%  (1/3)
<static initializer> 100% (1/1)100% (54/54)100% (2/2)
SpotInstanceRequest$State (String, int): void 100% (1/1)100% (5/5)100% (1/1)
toString (): String 100% (1/1)100% (3/3)100% (1/1)
value (): String 100% (1/1)100% (6/6)100% (1/1)
valueOf (String): SpotInstanceRequest$State 100% (1/1)100% (5/5)100% (1/1)
values (): SpotInstanceRequest$State [] 100% (1/1)100% (4/4)100% (1/1)

1/**
2 *
3 * Copyright (C) 2011 Cloud Conscious, LLC. <info@cloudconscious.com>
4 *
5 * ====================================================================
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * 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, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 * ====================================================================
18 */
19package org.jclouds.aws.ec2.domain;
20 
21import static com.google.common.base.Preconditions.checkNotNull;
22 
23import java.util.Date;
24 
25import javax.annotation.Nullable;
26 
27import com.google.common.base.CaseFormat;
28 
29/**
30 * 
31 * @author Adrian Cole
32 */
33public class SpotInstanceRequest implements Comparable<SpotInstanceRequest> {
34   public static Builder builder() {
35      return new Builder();
36   }
37 
38   public static class Builder {
39      private String region;
40      private String availabilityZoneGroup;
41      private String launchedAvailabilityZone;
42      private Date createTime;
43      private String faultCode;
44      private String faultMessage;
45      private String instanceId;
46      private String launchGroup;
47      private LaunchSpecification launchSpecification;
48      private String productDescription;
49      private String id;
50      private float spotPrice;
51      private State state;
52      private Type type;
53      private Date validFrom;
54      private Date validUntil;
55 
56      public Builder clear() {
57         this.region = null;
58         this.availabilityZoneGroup = null;
59         this.launchedAvailabilityZone = null;
60         this.createTime = null;
61         this.faultCode = null;
62         this.faultMessage = null;
63         this.instanceId = null;
64         this.launchGroup = null;
65         this.launchSpecification = null;
66         this.productDescription = null;
67         this.id = null;
68         this.spotPrice = 0;
69         this.state = null;
70         this.type = null;
71         this.validFrom = null;
72         this.validUntil = null;
73         return this;
74      }
75 
76      public Builder region(String region) {
77         this.region = region;
78         return this;
79      }
80 
81      public Builder availabilityZoneGroup(String availabilityZoneGroup) {
82         this.availabilityZoneGroup = availabilityZoneGroup;
83         return this;
84      }
85 
86      public Builder launchedAvailabilityZone(String launchedAvailabilityZone) {
87         this.launchedAvailabilityZone = launchedAvailabilityZone;
88         return this;
89      }
90 
91      public Builder createTime(Date createTime) {
92         this.createTime = createTime;
93         return this;
94      }
95 
96      public Builder faultCode(String faultCode) {
97         this.faultCode = faultCode;
98         return this;
99      }
100 
101      public Builder faultMessage(String faultMessage) {
102         this.faultMessage = faultMessage;
103         return this;
104      }
105 
106      public Builder instanceId(String instanceId) {
107         this.instanceId = instanceId;
108         return this;
109      }
110 
111      public Builder launchGroup(String launchGroup) {
112         this.launchGroup = launchGroup;
113         return this;
114      }
115 
116      public Builder launchSpecification(LaunchSpecification launchSpecification) {
117         this.launchSpecification = launchSpecification;
118         return this;
119      }
120 
121      public Builder productDescription(String productDescription) {
122         this.productDescription = productDescription;
123         return this;
124      }
125 
126      public Builder id(String id) {
127         this.id = id;
128         return this;
129      }
130 
131      public Builder spotPrice(float spotPrice) {
132         this.spotPrice = spotPrice;
133         return this;
134      }
135 
136      public Builder state(State state) {
137         this.state = state;
138         return this;
139      }
140 
141      public Builder type(Type type) {
142         this.type = type;
143         return this;
144      }
145 
146      public Builder validFrom(Date validFrom) {
147         this.validFrom = validFrom;
148         return this;
149      }
150 
151      public Builder validUntil(Date validUntil) {
152         this.validUntil = validUntil;
153         return this;
154      }
155 
156      public SpotInstanceRequest build() {
157         return new SpotInstanceRequest(region, availabilityZoneGroup, launchedAvailabilityZone, createTime, faultCode,
158               faultMessage, instanceId, launchGroup, launchSpecification, productDescription, id, spotPrice, state,
159               type, validFrom, validUntil);
160      }
161   }
162 
163   public enum Type {
164      ONE_TIME, PERSISTENT, UNRECOGNIZED;
165 
166      public String value() {
167         return (CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_HYPHEN, name()));
168      }
169 
170      @Override
171      public String toString() {
172         return value();
173      }
174 
175      public static Type fromValue(String type) {
176         try {
177            return valueOf(CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_UNDERSCORE, checkNotNull(type, "type")));
178         } catch (IllegalArgumentException e) {
179            return UNRECOGNIZED;
180         }
181      }
182   }
183 
184   public enum State {
185      OPEN, ACTIVE, CANCELLED, CLOSED, UNRECOGNIZED;
186 
187      public String value() {
188         return (CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_HYPHEN, name()));
189      }
190 
191      @Override
192      public String toString() {
193         return value();
194      }
195 
196      public static State fromValue(String state) {
197         try {
198            return valueOf(CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_UNDERSCORE, checkNotNull(state, "type")));
199         } catch (IllegalArgumentException e) {
200            return UNRECOGNIZED;
201         }
202      }
203   }
204 
205   private final String region;
206   private final String availabilityZoneGroup;
207   private final String launchedAvailabilityZone;
208   private final Date createTime;
209   private final String faultCode;
210   private final String faultMessage;
211   private final String instanceId;
212   private final String launchGroup;
213   private final LaunchSpecification launchSpecification;
214   private final String productDescription;
215   private final String id;
216   private final float spotPrice;
217   private final State state;
218   private final Type type;
219   private final Date validFrom;
220   private final Date validUntil;
221 
222   public SpotInstanceRequest(String region, String availabilityZoneGroup, @Nullable String launchedAvailabilityZone,
223         Date createTime, String faultCode, String faultMessage, String instanceId, String launchGroup,
224         LaunchSpecification launchSpecification, String productDescription, String id, float spotPrice, State state,
225         Type type, Date validFrom, Date validUntil) {
226      this.region = checkNotNull(region, "region");
227      this.availabilityZoneGroup = availabilityZoneGroup;
228      this.launchedAvailabilityZone = launchedAvailabilityZone;
229      this.createTime = createTime;
230      this.faultCode = faultCode;
231      this.faultMessage = faultMessage;
232      this.instanceId = instanceId;
233      this.launchGroup = launchGroup;
234      this.launchSpecification = launchSpecification;
235      this.productDescription = productDescription;
236      this.id = checkNotNull(id, "id");
237      this.spotPrice = spotPrice;
238      this.state = checkNotNull(state, "state");
239      this.type = checkNotNull(type, "type");
240      this.validFrom = validFrom;
241      this.validUntil = validUntil;
242   }
243 
244   /**
245    * @return spot instance requests are in a region
246    */
247   public String getRegion() {
248      return region;
249   }
250 
251   public String getAvailabilityZoneGroup() {
252      return availabilityZoneGroup;
253   }
254 
255   public String getLaunchedAvailabilityZone() {
256      return launchedAvailabilityZone;
257   }
258 
259   public Date getCreateTime() {
260      return createTime;
261   }
262 
263   public String getFaultCode() {
264      return faultCode;
265   }
266 
267   public String getFaultMessage() {
268      return faultMessage;
269   }
270 
271   public String getInstanceId() {
272      return instanceId;
273   }
274 
275   public String getLaunchGroup() {
276      return launchGroup;
277   }
278 
279   public LaunchSpecification getLaunchSpecification() {
280      return launchSpecification;
281   }
282 
283   public String getProductDescription() {
284      return productDescription;
285   }
286 
287   public String getId() {
288      return id;
289   }
290 
291   public float getSpotPrice() {
292      return spotPrice;
293   }
294 
295   public State getState() {
296      return state;
297   }
298 
299   public Type getType() {
300      return type;
301   }
302 
303   public Date getValidFrom() {
304      return validFrom;
305   }
306 
307   public Date getValidUntil() {
308      return validUntil;
309   }
310 
311   @Override
312   public int hashCode() {
313      final int prime = 31;
314      int result = 1;
315      result = prime * result + ((availabilityZoneGroup == null) ? 0 : availabilityZoneGroup.hashCode());
316      result = prime * result + ((createTime == null) ? 0 : createTime.hashCode());
317      result = prime * result + ((faultCode == null) ? 0 : faultCode.hashCode());
318      result = prime * result + ((faultMessage == null) ? 0 : faultMessage.hashCode());
319      result = prime * result + ((id == null) ? 0 : id.hashCode());
320      result = prime * result + ((instanceId == null) ? 0 : instanceId.hashCode());
321      result = prime * result + ((launchGroup == null) ? 0 : launchGroup.hashCode());
322      result = prime * result + ((launchSpecification == null) ? 0 : launchSpecification.hashCode());
323      result = prime * result + ((launchedAvailabilityZone == null) ? 0 : launchedAvailabilityZone.hashCode());
324      result = prime * result + ((productDescription == null) ? 0 : productDescription.hashCode());
325      result = prime * result + ((region == null) ? 0 : region.hashCode());
326      result = prime * result + Float.floatToIntBits(spotPrice);
327      result = prime * result + ((state == null) ? 0 : state.hashCode());
328      result = prime * result + ((type == null) ? 0 : type.hashCode());
329      result = prime * result + ((validFrom == null) ? 0 : validFrom.hashCode());
330      result = prime * result + ((validUntil == null) ? 0 : validUntil.hashCode());
331      return result;
332   }
333 
334   @Override
335   public boolean equals(Object obj) {
336      if (this == obj)
337         return true;
338      if (obj == null)
339         return false;
340      if (getClass() != obj.getClass())
341         return false;
342      SpotInstanceRequest other = (SpotInstanceRequest) obj;
343      if (availabilityZoneGroup == null) {
344         if (other.availabilityZoneGroup != null)
345            return false;
346      } else if (!availabilityZoneGroup.equals(other.availabilityZoneGroup))
347         return false;
348      if (createTime == null) {
349         if (other.createTime != null)
350            return false;
351      } else if (!createTime.equals(other.createTime))
352         return false;
353      if (faultCode == null) {
354         if (other.faultCode != null)
355            return false;
356      } else if (!faultCode.equals(other.faultCode))
357         return false;
358      if (faultMessage == null) {
359         if (other.faultMessage != null)
360            return false;
361      } else if (!faultMessage.equals(other.faultMessage))
362         return false;
363      if (id == null) {
364         if (other.id != null)
365            return false;
366      } else if (!id.equals(other.id))
367         return false;
368      if (instanceId == null) {
369         if (other.instanceId != null)
370            return false;
371      } else if (!instanceId.equals(other.instanceId))
372         return false;
373      if (launchGroup == null) {
374         if (other.launchGroup != null)
375            return false;
376      } else if (!launchGroup.equals(other.launchGroup))
377         return false;
378      if (launchSpecification == null) {
379         if (other.launchSpecification != null)
380            return false;
381      } else if (!launchSpecification.equals(other.launchSpecification))
382         return false;
383      if (launchedAvailabilityZone == null) {
384         if (other.launchedAvailabilityZone != null)
385            return false;
386      } else if (!launchedAvailabilityZone.equals(other.launchedAvailabilityZone))
387         return false;
388      if (productDescription == null) {
389         if (other.productDescription != null)
390            return false;
391      } else if (!productDescription.equals(other.productDescription))
392         return false;
393      if (region == null) {
394         if (other.region != null)
395            return false;
396      } else if (!region.equals(other.region))
397         return false;
398      if (Float.floatToIntBits(spotPrice) != Float.floatToIntBits(other.spotPrice))
399         return false;
400      if (state != other.state)
401         return false;
402      if (type != other.type)
403         return false;
404      if (validFrom == null) {
405         if (other.validFrom != null)
406            return false;
407      } else if (!validFrom.equals(other.validFrom))
408         return false;
409      if (validUntil == null) {
410         if (other.validUntil != null)
411            return false;
412      } else if (!validUntil.equals(other.validUntil))
413         return false;
414      return true;
415   }
416 
417   @Override
418   public String toString() {
419      return "[region=" + region + ", availabilityZoneGroup=" + availabilityZoneGroup + ", launchedAvailabilityZone="
420            + launchedAvailabilityZone + ", createTime=" + createTime + ", faultCode=" + faultCode + ", faultMessage="
421            + faultMessage + ", instanceId=" + instanceId + ", launchGroup=" + launchGroup + ", launchSpecification="
422            + launchSpecification + ", productDescription=" + productDescription + ", id=" + id + ", spotPrice="
423            + spotPrice + ", state=" + state + ", type=" + type + ", validFrom=" + validFrom + ", validUntil="
424            + validUntil + "]";
425   }
426 
427   @Override
428   public int compareTo(SpotInstanceRequest arg0) {
429      return createTime.compareTo(arg0.createTime);
430   }
431 
432}

[all classes][org.jclouds.aws.ec2.domain]
EMMA 2.0.5312 (C) Vladimir Roubtsov