/**
* $Id: SubscriptionData.java 1835 2013-05-16 02:00:50Z shijia.wxr $
*/
package com.alibaba.rocketmq.common.protocol.heartbeat;
import com.alibaba.rocketmq.common.protocol.MQProtos.ConsumerInfo;
import com.alibaba.rocketmq.common.protocol.MQProtos.SubscriptionInfo;
/**
* @author vintage.wang@gmail.com shijia.wxr@taobao.com
*
*/
public class SubscriptionData {
public final static String SUB_ALL = "*";
private String topic;
private String subString;
private String subNumfmt;
private boolean hasAndOperator;
public SubscriptionData() {
}
public SubscriptionData(String topic, String subString, String subNumfmt, boolean hasAndOperator) {
this.topic = topic;
this.subString = subString;
this.subNumfmt = subNumfmt;
this.hasAndOperator = hasAndOperator;
}
public static SubscriptionData decode(SubscriptionInfo info) {
SubscriptionData data = new SubscriptionData();
data.setTopic(info.getTopic());
data.setSubString(info.getSubString());
data.setSubNumfmt(info.getSubNumfmt());
data.setHasAndOperator(info.getHasAndOperator());
return data;
}
public SubscriptionInfo encode() {
SubscriptionInfo.Builder builder = SubscriptionInfo.newBuilder();
builder.setTopic(this.topic);
builder.setSubString(this.subString);
builder.setSubNumfmt(this.subNumfmt);
builder.setHasAndOperator(this.hasAndOperator);
return builder.build();
}
public String getTopic() {
return topic;
}
public void setTopic(String topic) {
this.topic = topic;
}
public String getSubString() {
return subString;
}
public void setSubString(String subString) {
this.subString = subString;
}
public String getSubNumfmt() {
return subNumfmt;
}
public void setSubNumfmt(String subNumfmt) {
this.subNumfmt = subNumfmt;
}
public boolean isHasAndOperator() {
return hasAndOperator;
}
public void setHasAndOperator(boolean hasAndOperator) {
this.hasAndOperator = hasAndOperator;
}
public static String getSubAll() {
return SUB_ALL;
}
@Override
public String toString() {
return "SubscriptionData [topic=" + topic + ", subString=" + subString + ", subNumfmt=" + subNumfmt
+ ", hasAndOperator=" + hasAndOperator + "]";
}
}