Merge pull request #86 from zdjohn/master

expose approximateArrivalTimestamp from JsonFriendlyRecord
This commit is contained in:
Justin Pfifer 2016-07-21 09:58:58 -07:00 committed by GitHub
commit 2104f358c6

View file

@ -16,6 +16,8 @@ package com.amazonaws.services.kinesis.multilang.messages;
import com.amazonaws.services.kinesis.model.Record; import com.amazonaws.services.kinesis.model.Record;
import java.util.Date;
/** /**
* Class for encoding Record objects to json. Needed because Records have byte buffers for their data field which causes * Class for encoding Record objects to json. Needed because Records have byte buffers for their data field which causes
* problems for the json library we're using. * problems for the json library we're using.
@ -24,6 +26,7 @@ public class JsonFriendlyRecord {
private byte[] data; private byte[] data;
private String partitionKey; private String partitionKey;
private String sequenceNumber; private String sequenceNumber;
private Date approximateArrivalTimestamp;
/** /**
* Default Constructor. * Default Constructor.
@ -33,12 +36,14 @@ public class JsonFriendlyRecord {
/** /**
* Convenience constructor. * Convenience constructor.
* *
* @param record The record that this message will represent. * @param record The record that this message will represent.
*/ */
public JsonFriendlyRecord(Record record) { public JsonFriendlyRecord(Record record) {
this.withData(record.getData() == null ? null : record.getData().array()) this.withData(record.getData() == null ? null : record.getData().array())
.withPartitionKey(record.getPartitionKey()).withSequenceNumber(record.getSequenceNumber()); .withPartitionKey(record.getPartitionKey())
.withSequenceNumber(record.getSequenceNumber())
.withApproximateArrivalTimestamp(record.getApproximateArrivalTimestamp());
} }
/** /**
@ -62,6 +67,13 @@ public class JsonFriendlyRecord {
return sequenceNumber; return sequenceNumber;
} }
/**
* @return The approximate arrival timestamp.
*/
public Date getApproximateArrivalTimestamp() {
return approximateArrivalTimestamp;
}
/** /**
* @param data The data. * @param data The data.
*/ */
@ -83,9 +95,16 @@ public class JsonFriendlyRecord {
this.sequenceNumber = sequenceNumber; this.sequenceNumber = sequenceNumber;
} }
/**
* @param approximateArrivalTimestamp The approximate arrival timestamp.
*/
public void setApproximateArrivalTimestamp(Date approximateArrivalTimestamp) {
this.approximateArrivalTimestamp = approximateArrivalTimestamp;
}
/** /**
* @param data The data. * @param data The data.
* *
* @return this * @return this
*/ */
public JsonFriendlyRecord withData(byte[] data) { public JsonFriendlyRecord withData(byte[] data) {
@ -95,7 +114,7 @@ public class JsonFriendlyRecord {
/** /**
* @param partitionKey The partition key. * @param partitionKey The partition key.
* *
* @return this * @return this
*/ */
public JsonFriendlyRecord withPartitionKey(String partitionKey) { public JsonFriendlyRecord withPartitionKey(String partitionKey) {
@ -105,11 +124,25 @@ public class JsonFriendlyRecord {
/** /**
* @param sequenceNumber The sequence number. * @param sequenceNumber The sequence number.
* *
* @return this * @return this
*/ */
public JsonFriendlyRecord withSequenceNumber(String sequenceNumber) { public JsonFriendlyRecord withSequenceNumber(String sequenceNumber) {
this.setSequenceNumber(sequenceNumber); this.setSequenceNumber(sequenceNumber);
return this; return this;
} }
/**
* @param approximateArrivalTimestamp The approximate arrival timestamp.
*
* @return this
*/
public JsonFriendlyRecord withApproximateArrivalTimestamp(Date approximateArrivalTimestamp){
this.setApproximateArrivalTimestamp(approximateArrivalTimestamp);
return this;
}
} }