View Javadoc

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   */
19  package org.jclouds.trmk.vcloud_0_8.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  }