package org.oliot.model.epcis; import org.bson.BsonBoolean; import org.bson.BsonDocument; import org.bson.BsonString; public class SubscriptionType { private String subscriptionID; private String dest; private String schedule; private String trigger; private String initialRecordTime; private Boolean reportIfEmpty; private PollParameters pollParameters; public SubscriptionType(){ } public SubscriptionType(BsonDocument doc) { if (doc.containsKey("subscriptionID")) { this.subscriptionID = doc.getString("subscriptionID").getValue(); } if (doc.containsKey("dest")) { this.dest = doc.getString("dest").getValue(); } if (doc.containsKey("schedule")) { this.schedule = doc.getString("schedule").getValue(); } if (doc.containsKey("trigger")) { this.trigger = doc.getString("trigger").getValue(); } if (doc.containsKey("initialRecordTime")) { this.initialRecordTime = doc.getString("initialRecordTime").getValue(); } if (doc.containsKey("reportIfEmpty")) { this.reportIfEmpty = doc.getBoolean("reportIfEmpty").getValue(); } if (doc.containsKey("pollParameters")) { this.pollParameters = new PollParameters(doc.getDocument("pollParameters")); } } public static BsonDocument asBsonDocument(SubscriptionType subscription) { BsonDocument bson = new BsonDocument(); if (subscription.getSubscriptionID() != null) { bson.put("subscriptionID", new BsonString(subscription.getSubscriptionID())); } if (subscription.getDest() != null) { bson.put("dest", new BsonString(subscription.getDest())); } if (subscription.getSchedule() != null) { bson.put("schedule", new BsonString(subscription.getSchedule())); } if (subscription.getTrigger() != null) { bson.put("trigger", new BsonString(subscription.getTrigger())); } if (subscription.getInitialRecordTime() != null) { bson.put("initialRecordTime", new BsonString(subscription.getInitialRecordTime())); } bson.put("reportIfEmpty", new BsonBoolean(subscription.getReportIfEmpty())); bson.put("pollParameters", PollParameters.asBsonDocument(subscription.getPollParameters())); return bson; } public SubscriptionType(String subscriptionID, String dest, String schedule, String trigger, String initialRecordTime, Boolean reportIfEmpty, PollParameters pollParameters) { this.subscriptionID = subscriptionID; this.dest = dest; this.schedule = schedule; this.trigger = trigger; this.initialRecordTime = initialRecordTime; this.reportIfEmpty = reportIfEmpty; this.pollParameters = pollParameters; } public Boolean getReportIfEmpty() { return reportIfEmpty; } public void setReportIfEmpty(Boolean reportIfEmpty) { this.reportIfEmpty = reportIfEmpty; } 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 getSchedule() { return schedule; } public void setSchedule(String schedule) { this.schedule = schedule; } public String getTrigger() { return trigger; } public void setTrigger(String trigger) { this.trigger = trigger; } public String getInitialRecordTime() { return initialRecordTime; } public void setInitialRecordTime(String initialRecordTime) { this.initialRecordTime = initialRecordTime; } public PollParameters getPollParameters() { return pollParameters; } public void setPollParameters(PollParameters pollParameters) { this.pollParameters = pollParameters; } }