EMMA Coverage Report (generated Mon Dec 09 15:12:29 EST 2013)
[all classes][org.jclouds.glesys.domain]

COVERAGE SUMMARY FOR SOURCE FILE [ResourceUsage.java]

nameclass, %method, %block, %line, %
ResourceUsage.java75%  (3/4)67%  (12/18)54%  (82/152)65%  (17/26)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class ResourceUsage100% (1/1)44%  (4/9)37%  (36/98)47%  (7/15)
equals (Object): boolean 0%   (0/1)0%   (0/35)0%   (0/4)
getInfo (): ResourceUsageInfo 0%   (0/1)0%   (0/3)0%   (0/1)
getValues (): Set 0%   (0/1)0%   (0/3)0%   (0/1)
hashCode (): int 0%   (0/1)0%   (0/14)0%   (0/1)
toBuilder (): ResourceUsage$Builder 0%   (0/1)0%   (0/7)0%   (0/1)
ResourceUsage (ResourceUsageInfo, Set): void 100% (1/1)100% (16/16)100% (4/4)
builder (): ResourceUsage$Builder 100% (1/1)100% (5/5)100% (1/1)
string (): Objects$ToStringHelper 100% (1/1)100% (11/11)100% (1/1)
toString (): String 100% (1/1)100% (4/4)100% (1/1)
     
class ResourceUsage$10%   (0/1)100% (0/0)100% (0/0)100% (0/0)
     
class ResourceUsage$Builder100% (1/1)83%  (5/6)83%  (38/46)89%  (8/9)
fromResourceUsages (ResourceUsage): ResourceUsage$Builder 0%   (0/1)0%   (0/8)0%   (0/1)
ResourceUsage$Builder (): void 100% (1/1)100% (6/6)100% (2/2)
build (): ResourceUsage 100% (1/1)100% (8/8)100% (1/1)
info (ResourceUsageInfo): ResourceUsage$Builder 100% (1/1)100% (9/9)100% (2/2)
values (ResourceUsageValue []): ResourceUsage$Builder 100% (1/1)100% (5/5)100% (1/1)
values (Set): ResourceUsage$Builder 100% (1/1)100% (10/10)100% (2/2)
     
class ResourceUsage$ConcreteBuilder100% (1/1)100% (3/3)100% (8/8)100% (2/2)
ResourceUsage$ConcreteBuilder (): void 100% (1/1)100% (3/3)100% (1/1)
ResourceUsage$ConcreteBuilder (ResourceUsage$1): void 100% (1/1)100% (3/3)100% (1/1)
self (): ResourceUsage$ConcreteBuilder 100% (1/1)100% (2/2)100% (1/1)

1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements.  See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License.  You may obtain a copy of the License at
8 *
9 *     http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17package org.jclouds.glesys.domain;
18 
19import static com.google.common.base.Preconditions.checkNotNull;
20 
21import java.beans.ConstructorProperties;
22import java.util.Set;
23 
24import com.google.common.base.Objects;
25import com.google.common.base.Objects.ToStringHelper;
26import com.google.common.collect.ImmutableSet;
27 
28/**
29 * Detailed information on usage
30 *
31 * @author Adam Lowe
32 * @see ResourceUsageInfo
33 * @see ResourceUsageValue
34 */
35public class ResourceUsage {
36 
37   public static Builder<?> builder() {
38      return new ConcreteBuilder();
39   }
40 
41   public Builder<?> toBuilder() {
42      return new ConcreteBuilder().fromResourceUsages(this);
43   }
44 
45   public abstract static class Builder<T extends Builder<T>> {
46      protected abstract T self();
47 
48      protected ResourceUsageInfo info;
49      protected Set<ResourceUsageValue> values = ImmutableSet.of();
50 
51      /**
52       * @see ResourceUsage#getInfo()
53       */
54      public T info(ResourceUsageInfo info) {
55         this.info = checkNotNull(info, "info");
56         return self();
57      }
58 
59      /**
60       * @see ResourceUsage#getValues()
61       */
62      public T values(Set<ResourceUsageValue> values) {
63         this.values = ImmutableSet.copyOf(checkNotNull(values, "values"));
64         return self();
65      }
66 
67      /**
68       * @see ResourceUsage#getValues()
69       */
70      public T values(ResourceUsageValue... in) {
71         return values(ImmutableSet.copyOf(in));
72      }
73 
74      public ResourceUsage build() {
75         return new ResourceUsage(info, values);
76      }
77 
78      public T fromResourceUsages(ResourceUsage in) {
79         return this
80               .info(in.getInfo())
81               .values(in.getValues());
82      }
83   }
84 
85   private static class ConcreteBuilder extends Builder<ConcreteBuilder> {
86      @Override
87      protected ConcreteBuilder self() {
88         return this;
89      }
90   }
91 
92   private final ResourceUsageInfo info;
93   private final Set<ResourceUsageValue> values;
94 
95   @ConstructorProperties({
96         "info", "values"
97   })
98   protected ResourceUsage(ResourceUsageInfo info, Set<ResourceUsageValue> values) {
99      this.info = checkNotNull(info, "info");
100      this.values = ImmutableSet.copyOf(checkNotNull(values, "values"));
101   }
102 
103   public ResourceUsageInfo getInfo() {
104      return this.info;
105   }
106 
107   public Set<ResourceUsageValue> getValues() {
108      return this.values;
109   }
110 
111   @Override
112   public int hashCode() {
113      return Objects.hashCode(info, values);
114   }
115 
116   @Override
117   public boolean equals(Object obj) {
118      if (this == obj) return true;
119      if (obj == null || getClass() != obj.getClass()) return false;
120      ResourceUsage that = ResourceUsage.class.cast(obj);
121      return Objects.equal(this.info, that.info)
122            && Objects.equal(this.values, that.values);
123   }
124 
125   protected ToStringHelper string() {
126      return Objects.toStringHelper("")
127            .add("info", info).add("values", values);
128   }
129 
130   @Override
131   public String toString() {
132      return string().toString();
133   }
134 
135}

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