/******************************************************************************* * Copyright © 2012-2015 eBay Software Foundation * This program is dual licensed under the MIT and Apache 2.0 licenses. * Please see LICENSE for more information. *******************************************************************************/ package com.ebay.jetstream.event; import static com.ebay.jetstream.event.BatchSinkRequest.AdvanceAndGetNextBatch; import static com.ebay.jetstream.event.BatchSinkRequest.GetNextBatch; import static com.ebay.jetstream.event.BatchSinkRequest.RevertAndGetNextBatch; /** * @author xiaojuwu1 */ public class BatchResponse { private BatchSinkRequest request; private long offset = -1; private long waitTimeInMs = 0; private int batchSizeBytes = -1; public static BatchResponse getNextBatch() { return new BatchResponse(GetNextBatch); } public static BatchResponse advanceAndGetNextBatch() { return new BatchResponse(AdvanceAndGetNextBatch); } public static BatchResponse revertAndGetNextBatch() { return new BatchResponse(RevertAndGetNextBatch); } private BatchResponse() { } private BatchResponse(BatchSinkRequest request) { this.request = request; } private BatchResponse(BatchSinkRequest request, long offset, long waitTimeInMs, int batchSizeBytes) { this.request = request; this.offset = offset; this.waitTimeInMs = waitTimeInMs; this.batchSizeBytes = batchSizeBytes; } public BatchSinkRequest getRequest() { return request; } public BatchResponse setRequest(BatchSinkRequest request) { this.request = request; return this; } public long getOffset() { return offset; } public BatchResponse setOffset(long offset) { this.offset = offset; return this; } public long getWaitTimeInMs() { return waitTimeInMs; } public BatchResponse setWaitTimeInMs(long waitTimeInMs) { this.waitTimeInMs = waitTimeInMs; return this; } public int getBatchSizeBytes() { return batchSizeBytes; } public BatchResponse setBatchSizeBytes(int batchSizeBytes) { this.batchSizeBytes = batchSizeBytes; return this; } }