public class Buffer<T> extends java.lang.Object implements ChannelDataStore<T>, java.io.Serializable
Channel
(Channel.one2one(org.jcsp.util.ChannelDataStore) etc.).
The getState method returns EMPTY, NONEMPTYFULL or FULL according to the state of the buffer.
ZeroBuffer,
OverWriteOldestBuffer,
OverWritingBuffer,
OverFlowingBuffer,
InfiniteBuffer,
Channel,
Serialized FormEMPTY, FULL, NONEMPTYFULL| Constructor and Description |
|---|
Buffer(int size)
Construct a new Buffer with the specified size.
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
clone()
Returns a new (and EMPTY) Buffer with the same
creation parameters as this one.
|
void |
endGet()
Removes the oldest object from the buffer.
|
T |
get()
Returns the oldest Object from the Buffer and removes it.
|
int |
getState()
Returns the current state of the Buffer.
|
void |
put(T value)
Puts a new Object into the Buffer.
|
void |
removeAll()
Deletes all items in the buffer, leaving it empty.
|
T |
startGet()
Returns the oldest object from the buffer but does not remove it.
|
public Buffer(int size)
size - the number of Objects the Buffer can store.BufferSizeError - if size is negative. Note: no action
should be taken to try/catch this exception
- application code generating it is in error and needs correcting.public T get()
Pre-condition: getState must not currently return EMPTY.
get in interface ChannelDataStore<T>public T startGet()
startGet in interface ChannelDataStore<T>ChannelDataStore.endGet()public void endGet()
endGet in interface ChannelDataStore<T>ChannelDataStore.startGet()public void put(T value)
Pre-condition: getState must not currently return FULL.
put in interface ChannelDataStore<T>value - the Object to put into the Bufferpublic int getState()
getState in interface ChannelDataStore<T>public java.lang.Object clone()
Note: Only the size and structure of the Buffer is cloned, not any stored data.
clone in interface ChannelDataStore<T>clone in class java.lang.Objectpublic void removeAll()
ChannelDataStoreremoveAll in interface ChannelDataStore<T>Copyright © 1996–2022. All rights reserved.