CSP for Java
(JCSP) 1.0-rc4

jcsp.util.ints
Class BufferInt

java.lang.Object
  |
  +--jcsp.util.ints.BufferInt
All Implemented Interfaces:
ChannelDataStoreInt, Cloneable, Serializable

public class BufferInt
extends Object
implements ChannelDataStoreInt, Serializable

This is used to create a buffered integer channel that never loses data.

Description

BufferInt is an implementation of ChannelDataStoreInt that yields a blocking FIFO buffered semantics for a channel. See the static create methods of One2OneChannelInt etc.

The getState method returns EMPTY, NONEMPTYFULL or FULL according to the state of the buffer.

Author:
P.D.Austin
See Also:
ZeroBufferInt, OverWriteOldestBufferInt, OverWritingBufferInt, OverFlowingBufferInt, InfiniteBufferInt, One2OneChannelInt, Any2OneChannelInt, One2AnyChannelInt, Any2AnyChannelInt, Serialized Form

Fields inherited from interface jcsp.util.ints.ChannelDataStoreInt
EMPTY, FULL, NONEMPTYFULL
 
Constructor Summary
BufferInt(int size)
          Construct a new BufferInt with the specified size.
 
Method Summary
 Object clone()
          Returns a new (and EMPTY) BufferInt with the same creation parameters as this one.
 int get()
          Returns the oldest int from the BufferInt and removes it.
 int getState()
          Returns the current state of the BufferInt.
 void put(int value)
          Puts a new int into the BufferInt.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BufferInt

public BufferInt(int size)
Construct a new BufferInt with the specified size.
Parameters:
size - the number of ints the BufferInt can store.
Throws:
BufferIntSizeError - 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.
Method Detail

get

public int get()
Returns the oldest int from the BufferInt and removes it.

Pre-condition: getState must not currently return EMPTY.

Specified by:
get in interface ChannelDataStoreInt
Returns:
the oldest int from the BufferInt

put

public void put(int value)
Puts a new int into the BufferInt.

Pre-condition: getState must not currently return FULL.

Specified by:
put in interface ChannelDataStoreInt
Parameters:
value - the int to put into the BufferInt

getState

public int getState()
Returns the current state of the BufferInt.
Specified by:
getState in interface ChannelDataStoreInt
Returns:
the current state of the BufferInt (EMPTY, NONEMPTYFULL or FULL)

clone

public Object clone()
Returns a new (and EMPTY) BufferInt with the same creation parameters as this one.

Note: Only the size and structure of the BufferInt is cloned, not any stored data.

Specified by:
clone in interface ChannelDataStoreInt
Overrides:
clone in class Object
Returns:
the cloned instance of this BufferInt

CSP for Java
(JCSP) 1.0-rc4

Submit a bug or feature to jcsp-team@ukc.ac.uk
Version 1.0-rc4 of the JCSP API Specification (Copyright 1997-2000 P.D.Austin and P.H.Welch - All Rights Reserved)
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.