package org.oliot.model.epcis;
import java.util.HashMap;
import java.util.Map;
import org.bson.BsonBoolean;
import org.bson.BsonDocument;
import org.bson.BsonString;
public class SubscriptionType {
private String queryName;
private String subscriptionID;
private String dest;
private String cronExpression;
private boolean isScheduledSubscription;
private boolean ignoreReceivedEvent;
private boolean reportIfEmpty;
private String initialRecordTime;
private String GE_eventTime;
private String LT_eventTime;
private String GE_recordTime;
private String LT_recordTime;
private String EQ_action;
private String EQ_bizStep;
private String EQ_disposition;
private String EQ_readPoint;
private String WD_readPoint;
private String EQ_bizLocation;
private String WD_bizLocation;
private String EQ_transformationID;
private String MATCH_epc;
private String MATCH_parentID;
private String MATCH_inputEPC;
private String MATCH_outputEPC;
private String MATCH_anyEPC;
private String MATCH_epcClass;
private String MATCH_inputEPCClass;
private String MATCH_outputEPCClass;
private String MATCH_anyEPCClass;
private String EQ_quantity;
private String GT_quantity;
private String GE_quantity;
private String LT_quantity;
private String LE_quantity;
private String orderBy;
private String orderDirection;
private String eventCountLimit;
private String maxEventCount;
private String format;
private Map<String, String> paramMap;
public SubscriptionType() {
}
public SubscriptionType(BsonDocument doc) {
if (doc.containsKey("queryName"))
this.queryName = doc.getString("queryName").getValue();
this.subscriptionID = doc.getString("subscriptionID").getValue();
this.dest = doc.getString("dest").getValue();
this.cronExpression = doc.getString("cronExpression").getValue();
if (doc.containsKey("isScheduledSubscription"))
this.isScheduledSubscription = doc.getBoolean("isScheduledSubscription").getValue();
if (doc.containsKey("ignoreReceivedEvent"))
this.ignoreReceivedEvent = doc.getBoolean("ignoreReceivedEvent").getValue();
if (doc.containsKey("reportIfEmpty"))
this.reportIfEmpty = doc.getBoolean("reportIfEmpty").getValue();
if (doc.containsKey("initialRecordTime"))
this.initialRecordTime = doc.getString("initialRecordTime").getValue();
if (doc.containsKey("eventType"))
this.eventType = doc.getString("eventType").getValue();
if (doc.containsKey("GE_eventTime"))
this.GE_eventTime = doc.getString("GE_eventTime").getValue();
if (doc.containsKey("LT_eventTime"))
this.LT_eventTime = doc.getString("LT_eventTime").getValue();
if (doc.containsKey("GE_recordTime"))
this.GE_recordTime = doc.getString("GE_recordTime").getValue();
if (doc.containsKey("LT_recordTime"))
this.LT_recordTime = doc.getString("LT_recordTime").getValue();
if (doc.containsKey("EQ_action"))
this.EQ_action = doc.getString("EQ_action").getValue();
if (doc.containsKey("EQ_bizStep"))
this.EQ_bizStep = doc.getString("EQ_bizStep").getValue();
if (doc.containsKey("EQ_disposition"))
this.EQ_disposition = doc.getString("EQ_disposition").getValue();
if (doc.containsKey("WD_bizLocation"))
this.WD_bizLocation = doc.getString("WD_bizLocation").getValue();
if (doc.containsKey("EQ_transformationID"))
this.EQ_transformationID = doc.getString("EQ_transformationID").getValue();
if (doc.containsKey("MATCH_epc"))
this.MATCH_epc = doc.getString("MATCH_epc").getValue();
if (doc.containsKey("MATCH_parentID"))
this.MATCH_parentID = doc.getString("MATCH_parentID").getValue();
if (doc.containsKey("MATCH_inputEPC"))
this.MATCH_inputEPC = doc.getString("MATCH_inputEPC").getValue();
if (doc.containsKey("MATCH_outputEPC"))
this.MATCH_outputEPC = doc.getString("MATCH_outputEPC").getValue();
if (doc.containsKey("MATCH_anyEPC"))
this.MATCH_anyEPC = doc.getString("MATCH_anyEPC").getValue();
if (doc.containsKey("MATCH_epcClass"))
this.MATCH_epcClass = doc.getString("MATCH_epcClass").getValue();
if (doc.containsKey("MATCH_anyEPCClass"))
this.MATCH_anyEPCClass = doc.getString("MATCH_anyEPCClass").getValue();
if (doc.containsKey("EQ_quantity"))
this.EQ_quantity = doc.getString("EQ_quantity").getValue();
if (doc.containsKey("GT_quantity"))
this.GT_quantity = doc.getString("GT_quantity").getValue();
if (doc.containsKey("GE_quantity"))
this.GE_quantity = doc.getString("GE_quantity").getValue();
if (doc.containsKey("LT_quantity"))
this.LT_quantity = doc.getString("LT_quantity").getValue();
if (doc.containsKey("LE_quantity"))
this.LE_quantity = doc.getString("LE_quantity").getValue();
if (doc.containsKey("orderBy"))
this.orderBy = doc.getString("orderBy").getValue();
if (doc.containsKey("orderDirection"))
this.orderDirection = doc.getString("orderDirection").getValue();
if (doc.containsKey("eventCountLimit"))
this.eventCountLimit = doc.getString("eventCountLimit").getValue();
if (doc.containsKey("maxEventCount"))
this.maxEventCount = doc.getString("maxEventCount").getValue();
if (doc.containsKey("format"))
this.format = doc.getString("format").getValue();
if (doc.containsKey("paramMap")) {
Map<String, String> paramMap = new HashMap<String, String>();
BsonDocument bsonParam = doc.getDocument("paramMap");
for (String key : bsonParam.keySet()) {
paramMap.put(key, bsonParam.getString(key).getValue());
}
if (bsonParam.isEmpty() == false)
this.paramMap = paramMap;
}
}
public SubscriptionType(String queryName, String subscriptionID, String dest, String cronExpression,
boolean isScheduledSubscription, boolean ignoreReceivedEvent, boolean reportIfEmpty,
String initialRecordTime, String eventType, String GE_eventTime, String LT_eventTime, String GE_recordTime,
String LT_recordTime, String EQ_action, String EQ_bizStep, String EQ_disposition, String EQ_readPoint,
String WD_readPoint, String EQ_bizLocation, String WD_bizLocation, String EQ_transformationID,
String MATCH_epc, String MATCH_parentID, String MATCH_inputEPC, String MATCH_outputEPC, String MATCH_anyEPC,
String MATCH_epcClass, String MATCH_inputEPCClass, String MATCH_outputEPCClass, String MATCH_anyEPCClass,
String EQ_quantity, String GT_quantity, String GE_quantity, String LT_quantity, String LE_quantity,
String orderBy, String orderDirection, String eventCountLimit, String maxEventCount, String format,
Map<String, String> paramMap) {
this.queryName = queryName;
this.subscriptionID = subscriptionID;
this.dest = dest;
this.cronExpression = cronExpression;
this.isScheduledSubscription = isScheduledSubscription;
this.ignoreReceivedEvent = ignoreReceivedEvent;
this.reportIfEmpty = reportIfEmpty;
this.initialRecordTime = initialRecordTime;
this.eventType = eventType;
this.GE_eventTime = GE_eventTime;
this.LT_eventTime = LT_eventTime;
this.GE_recordTime = GE_recordTime;
this.LT_recordTime = LT_recordTime;
this.EQ_action = EQ_action;
this.EQ_bizStep = EQ_bizStep;
this.EQ_disposition = EQ_disposition;
this.WD_bizLocation = WD_bizLocation;
this.EQ_transformationID = EQ_transformationID;
this.MATCH_epc = MATCH_epc;
this.MATCH_parentID = MATCH_parentID;
this.MATCH_inputEPC = MATCH_inputEPC;
this.MATCH_outputEPC = MATCH_outputEPC;
this.MATCH_anyEPC = MATCH_anyEPC;
this.MATCH_epcClass = MATCH_epcClass;
this.MATCH_anyEPCClass = MATCH_anyEPCClass;
this.EQ_quantity = EQ_quantity;
this.GT_quantity = GT_quantity;
this.GE_quantity = GE_quantity;
this.LT_quantity = LT_quantity;
this.LE_quantity = LE_quantity;
this.orderBy = orderBy;
this.orderDirection = orderDirection;
this.eventCountLimit = eventCountLimit;
this.maxEventCount = maxEventCount;
this.format = format;
this.paramMap = paramMap;
}
public static BsonDocument asBsonDocument(SubscriptionType subscription) {
BsonDocument bson = new BsonDocument();
if (subscription.getQueryName() != null) {
bson.put("queryName", new BsonString(subscription.getQueryName()));
}
if (subscription.getSubscriptionID() != null) {
bson.put("subscriptionID", new BsonString(subscription.getSubscriptionID()));
}
if (subscription.getDest() != null) {
bson.put("dest", new BsonString(subscription.getDest()));
}
if (subscription.getCronExpression() != null) {
bson.put("cronExpression", new BsonString(subscription.getCronExpression()));
}
bson.put("isScheduledSubscription", new BsonBoolean(subscription.isScheduledSubscription));
bson.put("ignoreReceivedEvent", new BsonBoolean(subscription.isIgnoreReceivedEvent()));
bson.put("reportIfEmpty", new BsonBoolean(subscription.isReportIfEmpty()));
if (subscription.getInitialRecordTime() != null) {
bson.put("initialRecordTime", new BsonString(subscription.getInitialRecordTime()));
}
if (subscription.getEventType() != null) {
bson.put("eventType", new BsonString(subscription.getEventType()));
}
if (subscription.getGE_eventTime() != null) {
bson.put("GE_eventTime", new BsonString(subscription.getGE_eventTime()));
}
if (subscription.getLT_eventTime() != null) {
bson.put("LT_eventTime", new BsonString(subscription.getLT_eventTime()));
}
if (subscription.getGE_recordTime() != null) {
bson.put("GE_recordTime", new BsonString(subscription.getGE_recordTime()));
}
if (subscription.getLT_recordTime() != null) {
bson.put("LT_recordTime", new BsonString(subscription.getLT_recordTime()));
}
if (subscription.getEQ_action() != null) {
bson.put("EQ_action", new BsonString(subscription.getEQ_action()));
}
if (subscription.getEQ_bizStep() != null) {
bson.put("EQ_bizStep", new BsonString(subscription.getEQ_bizStep()));
}
if (subscription.getEQ_disposition() != null) {
bson.put("EQ_disposition", new BsonString(subscription.getEQ_disposition()));
}
if (subscription.getWD_bizLocation() != null) {
bson.put("WD_bizLocation", new BsonString(subscription.getWD_bizLocation()));
}
if (subscription.getEQ_transformationID() != null) {
bson.put("EQ_transformationID", new BsonString(subscription.getEQ_transformationID()));
}
if (subscription.getMATCH_epc() != null) {
bson.put("MATCH_epc", new BsonString(subscription.getMATCH_epc()));
}
if (subscription.getMATCH_parentID() != null) {
bson.put("MATCH_parentID", new BsonString(subscription.getMATCH_parentID()));
}
if (subscription.getMATCH_inputEPC() != null) {
bson.put("MATCH_inputEPC", new BsonString(subscription.getMATCH_inputEPC()));
}
if (subscription.getMATCH_outputEPC() != null) {
bson.put("MATCH_outputEPC", new BsonString(subscription.getMATCH_outputEPC()));
}
if (subscription.getMATCH_anyEPC() != null) {
bson.put("MATCH_anyEPC", new BsonString(subscription.getMATCH_anyEPC()));
}
if (subscription.getMATCH_epcClass() != null) {
bson.put("MATCH_epcClass", new BsonString(subscription.getMATCH_epcClass()));
}
if (subscription.getMATCH_anyEPCClass() != null) {
bson.put("MATCH_anyEPCClass", new BsonString(subscription.getMATCH_anyEPCClass()));
}
if (subscription.getMATCH_inputEPC() != null) {
bson.put("MATCH_inputEPC", new BsonString(subscription.getMATCH_inputEPC()));
}
if (subscription.getMATCH_inputEPC() != null) {
bson.put("MATCH_inputEPC", new BsonString(subscription.getMATCH_inputEPC()));
}
if (subscription.getEQ_quantity() != null) {
bson.put("EQ_quantity", new BsonString(subscription.getEQ_quantity()));
}
if (subscription.getGT_quantity() != null) {
bson.put("GT_quantity", new BsonString(subscription.getGT_quantity()));
}
if (subscription.getGE_quantity() != null) {
bson.put("GE_quantity", new BsonString(subscription.getGE_quantity()));
}
if (subscription.getLT_quantity() != null) {
bson.put("LT_quantity", new BsonString(subscription.getLT_quantity()));
}
if (subscription.getLE_quantity() != null) {
bson.put("LE_quantity", new BsonString(subscription.getLE_quantity()));
}
if (subscription.getOrderBy() != null) {
bson.put("orderBy", new BsonString(subscription.getOrderBy()));
}
if (subscription.getOrderDirection() != null) {
bson.put("orderDirection", new BsonString(subscription.getOrderDirection()));
}
if (subscription.getEventCountLimit() != null) {
bson.put("eventCountLimit", new BsonString(subscription.getEventCountLimit()));
}
if (subscription.getMaxEventCount() != null) {
bson.put("maxEventCount", new BsonString(subscription.getMaxEventCount()));
}
if (subscription.getFormat() != null) {
bson.put("format", new BsonString(subscription.getFormat()));
}
if (subscription.getParamMap() != null && subscription.getParamMap().isEmpty() == false) {
BsonDocument paramMap = new BsonDocument();
for (String key : subscription.getParamMap().keySet()) {
String value = subscription.getParamMap().get(key).toString();
paramMap.put(key, new BsonString(value));
}
bson.put("paramMap", paramMap);
}
return bson;
}
public boolean isIgnoreReceivedEvent() {
return ignoreReceivedEvent;
}
public void setIgnoreReceivedEvent(boolean ignoreReceivedEvent) {
this.ignoreReceivedEvent = ignoreReceivedEvent;
}
public String getInitialRecordTime() {
return initialRecordTime;
}
public void setInitialRecordTime(String initialRecordTime) {
this.initialRecordTime = initialRecordTime;
}
private String eventType;
public boolean isReportIfEmpty() {
return reportIfEmpty;
}
public void setReportIfEmpty(boolean reportIfEmpty) {
this.reportIfEmpty = reportIfEmpty;
}
public Map<String, String> getParamMap() {
return paramMap;
}
public void setParamMap(Map<String, String> paramMap) {
this.paramMap = paramMap;
}
public String getFormat() {
return format;
}
public void setFormat(String format) {
this.format = format;
}
public String getQueryName() {
return queryName;
}
public void setQueryName(String queryName) {
this.queryName = queryName;
}
public String getSubscriptionID() {
return subscriptionID;
}
public void setSubscriptionID(String subscriptionID) {
this.subscriptionID = subscriptionID;
}
public String getDest() {
return dest;
}
public void setDest(String dest) {
this.dest = dest;
}
public String getCronExpression() {
return cronExpression;
}
public void setCronExpression(String cronExpression) {
this.cronExpression = cronExpression;
}
public String getEventType() {
return eventType;
}
public void setEventType(String eventType) {
this.eventType = eventType;
}
public String getGE_eventTime() {
return GE_eventTime;
}
public void setGE_eventTime(String gE_eventTime) {
GE_eventTime = gE_eventTime;
}
public String getLT_eventTime() {
return LT_eventTime;
}
public void setLT_eventTime(String lT_eventTime) {
LT_eventTime = lT_eventTime;
}
public String getGE_recordTime() {
return GE_recordTime;
}
public void setGE_recordTime(String gE_recordTime) {
GE_recordTime = gE_recordTime;
}
public String getLT_recordTime() {
return LT_recordTime;
}
public void setLT_recordTime(String lT_recordTime) {
LT_recordTime = lT_recordTime;
}
public String getEQ_action() {
return EQ_action;
}
public void setEQ_action(String eQ_action) {
EQ_action = eQ_action;
}
public String getEQ_bizStep() {
return EQ_bizStep;
}
public void setEQ_bizStep(String eQ_bizStep) {
EQ_bizStep = eQ_bizStep;
}
public String getEQ_disposition() {
return EQ_disposition;
}
public void setEQ_disposition(String eQ_disposition) {
EQ_disposition = eQ_disposition;
}
public String getEQ_readPoint() {
return EQ_readPoint;
}
public void setEQ_readPoint(String eQ_readPoint) {
EQ_readPoint = eQ_readPoint;
}
public String getWD_readPoint() {
return WD_readPoint;
}
public void setWD_readPoint(String wD_readPoint) {
WD_readPoint = wD_readPoint;
}
public String getEQ_bizLocation() {
return EQ_bizLocation;
}
public void setEQ_bizLocation(String eQ_bizLocation) {
EQ_bizLocation = eQ_bizLocation;
}
public String getWD_bizLocation() {
return WD_bizLocation;
}
public void setWD_bizLocation(String wD_bizLocation) {
WD_bizLocation = wD_bizLocation;
}
public String getEQ_transformationID() {
return EQ_transformationID;
}
public void setEQ_transformationID(String eQ_transformationID) {
EQ_transformationID = eQ_transformationID;
}
public String getMATCH_epc() {
return MATCH_epc;
}
public void setMATCH_epc(String mATCH_epc) {
MATCH_epc = mATCH_epc;
}
public String getMATCH_parentID() {
return MATCH_parentID;
}
public void setMATCH_parentID(String mATCH_parentID) {
MATCH_parentID = mATCH_parentID;
}
public String getMATCH_inputEPC() {
return MATCH_inputEPC;
}
public void setMATCH_inputEPC(String mATCH_inputEPC) {
MATCH_inputEPC = mATCH_inputEPC;
}
public String getMATCH_outputEPC() {
return MATCH_outputEPC;
}
public void setMATCH_outputEPC(String mATCH_outputEPC) {
MATCH_outputEPC = mATCH_outputEPC;
}
public String getMATCH_anyEPC() {
return MATCH_anyEPC;
}
public void setMATCH_anyEPC(String mATCH_anyEPC) {
MATCH_anyEPC = mATCH_anyEPC;
}
public String getMATCH_epcClass() {
return MATCH_epcClass;
}
public void setMATCH_epcClass(String mATCH_epcClass) {
MATCH_epcClass = mATCH_epcClass;
}
public String getMATCH_inputEPCClass() {
return MATCH_inputEPCClass;
}
public void setMATCH_inputEPCClass(String mATCH_inputEPCClass) {
MATCH_inputEPCClass = mATCH_inputEPCClass;
}
public String getMATCH_outputEPCClass() {
return MATCH_outputEPCClass;
}
public void setMATCH_outputEPCClass(String mATCH_outputEPCClass) {
MATCH_outputEPCClass = mATCH_outputEPCClass;
}
public String getMATCH_anyEPCClass() {
return MATCH_anyEPCClass;
}
public void setMATCH_anyEPCClass(String mATCH_anyEPCClass) {
MATCH_anyEPCClass = mATCH_anyEPCClass;
}
public String getEQ_quantity() {
return EQ_quantity;
}
public void setEQ_quantity(String eQ_quantity) {
EQ_quantity = eQ_quantity;
}
public String getGT_quantity() {
return GT_quantity;
}
public void setGT_quantity(String gT_quantity) {
GT_quantity = gT_quantity;
}
public String getGE_quantity() {
return GE_quantity;
}
public void setGE_quantity(String gE_quantity) {
GE_quantity = gE_quantity;
}
public String getLT_quantity() {
return LT_quantity;
}
public void setLT_quantity(String lT_quantity) {
LT_quantity = lT_quantity;
}
public String getLE_quantity() {
return LE_quantity;
}
public void setLE_quantity(String lE_quantity) {
LE_quantity = lE_quantity;
}
public String getOrderBy() {
return orderBy;
}
public void setOrderBy(String orderBy) {
this.orderBy = orderBy;
}
public String getOrderDirection() {
return orderDirection;
}
public void setOrderDirection(String orderDirection) {
this.orderDirection = orderDirection;
}
public String getEventCountLimit() {
return eventCountLimit;
}
public void setEventCountLimit(String eventCountLimit) {
this.eventCountLimit = eventCountLimit;
}
public String getMaxEventCount() {
return maxEventCount;
}
public void setMaxEventCount(String maxEventCount) {
this.maxEventCount = maxEventCount;
}
public boolean isScheduledSubscription() {
return isScheduledSubscription;
}
public void setScheduledSubscription(boolean isScheduledSubscription) {
this.isScheduledSubscription = isScheduledSubscription;
}
}