EMMA Coverage Report (generated Mon Oct 17 05:41:20 EDT 2011)
[all classes][org.jclouds.savvis.vpdc.domain]

COVERAGE SUMMARY FOR SOURCE FILE [Network.java]

nameclass, %method, %block, %line, %
Network.java100% (2/2)67%  (12/18)75%  (140/186)74%  (20/27)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class Network$Builder100% (1/1)82%  (9/11)69%  (74/108)81%  (13/16)
fromNetwork (Network): Network$Builder 0%   (0/1)0%   (0/25)0%   (0/1)
internalToExternalNATRules (Map): Network$Builder 0%   (0/1)0%   (0/9)0%   (0/2)
Network$Builder (): void 100% (1/1)100% (6/6)100% (2/2)
build (): Network 100% (1/1)100% (18/18)100% (1/1)
gateway (String): Network$Builder 100% (1/1)100% (5/5)100% (2/2)
href (URI): Network$Builder 100% (1/1)100% (7/7)100% (1/1)
id (String): Network$Builder 100% (1/1)100% (7/7)100% (1/1)
internalToExternalNATRule (String, String): Network$Builder 100% (1/1)100% (12/12)100% (2/2)
name (String): Network$Builder 100% (1/1)100% (7/7)100% (1/1)
netmask (String): Network$Builder 100% (1/1)100% (5/5)100% (2/2)
type (String): Network$Builder 100% (1/1)100% (7/7)100% (1/1)
     
class Network100% (1/1)43%  (3/7)85%  (66/78)64%  (7/11)
getGateway (): String 0%   (0/1)0%   (0/3)0%   (0/1)
getInternalToExternalNATRules (): Map 0%   (0/1)0%   (0/3)0%   (0/1)
getNetmask (): String 0%   (0/1)0%   (0/3)0%   (0/1)
toBuilder (): Network$Builder 0%   (0/1)0%   (0/3)0%   (0/1)
Network (String, String, String, URI, String, String, Map): void 100% (1/1)100% (20/20)100% (5/5)
builder (): Network$Builder 100% (1/1)100% (4/4)100% (1/1)
toString (): String 100% (1/1)100% (42/42)100% (1/1)

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.savvis.vpdc.domain;
20 
21import static com.google.common.base.Preconditions.checkNotNull;
22 
23import java.net.URI;
24import java.util.Map;
25 
26import org.jclouds.javax.annotation.Nullable;
27 
28import com.google.common.collect.ImmutableMap;
29import com.google.common.collect.Maps;
30 
31/**
32 * Various network features such NAT Public IP, Gateway and Netmask.
33 * 
34 * @author Adrian Cole
35 */
36public class Network extends ResourceImpl {
37   public static Builder builder() {
38      return new Builder();
39   }
40 
41   public static class Builder extends ResourceImpl.Builder {
42      private String gateway;
43      private String netmask;
44      private Map<String, String> internalToExternalNATRules = Maps.newLinkedHashMap();
45 
46      public Builder gateway(String gateway) {
47         this.gateway = gateway;
48         return this;
49      }
50 
51      public Builder netmask(String netmask) {
52         this.netmask = netmask;
53         return this;
54      }
55 
56      public Builder internalToExternalNATRule(String internalIP, String externalIP) {
57         this.internalToExternalNATRules.put(checkNotNull(internalIP, "internalIP"),
58               checkNotNull(externalIP, "externalIP"));
59         return this;
60      }
61 
62      public Builder internalToExternalNATRules(Map<String, String> internalToExternalNATRules) {
63         this.internalToExternalNATRules.putAll(checkNotNull(internalToExternalNATRules, "internalToExternalNATRules"));
64         return this;
65      }
66 
67      @Override
68      public Network build() {
69         return new Network(id, name, type, href, gateway, netmask, internalToExternalNATRules);
70      }
71 
72      public static Builder fromNetwork(Network in) {
73         return new Builder().id(in.getId()).name(in.getName()).type(in.getType()).href(in.getHref())
74               .gateway(in.getGateway()).internalToExternalNATRules(in.getInternalToExternalNATRules())
75               .netmask(in.getNetmask());
76      }
77 
78      @Override
79      public Builder id(String id) {
80         return Builder.class.cast(super.id(id));
81      }
82 
83      @Override
84      public Builder name(String name) {
85         return Builder.class.cast(super.name(name));
86      }
87 
88      @Override
89      public Builder type(String type) {
90         return Builder.class.cast(super.type(type));
91      }
92 
93      @Override
94      public Builder href(URI href) {
95         return Builder.class.cast(super.href(href));
96      }
97 
98   }
99 
100   @Nullable
101   private final String gateway;
102   private final String netmask;
103   private final Map<String, String> internalToExternalNATRules;
104 
105   public Network(String id, String name, String type, URI href, @Nullable String gateway, String netmask,
106         Map<String, String> internalToExternalNATRules) {
107      super(id, name, type, href);
108      this.gateway = gateway;
109      this.netmask = netmask;
110      this.internalToExternalNATRules = ImmutableMap.copyOf(checkNotNull(internalToExternalNATRules,
111            "internalToExternalNATRules"));
112   }
113 
114   /**
115    * @return IP of the network's gateway
116    */
117   public String getGateway() {
118      return gateway;
119   }
120 
121   /**
122    * @return IP of the network's netmask
123    */
124   public String getNetmask() {
125      return netmask;
126   }
127 
128   /**
129    * @return map of internal to external ip when it has any nat1to1 enabled deployed VApp
130    */
131   public Map<String, String> getInternalToExternalNATRules() {
132      return internalToExternalNATRules;
133   }
134 
135   @Override
136   public Builder toBuilder() {
137      return Builder.fromNetwork(this);
138   }
139 
140   @Override
141   public String toString() {
142      return "[id=" + id + ", href=" + href + ", name=" + name + ", type=" + type + ", gateway=" + gateway
143            + ", netmask=" + netmask + ", internalToExternalNATRules=" + internalToExternalNATRules + "]";
144   }
145 
146}

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