package org.oliot.epcis_client; import java.text.SimpleDateFormat; import java.util.Date; import org.bson.BsonDocument; /** * Copyright (C) 2014-17 Jaewook Byun * * This project is part of Oliot (oliot.org), pursuing the implementation of * Electronic Product Code Information Service(EPCIS) v1.1 specification in * EPCglobal. * [http://www.gs1.org/gsmp/kc/epcglobal/epcis/epcis_1_1-standard-20140520.pdf] * * * @author Jaewook Jack Byun, Ph.D student * * Korea Advanced Institute of Science and Technology (KAIST) * * Real-time Embedded System Laboratory(RESL) * * bjw0829@kaist.ac.kr, bjw0829@gmail.com */ public abstract class EPCISEvent { private long eventTime; private String eventTimeZoneOffset; public EPCISEvent() { eventTime = System.currentTimeMillis(); SimpleDateFormat format = new SimpleDateFormat("XXX"); eventTimeZoneOffset = format.format(new Date()); } public EPCISEvent(long eventTime, String eventTimeZoneOffset) { this.eventTime = eventTime; this.eventTimeZoneOffset = eventTimeZoneOffset; } public long getEventTime() { return eventTime; } public void setEventTime(long eventTime) { this.eventTime = eventTime; } public String getEventTimeZoneOffset() { return eventTimeZoneOffset; } public void setEventTimeZoneOffset() { SimpleDateFormat format = new SimpleDateFormat("XXX"); eventTimeZoneOffset = format.format(new Date()); } public void setEventTimeZoneOffset(String eventTimeZoneOffset) { this.eventTimeZoneOffset = eventTimeZoneOffset; } public BsonDocument asBsonDocument() { CaptureUtil util = new CaptureUtil(); BsonDocument baseEvent = new BsonDocument(); // Required Fields baseEvent = util.putEventTime(baseEvent, eventTime); baseEvent = util.putEventTimeZoneOffset(baseEvent, eventTimeZoneOffset); return baseEvent; } }