EMMA Coverage Report (generated Wed Jun 22 19:47:49 EDT 2011)
[all classes][org.jclouds.vcloud.options]

COVERAGE SUMMARY FOR SOURCE FILE [InstantiateVAppTemplateOptions.java]

nameclass, %method, %block, %line, %
InstantiateVAppTemplateOptions.java100% (2/2)59%  (17/29)40%  (189/468)35%  (34.7/100)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class InstantiateVAppTemplateOptions100% (1/1)60%  (12/20)37%  (147/399)30%  (24.9/84)
block (boolean): InstantiateVAppTemplateOptions 0%   (0/1)0%   (0/5)0%   (0/2)
deploy (boolean): InstantiateVAppTemplateOptions 0%   (0/1)0%   (0/5)0%   (0/2)
equals (Object): boolean 0%   (0/1)0%   (0/122)0%   (0/39)
hashCode (): int 0%   (0/1)0%   (0/104)0%   (0/11)
powerOn (boolean): InstantiateVAppTemplateOptions 0%   (0/1)0%   (0/5)0%   (0/2)
shouldBlock (): boolean 0%   (0/1)0%   (0/3)0%   (0/1)
shouldDeploy (): boolean 0%   (0/1)0%   (0/3)0%   (0/1)
shouldPowerOn (): boolean 0%   (0/1)0%   (0/3)0%   (0/1)
processorCount (int): InstantiateVAppTemplateOptions 100% (1/1)95%  (19/20)98%  (3/3)
memory (long): InstantiateVAppTemplateOptions 100% (1/1)95%  (20/21)98%  (3/3)
InstantiateVAppTemplateOptions (): void 100% (1/1)100% (15/15)100% (6/6)
addNetworkConfig (NetworkConfig): InstantiateVAppTemplateOptions 100% (1/1)100% (9/9)100% (2/2)
customizeOnInstantiate (boolean): InstantiateVAppTemplateOptions 100% (1/1)100% (6/6)100% (2/2)
disk (long): InstantiateVAppTemplateOptions 100% (1/1)100% (21/21)100% (3/3)
getCpuCount (): String 100% (1/1)100% (3/3)100% (1/1)
getDiskSizeKilobytes (): String 100% (1/1)100% (3/3)100% (1/1)
getMemorySizeMegabytes (): String 100% (1/1)100% (3/3)100% (1/1)
getNetworkConfig (): Set 100% (1/1)100% (3/3)100% (1/1)
shouldCustomizeOnInstantiate (): Boolean 100% (1/1)100% (3/3)100% (1/1)
toString (): String 100% (1/1)100% (42/42)100% (1/1)
     
class InstantiateVAppTemplateOptions$Builder100% (1/1)56%  (5/9)61%  (42/69)59%  (10/17)
InstantiateVAppTemplateOptions$Builder (): void 0%   (0/1)0%   (0/3)0%   (0/1)
block (boolean): InstantiateVAppTemplateOptions 0%   (0/1)0%   (0/8)0%   (0/2)
deploy (boolean): InstantiateVAppTemplateOptions 0%   (0/1)0%   (0/8)0%   (0/2)
powerOn (boolean): InstantiateVAppTemplateOptions 0%   (0/1)0%   (0/8)0%   (0/2)
addNetworkConfig (NetworkConfig): InstantiateVAppTemplateOptions 100% (1/1)100% (8/8)100% (2/2)
customizeOnInstantiate (Boolean): InstantiateVAppTemplateOptions 100% (1/1)100% (9/9)100% (2/2)
disk (long): InstantiateVAppTemplateOptions 100% (1/1)100% (8/8)100% (2/2)
memory (int): InstantiateVAppTemplateOptions 100% (1/1)100% (9/9)100% (2/2)
processorCount (int): InstantiateVAppTemplateOptions 100% (1/1)100% (8/8)100% (2/2)

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.vcloud.options;
20 
21import static com.google.common.base.Preconditions.checkArgument;
22import static com.google.common.base.Preconditions.checkNotNull;
23 
24import java.util.Set;
25 
26import org.jclouds.vcloud.domain.network.NetworkConfig;
27 
28import com.google.common.collect.Sets;
29 
30/**
31 * 
32 * @author Adrian Cole
33 * 
34 */
35public class InstantiateVAppTemplateOptions {
36   private Set<NetworkConfig> networkConfig = Sets.newLinkedHashSet();
37 
38   private Boolean customizeOnInstantiate;
39   private String cpuCount;
40   private String memorySizeMegabytes;
41   private String diskSizeKilobytes;
42 
43   private boolean block = true;
44   private boolean deploy = true;
45   private boolean powerOn = true;
46 
47   public boolean shouldBlock() {
48      return block;
49   }
50 
51   public boolean shouldDeploy() {
52      return deploy;
53   }
54 
55   public boolean shouldPowerOn() {
56      return powerOn;
57   }
58 
59   /**
60    * deploy the vapp after it is instantiated?
61    */
62   public InstantiateVAppTemplateOptions deploy(boolean deploy) {
63      this.deploy = deploy;
64      return this;
65   }
66 
67   /**
68    * powerOn the vapp after it is instantiated?
69    */
70   public InstantiateVAppTemplateOptions powerOn(boolean powerOn) {
71      this.powerOn = powerOn;
72      return this;
73   }
74 
75   /**
76    * block until instantiate or deployment operations complete?
77    */
78   public InstantiateVAppTemplateOptions block(boolean block) {
79      this.block = block;
80      return this;
81   }
82 
83   /**
84    * If true, then customization is executed for all children that include a
85    * GuestCustomizationSection.
86    */
87   public InstantiateVAppTemplateOptions customizeOnInstantiate(boolean customizeOnInstantiate) {
88      this.customizeOnInstantiate = customizeOnInstantiate;
89      return this;
90   }
91 
92   public InstantiateVAppTemplateOptions processorCount(int cpuCount) {
93      checkArgument(cpuCount >= 1, "cpuCount must be positive");
94      this.cpuCount = cpuCount + "";
95      return this;
96   }
97 
98   public InstantiateVAppTemplateOptions memory(long megabytes) {
99      checkArgument(megabytes >= 1, "megabytes must be positive");
100      this.memorySizeMegabytes = megabytes + "";
101      return this;
102   }
103 
104   public InstantiateVAppTemplateOptions disk(long kilobytes) {
105      checkArgument(kilobytes >= 1, "diskSizeKilobytes must be positive");
106      this.diskSizeKilobytes = kilobytes + "";
107      return this;
108   }
109 
110   /**
111    * {@networkConfig VAppTemplate}s have internal networks that can be connected in order to access
112    * the internet or other external networks.
113    * 
114    * <h4>default behaviour if you don't use this option</h4> By default, we connect the first
115    * internal {@networkConfig
116    * org.jclouds.vcloud.domain.VAppTemplate#getNetworkSection network in the vapp template}to a
117    * default chosen from the org or specified via {@networkConfig
118    * org.jclouds.vcloud.reference.VCloudConstants#PROPERTY_VCLOUD_DEFAULT_NETWORK} using the
119    * {@networkConfig org.jclouds.vcloud.domain.FenceMode#BRIDGED} or an override
120    * set by the property {@networkConfig
121    * org.jclouds.vcloud.reference.VCloudConstants#PROPERTY_VCLOUD_DEFAULT_FENCEMODE}.
122    */
123   public InstantiateVAppTemplateOptions addNetworkConfig(NetworkConfig networkConfig) {
124      this.networkConfig.add(checkNotNull(networkConfig, "networkConfig"));
125      return this;
126   }
127 
128   public Set<NetworkConfig> getNetworkConfig() {
129      return networkConfig;
130   }
131 
132   public String getCpuCount() {
133      return cpuCount;
134   }
135 
136   public Boolean shouldCustomizeOnInstantiate() {
137      return customizeOnInstantiate;
138   }
139 
140   public String getMemorySizeMegabytes() {
141      return memorySizeMegabytes;
142   }
143 
144   public String getDiskSizeKilobytes() {
145      return diskSizeKilobytes;
146   }
147 
148   public static class Builder {
149 
150      /**
151       * @see InstantiateVAppTemplateOptions#block
152       */
153      public static InstantiateVAppTemplateOptions block(boolean block) {
154         InstantiateVAppTemplateOptions options = new InstantiateVAppTemplateOptions();
155         return options.block(block);
156      }
157 
158      /**
159       * @see InstantiateVAppTemplateOptions#deploy
160       */
161      public static InstantiateVAppTemplateOptions deploy(boolean deploy) {
162         InstantiateVAppTemplateOptions options = new InstantiateVAppTemplateOptions();
163         return options.deploy(deploy);
164      }
165 
166      /**
167       * @see InstantiateVAppTemplateOptions#powerOn
168       */
169      public static InstantiateVAppTemplateOptions powerOn(boolean powerOn) {
170         InstantiateVAppTemplateOptions options = new InstantiateVAppTemplateOptions();
171         return options.powerOn(powerOn);
172      }
173 
174      /**
175       * @see InstantiateVAppTemplateOptions#processorCount(int)
176       */
177      public static InstantiateVAppTemplateOptions processorCount(int cpuCount) {
178         InstantiateVAppTemplateOptions options = new InstantiateVAppTemplateOptions();
179         return options.processorCount(cpuCount);
180      }
181 
182      /**
183       * @see InstantiateVAppTemplateOptions#customizeOnInstantiate
184       */
185      public static InstantiateVAppTemplateOptions customizeOnInstantiate(Boolean customizeOnInstantiate) {
186         InstantiateVAppTemplateOptions options = new InstantiateVAppTemplateOptions();
187         return options.customizeOnInstantiate(customizeOnInstantiate);
188      }
189 
190      /**
191       * @see InstantiateVAppTemplateOptions#memory(int)
192       */
193      public static InstantiateVAppTemplateOptions memory(int megabytes) {
194         InstantiateVAppTemplateOptions options = new InstantiateVAppTemplateOptions();
195         return options.memory(megabytes);
196      }
197 
198      /**
199       * @see InstantiateVAppTemplateOptions#disk(int)
200       */
201      public static InstantiateVAppTemplateOptions disk(long kilobytes) {
202         InstantiateVAppTemplateOptions options = new InstantiateVAppTemplateOptions();
203         return options.disk(kilobytes);
204      }
205 
206      /**
207       * @see InstantiateVAppTemplateOptions#addNetworkConfig
208       */
209      public static InstantiateVAppTemplateOptions addNetworkConfig(NetworkConfig networkConfig) {
210         InstantiateVAppTemplateOptions options = new InstantiateVAppTemplateOptions();
211         return options.addNetworkConfig(networkConfig);
212      }
213 
214   }
215 
216   @Override
217   public String toString() {
218      return "InstantiateVAppTemplateOptions [cpuCount=" + cpuCount + ", memorySizeMegabytes=" + memorySizeMegabytes
219               + ", diskSizeKilobytes=" + diskSizeKilobytes + ", networkConfig=" + networkConfig
220               + ", customizeOnInstantiate=" + customizeOnInstantiate + ", deploy=" + (deploy) + ", powerOn="
221               + (powerOn) + "]";
222   }
223 
224   @Override
225   public int hashCode() {
226      final int prime = 31;
227      int result = 1;
228      result = prime * result + (block ? 1231 : 1237);
229      result = prime * result + ((cpuCount == null) ? 0 : cpuCount.hashCode());
230      result = prime * result + ((customizeOnInstantiate == null) ? 0 : customizeOnInstantiate.hashCode());
231      result = prime * result + (deploy ? 1231 : 1237);
232      result = prime * result + ((diskSizeKilobytes == null) ? 0 : diskSizeKilobytes.hashCode());
233      result = prime * result + ((memorySizeMegabytes == null) ? 0 : memorySizeMegabytes.hashCode());
234      result = prime * result + ((networkConfig == null) ? 0 : networkConfig.hashCode());
235      result = prime * result + (powerOn ? 1231 : 1237);
236      return result;
237   }
238 
239   @Override
240   public boolean equals(Object obj) {
241      if (this == obj)
242         return true;
243      if (obj == null)
244         return false;
245      if (getClass() != obj.getClass())
246         return false;
247      InstantiateVAppTemplateOptions other = (InstantiateVAppTemplateOptions) obj;
248      if (block != other.block)
249         return false;
250      if (cpuCount == null) {
251         if (other.cpuCount != null)
252            return false;
253      } else if (!cpuCount.equals(other.cpuCount))
254         return false;
255      if (customizeOnInstantiate == null) {
256         if (other.customizeOnInstantiate != null)
257            return false;
258      } else if (!customizeOnInstantiate.equals(other.customizeOnInstantiate))
259         return false;
260      if (deploy != other.deploy)
261         return false;
262      if (diskSizeKilobytes == null) {
263         if (other.diskSizeKilobytes != null)
264            return false;
265      } else if (!diskSizeKilobytes.equals(other.diskSizeKilobytes))
266         return false;
267      if (memorySizeMegabytes == null) {
268         if (other.memorySizeMegabytes != null)
269            return false;
270      } else if (!memorySizeMegabytes.equals(other.memorySizeMegabytes))
271         return false;
272      if (networkConfig == null) {
273         if (other.networkConfig != null)
274            return false;
275      } else if (!networkConfig.equals(other.networkConfig))
276         return false;
277      if (powerOn != other.powerOn)
278         return false;
279      return true;
280   }
281 
282}

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