View Javadoc

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   */
19  package org.jclouds.vcloud.terremark.domain;
20  
21  import java.net.URI;
22  
23  /**
24   * @author Adrian Cole
25   */
26  public class PublicIpAddress implements Comparable<PublicIpAddress> {
27     private final String address;
28     private final URI id;
29  
30     public PublicIpAddress(String address, URI id) {
31        this.address = address;
32        this.id = id;
33     }
34  
35     public URI getId() {
36        return id;
37     }
38  
39     public String getAddress() {
40        return address;
41     }
42  
43     public int compareTo(PublicIpAddress that) {
44        return (this == that) ? 0 : getId().compareTo(that.getId());
45     }
46  
47     @Override
48     public int hashCode() {
49        final int prime = 31;
50        int result = 1;
51        result = prime * result + ((address == null) ? 0 : address.hashCode());
52        result = prime * result + ((id == null) ? 0 : id.hashCode());
53        return result;
54     }
55  
56     @Override
57     public boolean equals(Object obj) {
58        if (this == obj)
59           return true;
60        if (obj == null)
61           return false;
62        if (getClass() != obj.getClass())
63           return false;
64        PublicIpAddress other = (PublicIpAddress) obj;
65        if (address == null) {
66           if (other.address != null)
67              return false;
68        } else if (!address.equals(other.address))
69           return false;
70        if (id == null) {
71           if (other.id != null)
72              return false;
73        } else if (!id.equals(other.id))
74           return false;
75        return true;
76     }
77  
78     @Override
79     public String toString() {
80        return "PublicIpAddress [address=" + address + ", id=" + id + "]";
81     }
82  
83  }