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

COVERAGE SUMMARY FOR SOURCE FILE [ServerStatus.java]

nameclass, %method, %block, %line, %
ServerStatus.java75%  (3/4)57%  (13/23)59%  (144/244)70%  (25.3/36)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class ServerStatus100% (1/1)25%  (3/12)47%  (74/157)54%  (11.3/21)
getCpu (): ResourceStatus 0%   (0/1)0%   (0/3)0%   (0/1)
getDisk (): ResourceStatus 0%   (0/1)0%   (0/3)0%   (0/1)
getMemory (): ResourceStatus 0%   (0/1)0%   (0/3)0%   (0/1)
getState (): Server$State 0%   (0/1)0%   (0/3)0%   (0/1)
getUptime (): ServerUptime 0%   (0/1)0%   (0/3)0%   (0/1)
hashCode (): int 0%   (0/1)0%   (0/29)0%   (0/1)
string (): Objects$ToStringHelper 0%   (0/1)0%   (0/23)0%   (0/1)
toBuilder (): ServerStatus$Builder 0%   (0/1)0%   (0/7)0%   (0/1)
toString (): String 0%   (0/1)0%   (0/4)0%   (0/1)
equals (Object): boolean 100% (1/1)91%  (48/53)84%  (3.3/4)
ServerStatus (Server$State, ResourceStatus, ResourceStatus, ResourceStatus, S... 100% (1/1)100% (21/21)100% (7/7)
builder (): ServerStatus$Builder 100% (1/1)100% (5/5)100% (1/1)
     
class ServerStatus$10%   (0/1)100% (0/0)100% (0/0)100% (0/0)
     
class ServerStatus$Builder100% (1/1)88%  (7/8)78%  (62/79)92%  (12/13)
fromServerStatus (ServerStatus): ServerStatus$Builder 0%   (0/1)0%   (0/17)0%   (0/1)
ServerStatus$Builder (): void 100% (1/1)100% (3/3)100% (1/1)
build (): ServerStatus 100% (1/1)100% (14/14)100% (1/1)
cpu (ResourceStatus): ServerStatus$Builder 100% (1/1)100% (9/9)100% (2/2)
disk (ResourceStatus): ServerStatus$Builder 100% (1/1)100% (9/9)100% (2/2)
memory (ResourceStatus): ServerStatus$Builder 100% (1/1)100% (9/9)100% (2/2)
state (Server$State): ServerStatus$Builder 100% (1/1)100% (9/9)100% (2/2)
uptime (ServerUptime): ServerStatus$Builder 100% (1/1)100% (9/9)100% (2/2)
     
class ServerStatus$ConcreteBuilder100% (1/1)100% (3/3)100% (8/8)100% (2/2)
ServerStatus$ConcreteBuilder (): void 100% (1/1)100% (3/3)100% (1/1)
ServerStatus$ConcreteBuilder (ServerStatus$1): void 100% (1/1)100% (3/3)100% (1/1)
self (): ServerStatus$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;
22 
23import org.jclouds.javax.annotation.Nullable;
24 
25import com.google.common.base.Objects;
26import com.google.common.base.Objects.ToStringHelper;
27 
28/**
29 * Detailed information server status including hardware usage (cpu, memory and disk), bandwidth and up-time.
30 *
31 * @author Adam Lowe
32 * @see <a href= "https://customer.glesys.com/api.php?a=doc#server_status" />
33 */
34public class ServerStatus {
35 
36   public static Builder<?> builder() {
37      return new ConcreteBuilder();
38   }
39 
40   public Builder<?> toBuilder() {
41      return new ConcreteBuilder().fromServerStatus(this);
42   }
43 
44   public abstract static class Builder<T extends Builder<T>> {
45      protected abstract T self();
46 
47      protected Server.State state;
48      protected ResourceStatus cpu;
49      protected ResourceStatus memory;
50      protected ResourceStatus disk;
51      protected ServerUptime uptime;
52 
53      /**
54       * @see ServerStatus#getState()
55       */
56      public T state(Server.State state) {
57         this.state = checkNotNull(state, "state");
58         return self();
59      }
60 
61      /**
62       * @see ServerStatus#getCpu()
63       */
64      public T cpu(ResourceStatus cpu) {
65         this.cpu = checkNotNull(cpu, "cpu");
66         return self();
67      }
68 
69      /**
70       * @see ServerStatus#getMemory()
71       */
72      public T memory(ResourceStatus memory) {
73         this.memory = checkNotNull(memory, "memory");
74         return self();
75      }
76 
77      /**
78       * @see ServerStatus#getDisk()
79       */
80      public T disk(ResourceStatus disk) {
81         this.disk = checkNotNull(disk, "disk");
82         return self();
83      }
84 
85      /**
86       * @see ServerStatus#getUptime()
87       */
88      public T uptime(ServerUptime uptime) {
89         this.uptime = checkNotNull(uptime, "uptime");
90         return self();
91      }
92 
93      public ServerStatus build() {
94         return new ServerStatus(state, cpu, memory, disk, uptime);
95      }
96 
97      public T fromServerStatus(ServerStatus in) {
98         return this.state(in.getState()).cpu(in.getCpu()).memory(in.getMemory()).disk(in.getDisk()).uptime(in.getUptime());
99      }
100   }
101 
102   private static class ConcreteBuilder extends Builder<ConcreteBuilder> {
103      @Override
104      protected ConcreteBuilder self() {
105         return this;
106      }
107   }
108 
109   private final Server.State state;
110   private final ResourceStatus cpu;
111   private final ResourceStatus memory;
112   private final ResourceStatus disk;
113   private final ServerUptime uptime;
114 
115   @ConstructorProperties({
116         "state", "cpu", "memory", "disk", "uptime"
117   })
118   protected ServerStatus(Server.State state, @Nullable ResourceStatus cpu, @Nullable ResourceStatus memory,
119                          @Nullable ResourceStatus disk, @Nullable ServerUptime uptime) {
120      this.state = checkNotNull(state, "state");
121      this.cpu = cpu;
122      this.memory = memory;
123      this.disk = disk;
124      this.uptime = uptime;
125   }
126 
127   /**
128    * @return the state of the server (e.g. "running")
129    */
130   @Nullable
131   public Server.State getState() {
132      return this.state;
133   }
134 
135   /**
136    * @return CPU usage information
137    */
138   @Nullable
139   public ResourceStatus getCpu() {
140      return this.cpu;
141   }
142 
143   /**
144    * @return details of memory usage and limits
145    */
146   @Nullable
147   public ResourceStatus getMemory() {
148      return this.memory;
149   }
150 
151   /**
152    * @return details of disk usage and limits
153    */
154   @Nullable
155   public ResourceStatus getDisk() {
156      return this.disk;
157   }
158 
159   /**
160    * @return the uptime of the server
161    */
162   @Nullable
163   public ServerUptime getUptime() {
164      return this.uptime;
165   }
166 
167   @Override
168   public int hashCode() {
169      return Objects.hashCode(state, cpu, memory, disk, uptime);
170   }
171 
172   @Override
173   public boolean equals(Object obj) {
174      if (this == obj) return true;
175      if (obj == null || getClass() != obj.getClass()) return false;
176      ServerStatus that = ServerStatus.class.cast(obj);
177      return Objects.equal(this.state, that.state)
178            && Objects.equal(this.cpu, that.cpu)
179            && Objects.equal(this.memory, that.memory)
180            && Objects.equal(this.disk, that.disk)
181            && Objects.equal(this.uptime, that.uptime);
182   }
183 
184   protected ToStringHelper string() {
185      return Objects.toStringHelper("")
186            .add("state", state).add("cpu", cpu).add("memory", memory).add("disk", disk).add("uptime", uptime);
187   }
188 
189   @Override
190   public String toString() {
191      return string().toString();
192   }
193 
194}

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