public class DefaultIncomingData<DATATYPE extends Data> extends Object implements IncomingData<DATATYPE>
IncomingData.NullIncomingData<DATATYPE extends Data>
Modifier and Type | Field and Description |
---|---|
private boolean |
complete
If this is completed no more data can be added
|
private com.google.common.util.concurrent.SettableFuture<DataList<DATATYPE>> |
completionFuture |
private List<DATATYPE> |
dataList |
private List<com.yahoo.collections.Tuple2<Runnable,Executor>> |
newDataListeners |
private DataList<DATATYPE> |
owner |
Constructor and Description |
---|
DefaultIncomingData()
Creates an instance which must be assigned an owner after creation
|
DefaultIncomingData(DataList<DATATYPE> owner) |
Modifier and Type | Method and Description |
---|---|
void |
add(DATATYPE data)
Add new data without completing this
|
void |
add(List<DATATYPE> data)
Add new data without completing this
|
void |
addLast(DATATYPE data)
Add new data and mark this as completed
|
void |
addLast(List<DATATYPE> data)
Add new data and mark this as completed
|
void |
addNewDataListener(Runnable listener,
Executor executor)
Add a listener which will be invoked every time new data is added to this.
|
void |
assignOwner(DataList<DATATYPE> owner)
Assigns the owner of this.
|
com.google.common.util.concurrent.ListenableFuture<DataList<DATATYPE>> |
completed()
Returns a future in which all the incoming data that will be produced in this is available.
|
List<DATATYPE> |
drain()
Get and remove all the data currently available in this.
|
DataList<DATATYPE> |
getOwner()
Returns the owner (target DataList) of this.
|
boolean |
isComplete()
Returns whether the data in this is complete
|
void |
markComplete()
Mark this as completed and notify any listeners
|
private void |
notifyDataListeners() |
String |
toString() |
private final com.google.common.util.concurrent.SettableFuture<DataList<DATATYPE extends Data>> completionFuture
private boolean complete
public DefaultIncomingData()
public final void assignOwner(DataList<DATATYPE> owner)
public DataList<DATATYPE> getOwner()
IncomingData
getOwner
in interface IncomingData<DATATYPE extends Data>
public com.google.common.util.concurrent.ListenableFuture<DataList<DATATYPE>> completed()
IncomingData
The data is not drained
into the owner of this by this method. That must be done
by the thread using the data list.
This return the list owning this for convenience.
completed
in interface IncomingData<DATATYPE extends Data>
public boolean isComplete()
isComplete
in interface IncomingData<DATATYPE extends Data>
public void addLast(DATATYPE data)
addLast
in interface IncomingData<DATATYPE extends Data>
public void add(DATATYPE data)
add
in interface IncomingData<DATATYPE extends Data>
public void addLast(List<DATATYPE> data)
addLast
in interface IncomingData<DATATYPE extends Data>
public void add(List<DATATYPE> data)
add
in interface IncomingData<DATATYPE extends Data>
public void markComplete()
markComplete
in interface IncomingData<DATATYPE extends Data>
public List<DATATYPE> drain()
drain
in interface IncomingData<DATATYPE extends Data>
public void addNewDataListener(Runnable listener, Executor executor)
IncomingData
addNewDataListener
in interface IncomingData<DATATYPE extends Data>
private void notifyDataListeners()
Copyright © 2018. All rights reserved.