2 * Copyright 2016-2017 ZTE, Inc. and others.
4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5 * in compliance with the License. You may obtain a copy of the License at
7 * http://www.apache.org/licenses/LICENSE-2.0
9 * Unless required by applicable law or agreed to in writing, software distributed under the License
10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11 * or implied. See the License for the specific language governing permissions and limitations under
14 package org.onap.msb.sdclient.core;
16 import java.beans.PropertyChangeListener;
17 import java.beans.PropertyChangeSupport;
18 import java.io.Serializable;
20 import com.google.common.base.Objects;
22 import io.swagger.annotations.ApiModelProperty;
24 public class NodeAddress implements Serializable {
25 private static final long serialVersionUID = 1L;
27 @ApiModelProperty(required = true)
30 @ApiModelProperty(required = true)
35 private PropertyChangeSupport changes = new PropertyChangeSupport(this);
37 public String getIp() {
41 public void setIp(String ip) {
45 public String getPort() {
49 public void setPort(String port) {
53 public NodeAddress(String ip, String port) {
58 public void setIPandPort(String ip, String port) {
59 String oldAddress = this.ip + ":" + this.port;
60 String newAddress = ip + ":" + port;
64 changes.firePropertyChange("ip", oldAddress, newAddress);
67 public void addPropertyChangeListener(PropertyChangeListener listener) {
68 changes.addPropertyChangeListener(listener);
71 public void removePropertyChangeListener(PropertyChangeListener listener) {
72 changes.removePropertyChangeListener(listener);
75 public NodeAddress() {
80 public boolean equals(Object other) {
83 if (other instanceof NodeAddress) {
84 NodeAddress that = (NodeAddress) other;
85 return Objects.equal(ip, that.ip) && Objects.equal(port, that.port);
92 public int hashCode() {
93 return Objects.hashCode(ip, port);
97 public String toString() {
98 return this.ip + ":" + this.port;