
com.alibaba.otter.canal.protocol.ClientIdentity Maven / Gradle / Ivy
package com.alibaba.otter.canal.protocol;
import java.io.Serializable;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.builder.ToStringBuilder;
import com.alibaba.otter.canal.common.utils.CanalToStringStyle;
/**
* @author zebin.xuzb @ 2012-6-20
* @version 1.0.0
*/
public class ClientIdentity implements Serializable {
private static final long serialVersionUID = -8262100681930834834L;
private String destination;
private short clientId;
private String filter;
public ClientIdentity(){
}
public ClientIdentity(String destination, short clientId){
this.clientId = clientId;
this.destination = destination;
}
public ClientIdentity(String destination, short clientId, String filter){
this.clientId = clientId;
this.destination = destination;
this.filter = filter;
}
public Boolean hasFilter() {
if (filter == null) {
return false;
}
return StringUtils.isNotBlank(filter);
}
// ======== setter =========
public String getDestination() {
return destination;
}
public short getClientId() {
return clientId;
}
public void setClientId(short clientId) {
this.clientId = clientId;
}
public void setDestination(String destination) {
this.destination = destination;
}
public String getFilter() {
return filter;
}
public void setFilter(String filter) {
this.filter = filter;
}
public String toString() {
return ToStringBuilder.reflectionToString(this, CanalToStringStyle.DEFAULT_STYLE);
}
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + clientId;
result = prime * result + ((destination == null) ? 0 : destination.hashCode());
return result;
}
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof ClientIdentity)) {
return false;
}
ClientIdentity other = (ClientIdentity) obj;
if (clientId != other.clientId) {
return false;
}
if (destination == null) {
if (other.destination != null) {
return false;
}
} else if (!destination.equals(other.destination)) {
return false;
}
return true;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy