5204ef0487394fc7a44d4b0595dc9acaa002aed4
[msb/discovery.git] / sdclient / discovery-service / src / main / java / org / onap / msb / sdclient / core / PublishAddress.java
1 /**
2  * Copyright 2016-2017 ZTE, Inc. and others.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package org.onap.msb.sdclient.core;
17
18 import io.swagger.annotations.ApiModelProperty;
19
20 import java.io.Serializable;
21
22 import com.google.common.base.Objects;
23
24 public class PublishAddress implements Serializable {
25   private static final long serialVersionUID = 1L;
26
27   @ApiModelProperty(value = "Service Publish IP")
28   private String ip;
29   
30   @ApiModelProperty(value = "Service Publish Port", required = true)
31   private String port;
32   
33   @ApiModelProperty(value = "Service Publish URL,start with /",example = "/api/serviceName/v1", required = true)
34   private String publish_url;
35
36   public String getIp() {
37       return ip;
38   }
39
40   public void setIp(String ip) {
41       this.ip = ip;
42   }
43
44   public String getPort() {
45       return port;
46   }
47
48   public void setPort(String port) {
49       this.port = port;
50   }
51   
52   public PublishAddress(){
53       
54   }
55   
56   public PublishAddress(String ip,String port,String publish_url){
57       this.ip=ip;
58       this.port=port;
59       this.publish_url = publish_url;
60   }
61
62   public String getPublish_url() {
63     return publish_url;
64   }
65
66   public void setPublish_url(String publish_url) {
67     this.publish_url = publish_url;
68   }
69   
70   @Override
71   public boolean equals(Object other)
72   {
73       if(this == other)
74           return true;
75       if(other instanceof PublishAddress)
76       {
77         PublishAddress that = (PublishAddress)other;
78           return Objects.equal(ip, that.ip) && Objects.equal(port, that.port)&& Objects.equal(publish_url, that.publish_url);
79       } else
80       {
81           return false;
82       }
83   }
84   
85   @Override
86   public int hashCode() {
87       return Objects.hashCode(ip, port,publish_url);
88   }
89   
90   @Override
91   public String toString(){
92       return this.ip+":"+this.port+this.publish_url;
93   }
94
95 }