com.alibaba.otter.canal.protocol.Message Maven / Gradle / Ivy
package com.alibaba.otter.canal.protocol;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang.builder.ToStringBuilder;
import com.alibaba.otter.canal.common.utils.CanalToStringStyle;
import com.alibaba.otter.canal.protocol.CanalEntry.Entry;
import com.google.protobuf.ByteString;
/**
* @author zebin.xuzb @ 2012-6-19
* @version 1.0.0
*/
public class Message implements Serializable {
private static final long serialVersionUID = 1234034768477580009L;
private long id;
private List entries = new ArrayList<>();
// row data for performance, see:
// https://github.com/alibaba/canal/issues/726
private boolean raw = true;
private List rawEntries = new ArrayList<>();
public Message(long id, List entries){
this.id = id;
this.entries = entries == null ? new ArrayList<>() : entries;
this.raw = false;
}
public Message(long id, boolean raw, List entries){
this.id = id;
if (raw) {
this.rawEntries = entries == null ? new ArrayList<>() : entries;
} else {
this.entries = entries == null ? new ArrayList<>() : entries;
}
this.raw = raw;
}
public Message(long id){
this.id = id;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public List getEntries() {
return entries;
}
public void setEntries(List entries) {
this.entries = entries;
}
public void addEntry(CanalEntry.Entry entry) {
this.entries.add(entry);
}
public void setRawEntries(List rawEntries) {
this.rawEntries = rawEntries;
}
public void addRawEntry(ByteString rawEntry) {
this.rawEntries.add(rawEntry);
}
public List getRawEntries() {
return rawEntries;
}
public boolean isRaw() {
return raw;
}
public void setRaw(boolean raw) {
this.raw = raw;
}
public String toString() {
return ToStringBuilder.reflectionToString(this, CanalToStringStyle.DEFAULT_STYLE);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy