Revision f8be9cce main/java/net/elasticgrid/rackspace/cloudservers/Addresses.java

b/main/java/net/elasticgrid/rackspace/cloudservers/Addresses.java
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
    }

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 74
}

Also available in: Unified diff