root / main / java / net / elasticgrid / rackspace / cloudservers / Addresses.java @ f8be9cce
History | View | Annotate | Download (2.9 kB)
1 |
/**
|
---|---|
2 |
* Licensed to the Apache Software Foundation (ASF) under one
|
3 |
* or more contributor license agreements. See the NOTICE file
|
4 |
* distributed with this work for additional information
|
5 |
* regarding copyright ownership. The ASF 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 |
*/
|
19 |
package net.elasticgrid.rackspace.cloudservers; |
20 |
|
21 |
import net.elasticgrid.rackspace.cloudservers.internal.Public; |
22 |
import net.elasticgrid.rackspace.cloudservers.internal.Private; |
23 |
import java.io.Serializable; |
24 |
import java.net.InetAddress; |
25 |
import java.net.UnknownHostException; |
26 |
import java.util.List; |
27 |
import java.util.ArrayList; |
28 |
|
29 |
/**
|
30 |
* Addresses are either public or private.
|
31 |
* @author Jerome Bernard
|
32 |
*/
|
33 |
public class Addresses implements Serializable { |
34 |
private final List<InetAddress> publicAddresses; |
35 |
private final List<InetAddress> privateAddresses; |
36 |
|
37 |
public Addresses(List<InetAddress> publicAddresses, List<InetAddress> privateAddresses) { |
38 |
this.publicAddresses = publicAddresses;
|
39 |
this.privateAddresses = privateAddresses;
|
40 |
} |
41 |
|
42 |
public Addresses(net.elasticgrid.rackspace.cloudservers.internal.Addresses addresses) throws UnknownHostException { |
43 |
// populate public addresses list
|
44 |
Public publicAddresses = addresses.getPublic(); |
45 |
this.publicAddresses = new ArrayList<InetAddress>(publicAddresses.getAddressLists().size()); |
46 |
for (net.elasticgrid.rackspace.cloudservers.internal.Address address : publicAddresses.getAddressLists()) {
|
47 |
this.publicAddresses.add(InetAddress.getByName(address.getAddr())); |
48 |
} |
49 |
// populate private addresses list
|
50 |
Private privateAddresses = addresses.getPrivate(); |
51 |
this.privateAddresses = new ArrayList<InetAddress>(privateAddresses.getAddressLists().size()); |
52 |
for (net.elasticgrid.rackspace.cloudservers.internal.Address address : privateAddresses.getAddressLists()) {
|
53 |
this.privateAddresses.add(InetAddress.getByName(address.getAddr())); |
54 |
} |
55 |
} |
56 |
|
57 |
public List<InetAddress> getPublicAddresses() { |
58 |
return publicAddresses;
|
59 |
} |
60 |
|
61 |
public List<InetAddress> getPrivateAddresses() { |
62 |
return privateAddresses;
|
63 |
} |
64 |
|
65 |
@Override
|
66 |
public String toString() { |
67 |
final StringBuilder sb = new StringBuilder(); |
68 |
sb.append("Addresses");
|
69 |
sb.append("{publicAddresses=").append(publicAddresses);
|
70 |
sb.append(", privateAddresses=").append(privateAddresses);
|
71 |
sb.append('}');
|
72 |
return sb.toString();
|
73 |
} |
74 |
} |