# All Classes and Interfaces

Class
Description
ActiveApplet
``java.applet.Applet`` with a channel interface, specialising in the operation of `CSProcess` networks as applets.
ActiveApplet.Configure
This enables general configuration of this component.
ActiveButton
``java.awt.Button`` with a channel interface.
ActiveButton.Configure
This enables general configuration of this component.
ActiveButtonControl
This is a user-programmable finite state machine for controlling an array of `ActiveButton`s.
ActiveButtonControl.BadArguments
This gets thrown if a consistency check fails in the `ActiveButtonControl` constructor.
ActiveButtonState
A state of the `ActiveButtonControl` finite state machine.
ActiveButtonState.BadArguments
This gets thrown if a consistency check fails in the `ActiveButtonState` constructor.
ActiveCanvas
``java.awt.Canvas`` with a channel interface.
ActiveCheckbox
``java.awt.Checkbox`` with a channel interface.
ActiveCheckbox.Configure
This enables general configuration of this component.
ActiveCheckboxMenuItem
``java.awt.CheckboxMenuItem`` with a channel interface.
ActiveCheckboxMenuItem.Configure
This enables general configuration of this component.
ActiveChoice
``java.awt.Choice`` with a channel interface.
ActiveChoice.Configure
This enables general configuration of this component.
ActiveClosingFrame
A specialisation of `ActiveFrame` that forces a `System.exit` upon a Window Closing event.
ActiveComponent
``java.awt.Component`` with a channel interface.
ActiveComponent.Configure
This enables general configuration of this component.
ActiveContainer
``java.awt.Container`` with a channel interface.
ActiveContainer.Configure
This enables general configuration of this component.
ActiveDialog
``java.awt.Dialog`` with a channel interface.
ActiveDialog.Configure
This enables general configuration of this component.
ActiveFileDialog
``java.awt.FileDialog`` with a channel interface.
ActiveFileDialog.Configure
This enables general configuration of this component.
ActiveFrame
``java.awt.Frame`` with a channel interface.
ActiveFrame.Configure
This enables general configuration of this component.
ActiveLabel
``java.awt.Label`` with a channel interface.
ActiveLabel.Configure
This enables general configuration of this component.
ActiveList
``java.awt.List`` with a channel interface.
ActiveList.Configure
This enables general configuration of this component.
ActiveMenu
``java.awt.Menu`` with a channel interface.
ActiveMenu.Configure
This enables general configuration of this component.
ActiveMenuItem
``java.awt.MenuItem`` with a channel interface.
ActiveMenuItem.Configure
This enables general configuration of this component.
ActivePanel
``java.awt.Panel`` with a channel interface.
ActivePanel.Configure
This enables general configuration of this component.
ActiveScrollbar
``java.awt.Scrollbar`` with a channel interface.
ActiveScrollbar.Configure
This enables general configuration of this component.
ActiveScrollPane
``java.awt.ScrollPane`` with a channel interface.
ActiveScrollPane.Configure
This enables general configuration of this component.
ActiveTextArea
``java.awt.TextArea`` with a channel interface.
ActiveTextArea.Configure
This enables general configuration of this component.
ActiveTextEnterArea
A specialisation of `ActiveTextArea` that writes text to the `event` channel only when ESCAPE is pressed.
ActiveTextEnterField
A specialisation of `ActiveTextField` that writes text to the `event` channel only when ENTER or ESCAPE is pressed.
ActiveTextField
``java.awt.TextField`` with a channel interface.
ActiveTextField.Configure
This enables general configuration of this component.
ActiveWindow
``java.awt.Window`` with a channel interface.
ActiveWindow.Configure
This enables general configuration of this component.
Alternative
This enables a process to wait passively for and choose between a number of `Guard` events.
AlternativeError
This is thrown for an illegal operation on an Alternative.
AltingBarrier
This is the front-end for a barrier that can be used as a `Guard` in an `Alternative`.
AltingBarrierError
This is thrown for an illegal operation on an `AltingBarrier`.
AltingChannelAccept
This extends `Guard` and `ChannelAccept` to enable a process to choose between many CALL channel (and other) events.
AltingChannelInput
This extends `Guard` and `ChannelInput` to enable a process to choose between many object input (and other) events.
AltingChannelInputInt
This extends `Guard` and `ChannelInputInt` to enable a process to choose between many integer input (and other) events.
AltingChannelInputWrapper
Deprecated.
There is no longer any need to use this class, after the 1.1 class reorganisation.
AltingChannelOutput
This extends `Guard` and `ChannelOutput` to enable a process to choose between many integer output (and other) events.
AltingChannelOutputInt
This extends `Guard` and `ChannelOutputInt` to enable a process to choose between many integer output (and other) events.
AltingConnectionClient
This class is sub-classed by JCSP.NET classes to provide `ConnectionClient` objects which can have their `receive()` method alted over.
AltingConnectionClientImpl
This class does not need to be used by standard JCSP users.
AltingConnectionServer
An interface to connection.
AltingConnectionServerImpl
This class does not need to be used by standard JCSP users.
And
Bitwise ands two `Integer` streams to one stream.
AndInt
Bitwise ands two integer streams to one stream.
Any2AnyCallChannel
This is the super-class for any-to-any `interface`-specific CALL channels, safe for use by many clients and many servers.
Any2AnyChannel
This defines the interface for an any-to-any Object channel, safe for use by many writers and many readers.
Any2AnyChannelInt
This defines an interface for an any-to-any integer channel, safe for use by many writers and many readers.
Any2AnyConnection
Defines an interface for a connection shared by multiple clients and multiple servers.
Any2OneCallChannel
This is the super-class for any-to-one `interface`-specific CALL channels, safe for use by many clients and one server.
Any2OneChannel
This defines an interface for an any-to-one Object channel, safe for use by many writers and one reader.
Any2OneChannelInt
This defines an interface for an any-to-one integer channel, safe for use by many writers and one reader.
Any2OneConnection
Defines an interface for a connection that can be shared by multiple concurrent clients but used by a single server.
Barrier
This enables barrier synchronisation between a set of processes.
BarrierError
This is thrown for an illegal operation on an Barrier.
BlackHole
Black holes anything sent to it.
BlackHoleChannel
This implements `ChannelOutput` with black hole semantics.
BlackHoleChannelInt
This implements `ChannelOutputInt` with black hole semantics.
BlackHoleInt
Black holes anything sent to it.
Bucket
This enables bucket synchronisation between a set of processes.
Buffer
This is used to create a buffered object channel that never loses data.
BufferedChannelArrayFactory
Deprecated.
These channel factories are deprecated in favour of the new one2one() methods in the Channel class.
BufferedChannelFactory
Deprecated.
These channel factories are deprecated in favour of the new one2one() methods in the Channel class.
BufferedChannelIntArrayFactory
Deprecated.
These channel factories are deprecated in favour of the new one2one() methods in the Channel class.
BufferedChannelIntFactory
Deprecated.
These channel factories are deprecated in favour of the new one2one() methods in the Channel class.
BufferInt
This is used to create a buffered integer channel that never loses data.
BufferIntSizeError
This is thrown if an attempt is made to create some variety of buffered channel with a zero or negative sized buffer.
BufferSizeError
This is thrown if an attempt is made to create some variety of buffered channel with a zero or negative sized buffer.
Channel
This class provides static factory methods for constructing all the different types of channel.
ChannelAccept
This defines the interface for accepting CALL channels.
ChannelArrayFactory
Deprecated.
These channel factories are deprecated in favour of the new one2one() methods in the Channel class.
ChannelDataStore
This is the interface for object channel plug-ins that define their buffering characteristics.
ChannelDataStoreInt
This is the interface for integer channel plug-ins that define their buffering characteristics.
ChannelFactory
Deprecated.
These channel factories are deprecated in favour of the new one2one() methods in the Channel class.
ChannelInput
This defines the interface for reading from an Object channel.
ChannelInputInt
This defines the interface for reading from object channels.
ChannelInputWrapper
Deprecated.
There is no longer any need to use this class, after the 1.1 class reorganisation.
ChannelInt
Deprecated.
To create integer channels, use the methods in the Channel class.
ChannelIntArrayFactory
Deprecated.
These channel factories are deprecated in favour of the new one2one() methods in the Channel class.
ChannelIntFactory
Deprecated.
These channel factories are deprecated in favour of the new one2one() methods in the Channel class.
ChannelOutput
This defines the interface for writing to object channels.
ChannelOutputInt
This defines the interface for writing to integer channels.
ChannelOutputWrapper
Deprecated.
There is no longer any need to use this class, after the 1.1 class reorganisation.
Connection
This class provides static factory methods for constructing different types of connection.
ConnectionArrayFactory
Defines an interface for a factory that can create arrays of connections.
ConnectionClient
This is an interface to be implemented by classes that wish to act as a client to connect to a `ConnectionServer`.
ConnectionFactory
Defines an interface for a factory than can create connections.
ConnectionServer
This interface should be implemented by classes that wish to act as connection servers and to accept requests from `ConnectionClient` objects.
Crew
This provides a Concurrent Read Exclusive Write (CREW) lock for synchronising fair and secure access to a shared resource.
CSProcess
This is the JCSP interface for a process - an active component that encapsulates the data structures on which it operates.
CSTimer
This is a `Guard` for setting timeouts in an `Alternative`.
Delta
This process broadcasts objects arriving on its input channel in parallel to its array of output channels.
Delta2
This process broadcasts objects arriving on its input channel in parallel to its two output channels.
Delta2Int
This process broadcasts integers arriving on its input channel in parallel to its two output channels.
DeltaInt
This process broadcasts integers arriving on its input channel in parallel to its array of output channels.
Demultiplex
This demultiplexes data from its input channel to its output channel array.
DemultiplexInt
This demultiplexes data from its input channel to its output channel array.
Deparaplex
This demultiplexes data from its input channel to its output channel array.
DeparaplexInt
This demultiplexes data from its input channel to its output channel array.
Display
Objects implementing this interface provide graphics services to a `CSProcess`.
DisplayList
This implements the `Display` and `Paintable` interfaces and provides a channel-like connection between user processes and an active graphics component.
DynamicDelta
This process broadcasts objects arriving on its input channel in parallel to its output channel array -- those output channels can be changed dynamically.
DynamicDeltaInt
This process broadcasts integers arriving on its input channel in parallel to its output channel array -- those output channels can be changed dynamically.
Fibonacci
This generates the Fibonacci sequence on its output channel.
FibonacciInt
This generates the Fibonacci sequence on its output channel.
Filter
Interface for channel plug-ins that define filtering operations - transformations on the data as it is read or written.
FilteredAltingChannelInput
Implements an `AltingChannelInput` channel end that also supports read filters.
FilteredAny2AnyChannel
Interface for an Any2Any channel that has support for filtering at both ends.
FilteredAny2OneChannel
Interface for an Any2One channel that supports filtering operations at each end.
FilteredChannel
Static factory for creating filtered channels.
FilteredChannelEnd
Static factory for creating channel end wrappers that support filtering.
FilteredChannelEndFactory
Factory for creating filtered channel ends around existing channel ends.
FilteredChannelFactory
This class is used for constructing Filtered Channels.
FilteredChannelInput
Interface for a channel input end that supports filtering operations.
FilteredChannelOutput
Interface for a channel output end that supports write filtering operations.
FilteredOne2AnyChannel
Interface for an `Any2Any` channel that supports both read and write filters.
FilteredOne2OneChannel
Interface for a `One2One` channel that supports filtering operations at each end.
FilteredSharedChannelInput
Interface for a channel input end that supports filtering and can be shared by multiple processes.
FilteredSharedChannelInputWrapper
This is wrapper for a `SharedChannelInput` that adds read filtering.
FilteredSharedChannelOutput
Interface for an output channel end that supports filtering operations and can be shared by multiple concurrent processes.
FilteredSharedChannelOutputWrapper
This is wrapper for a `SharedChannelOutput` that adds write filtering.
FixedDelay
This process copies input to output, imposing a fixed time delay between these events.
FixedDelayInt
This holds on to data from its input channel for a fixed delay before passing it on to its output channel.
FramedButton
A free-standing button process in its own frame, with configure and event channels.
FramedButtonArray
A free-standing array of button processes in their own frame, with configure and event channels.
FramedButtonGrid
A free-standing grid of button processes in their own frame, with configure and event channels.
FramedScrollbar
A free-standing scrollbar process in its own frame, with configure and event channels.
Generate
Generates an infinite (constant) sequence of `Integer`s.
GenerateInt
Generates an infinite (constant) sequence of `int`s.
GraphicsCommand
This is the tagged protocol interpreted by objects (such as `DisplayList`) that implement the `Display` interface.
GraphicsCommand.ClearRect
This is the (immutable) command object for ``java.awt.Graphics.clearRect``.
GraphicsCommand.ClipRect
This is the (immutable) command object for ``java.awt.Graphics.clipRect``.
GraphicsCommand.CopyArea
This is the (immutable) command object for ``java.awt.Graphics.copyArea``.
GraphicsCommand.Draw3DRect
This is the (immutable) command object for ``java.awt.Graphics.draw3DRect``.
GraphicsCommand.DrawArc
This is the (immutable) command object for ``java.awt.Graphics.drawArc``.
GraphicsCommand.DrawBytes
This is the (immutable) command object for ``java.awt.Graphics.drawBytes``.
GraphicsCommand.DrawChars
This is the (immutable) command object for ``java.awt.Graphics.drawChars``.
GraphicsCommand.DrawImage
This is the (immutable) command object for ``java.awt.Graphics.drawImage``.
GraphicsCommand.DrawLine
This is the (immutable) command object for ``java.awt.Graphics.drawLine``.
GraphicsCommand.DrawOval
This is the (immutable) command object for ``java.awt.Graphics.drawOval``.
GraphicsCommand.DrawPolygon
This is the (immutable) command object for ``java.awt.Graphics.drawPolygon``.
GraphicsCommand.DrawPolyline
This is the (immutable) command object for ``java.awt.Graphics.drawPolyline``.
GraphicsCommand.DrawRect
This is the (immutable) command object for ``java.awt.Graphics.drawRect``.
GraphicsCommand.DrawRoundRect
This is the (immutable) command object for ``java.awt.Graphics.drawRoundRect``.
GraphicsCommand.DrawString
This is the (immutable) command object for ``java.awt.Graphics.drawString``.
GraphicsCommand.Fill3DRect
This is the (immutable) command object for ``java.awt.Graphics.translate``.
GraphicsCommand.FillArc
This is the (immutable) command object for ``java.awt.Graphics.fillArc``.
GraphicsCommand.FillOval
This is the (immutable) command object for ``java.awt.Graphics.fillOval``.
GraphicsCommand.FillPolygon
This is the (immutable) command object for ``java.awt.Graphics.fillPolygon``.
GraphicsCommand.FillRect
This is the (immutable) command object for ``java.awt.Graphics.fillRect``.
GraphicsCommand.FillRoundRect
This is the (immutable) command object for ``java.awt.Graphics.fillRoundRect``.
GraphicsCommand.General
This is the command object holding a `GraphicsCommand.Graphic` object implementing an arbitrary set of graphics operations.
GraphicsCommand.Graphic
This is the interface allowing any set of `Graphics` operations to be wrapped up in an object and sent down a `Display` channel to an Active graphics component.
GraphicsCommand.SetClip
This is the (immutable) command object for ``java.awt.Graphics.setClip``.
GraphicsCommand.SetColor
This is the (immutable) command object for ``java.awt.Graphics.setColor``.
GraphicsCommand.SetFont
This is the (immutable) command object for ``java.awt.Graphics.setFont``.
GraphicsCommand.SetXORMode
This is the (immutable) command object for ``java.awt.Graphics.setXORMode``.
GraphicsCommand.Translate
This is the (immutable) command object for ``java.awt.Graphics.translate``.
GraphicsProtocol
This is the tagged protocol for use over the `toGraphics` configuration channel of an active graphics component.
GraphicsProtocol.Configure
This is the interface for general configuration of the graphics component.
GraphicsProtocol.General
This is a general configuration class for the graphics component.
GraphicsProtocol.MakeMISImage
This is a configuration class to associate a `java.awt.image.MemoryImageSource` with the graphics component.
GraphicsProtocol.SetBackground
This is a configuration class for setting the background `java.awt.Color` of the active graphics component.
GraphicsProtocol.SetPaintable
This is a configuration class to register a `org.jcsp.awt.Paintable` object with the graphics component.
Guard
This is the super-class for all `Alternative` events selectable by a process.
Identity
This copies its input stream to its output stream unchanged.
IdentityInt
This copies its input stream to its output stream unchanged.
InfiniteBuffer
This is used to create a buffered object channel that always accepts and never loses any input.
InfiniteBufferInt
This is used to create a buffered integer channel that always accepts and never loses any input.
InlineAlternative
This class is experimental (i.e.
Integrate
This is a running-sum integrator of the `Integers` on its input stream to its output stream.
IntegrateInt
This is a running-sum integrator of the `ints` on its input stream to its output stream.
JCSP_InternalError
This is thrown by an inconsistency detected in the internal structures of JCSP.
Merge
Merges an array of strictly increasing `Integer` input streams into one strictly increasing output stream.
Merge2
Merges two strictly increasing `Integer` input streams into one strictly increasing output stream.
Merge2Int
Merges two strictly increasing `int` input streams into one strictly increasing output stream.
MergeInt
Merges an array of strictly increasing `int` input streams into one strictly increasing output stream.
Mult
Scales an `Integer` stream.
MultInt
Scales an integer stream.
Multiplex
Fair multiplexes its input Object stream array into one output stream (carrying source channel and data pairs).
MultiplexInt
Fair multiplexes its input integer stream array into one output stream (carrying source channel and data pairs).
Nand
Bitwise nands two `Integer` streams to one stream.
NandInt
Bitwise nands two integer streams to one stream.
Nor
Bitwise nors two `Integer` streams to one stream.
NorInt
Bitwise nors two integer streams to one stream.
Numbers
Plugs together a network of low-level stateless components to generate the sequence of natural numbers.
NumbersInt
Plugs together a network of low-level stateless components to generate the sequence of natural numbers.
One2AnyCallChannel
This is the super-class for one-to-any `interface`-specific CALL channels, safe for use by one client and many servers.
One2AnyChannel
This defines the interface for a one-to-any Object channel, safe for use by one writer and many readers.
One2AnyChannelInt
This defines the interface for a one-to-any integer channel, safe for use by one writer and many readers.
One2AnyConnection
An interface for a connection which can be used by only one client but which can be used by multiple concurrent servers.
One2OneCallChannel
This is the super-class for one-to-one `interface`-specific CALL channels.
One2OneChannel
This defines the interface for a one-to-one Object channel.
One2OneChannelInt
This defines the interface for a one-to-one integer channel.
One2OneChannelSymmetric
This defines the interface for a symmetric one-to-one Object channel.
One2OneChannelSymmetricInt
This defines the interface for a symmetric one-to-one integer channel.
One2OneConnection
Defines an interface for a connection that can be used by a single server and single client.
Or
Bitwise ors two `Integer` streams to one stream.
OrInt
Bitwise ors two integer streams to one stream.
OverFlowingBuffer
This is used to create a buffered object channel that always accepts input, discarding its last entered data if full.
OverFlowingBufferInt
This is used to create a buffered integer channel that always accepts input, discarding its last entered data if full.
OverWriteOldestBuffer
This is used to create a buffered object channel that always accepts input, overwriting its oldest data if full.
OverWriteOldestBufferInt
This is used to create a buffered integer channel that always accepts input, overwriting its oldest data if full.
OverWritingBuffer
This is used to create a buffered object channel that always accepts input, overwriting its last entered data if full.
OverWritingBufferInt
This is used to create a buffered integer channel that always accepts input, overwriting its last entered data if full.
Paintable
Active components may delegate their `paint` and `update` methods to objects implementing this interface.
Pairs
Generates sums of successive pairs of input `Integer`s.
PairsInt
Generates sums of successive pairs of input values.
Parallel
This process constructor taks an array of `CSProcess`es and returns a `CSProcess` that is the parallel composition of its process arguments.
Paraplex
Parallel multiplexes its input Object stream array on to one output stream.
ParaplexInt
Parallel multiplexes its input integer stream array on to one output stream.
Plex
Fair multiplexes its input Object stream array into one output stream.
Plex2
Fair multiplexes two Object streams into one.
Plex2Int
Fair multiplexes two integer streams into one.
PlexInt
Fair multiplexes its input integer stream array into one output stream.
Plus
Sums two `Integer` streams to one stream.
PlusInt
Sums two integer streams to one stream.
Poisonable
All channel-ends implement this inteface.
PoisonException
This exception is thrown when a process tries to use a channel that has been poisoned.
PoisonFilter
This filter will throw a `PoisonException` when `filter(Object)` is called.
PoisonFilterException
Deprecated.
Use poison directly instead
Prefix
Prefixes a user-supplied object to the `Object` stream flowing through.
PrefixInt
Prefixes a user-supplied integer to the `int` stream flowing through.
Printer
Prints each `Object` from its input channel to a `PrintStream`.
PrinterInt
Prints each `int` from its input channel to a `PrintStream`.
PriParallel
This is an extension of the `Parallel` class that prioritises the processes given to its control.
ProcessInterruptedException
This is thrown if a process is interrupted whilst blocked during synchronisation - processes should never be interrupted.
ProcessManager
This enables a `CSProcess` to be spawned concurrently with the process doing the spawning.
ProcessRead
Reads one `Object` from its input channel.
ProcessReadInt
Reads one `int` from its input channel.
ProcessWrite
Writes one `Object` to its output channel.
ProcessWriteInt
Writes one `int` to its output channel.
ReadFiltered
Interface for a channel end supporting read filtering operations.
Regular
This process generates a constant stream of `Integer`s at a regular rate.
RegularInt
This process generates a constant stream of `Integer`s at a regular rate.
Regulate
This process controls the rate of flow of traffic from its input to output channels.
RegulateInt
This process controls the rate of flow of traffic from its input to output channels.
Sequence
This constructor taks an array of `CSProcess`es and returns a `CSProcess` that is the sequential composition of its process arguments.
SharedAltingConnectionClient
Implements a client end of a Connection which can have multiple client processes.
SharedChannelInput
This is the same as `ChannelInput` except that it is guaranteed safe to pass on to more than one internal process for parallel reading.
SharedChannelInputInt
This is the same as `ChannelInputInt` except that it is guaranteed safe to pass on to more than one internal process for parallel reading.
SharedChannelOutput
This is the same as `ChannelOutput` except that it is guaranteed safe to pass on to more than one internal process for parallel writing.
SharedChannelOutputInt
This is the same as `ChannelOutputInt` except that it is guaranteed safe to pass on to more than one internal process for parallel writing.
SharedConnectionClient
Defines an interface for a client end of a connection that can be shared by multiple clients.
SharedConnectionServer
Defines an interface for a server end of a connection that can be shared by multiple concurrent processes.
SharedConnectionServerImpl
This class does not need to be used by standard JCSP users.
Sign
Converts each input `Object` to a `String`, prefixing it with a user-defined `sign`.
SignInt
Converts each input `int` to a `String`, prefixing it with a user-defined `sign`.
Skip
This is a process that immediately terminates and a `Guard` that is always ready.
SpuriousLog
This holds the log of spurious wakeups and early timeouts.
Squares
Generates the `Integer` stream `1*1, 2*2, 3*3, etc` by a somewhat unusual route.
SquaresInt
Generates the integer stream `1*1, 2*2, 3*3, etc` by a somewhat unusual route.
StandardChannelFactory
This class acts as a Factory for creating channels.
StandardChannelIntFactory
This class acts as a Factory for creating channels.
StandardConnectionFactory
Implements a factory for creating connections.
Stop
This is a process that starts, engages in no events, performs no computation but refuses to terminate.
Substitute
Substitutes a user-configured Object for each Object in the stream flowing through.
SubstituteInt
Substitutes a user-configured constant for each integer in the stream flowing through.
Successor
Adds one to each `Integer` in the stream flowing through.
SuccessorInt
Adds one to each integer in the stream flowing through.
TaggedProtocol
`TaggedProtocol` is the base class for messages carrying an occam2-like tagged (`CASE`) protocol over JCSP channels.
Tail
The output stream is the tail of its input stream.
TailInt
The output stream is the tail of its input stream.
Times
Multiplies two `Integer` streams to one stream.
TimesInt
Multiplies two integer streams to one stream.
WriteFiltered
Interface for a channel end supporting write filtering operations.
Xor
Bitwise xors two `Integer` streams to one stream.
XorInt
Bitwise xors two integer streams to one stream.
ZeroBuffer
This is used to create a zero-buffered object channel that never loses data.
ZeroBufferInt
This is used to create a zero-buffered integer channel that never loses data.