Package org.jcsp.lang

# Class StandardChannelIntFactory

java.lang.Object
org.jcsp.lang.StandardChannelIntFactory

All Implemented Interfaces:
  `BufferedChannelIntArrayFactory`, `BufferedChannelIntFactory`, `ChannelIntArrayFactory`, `ChannelIntFactory`

public class StandardChannelIntFactory extends Object implements ChannelIntFactory, ChannelIntArrayFactory, BufferedChannelIntFactory, BufferedChannelIntArrayFactory

This class acts as a Factory for creating channels. It can create non-buffered and buffered channels and also arrays of non-buffered and buffered channels.

The Channel objects created by this Factory are formed of separate objects for the read and write ends. Therefore the `ChannelInput` object cannot be cast into the `ChannelOutput` object and vice-versa.

The current implementation uses an instance of the `RiskyChannelIntFactory` to construct the underlying raw channels.

Author:
  Quickstone Technologies Limited

## Constructor Summary

Constructors
Constructor
Description
`StandardChannelIntFactory()`
Constructs a new factory.

## Method Summary

Modifier and Type
Method
Description
`Any2AnyChannelInt`
`createAny2Any()`
Constructs and returns an `Any2AnyChannelInt` object.
`Any2AnyChannelInt[]`
`createAny2Any(int n)`
Constructs and returns an array of `Any2AnyChannelInt` objects.
`Any2AnyChannelInt`
`createAny2Any(ChannelDataStoreInt buffer)`
Constructs and returns a `Any2AnyChannelInt` object which uses the specified `ChannelDataStoreInt` object as a buffer.
`Any2AnyChannelInt[]`
`createAny2Any(ChannelDataStoreInt buffer, int n)`
Constructs and returns an array of `Any2AnyChannelInt` objects which use the specified `ChannelDataStoreInt` object as a buffer.
`Any2OneChannelInt`
`createAny2One()`
Constructs and returns an `Any2OneChannelInt` object.
`Any2OneChannelInt[]`
`createAny2One(int n)`
Constructs and returns an array of `Any2OneChannelInt` objects.
`Any2OneChannelInt`
`createAny2One(ChannelDataStoreInt buffer)`
Constructs and returns a `Any2OneChannelInt` object which uses the specified `ChannelDataStoreInt` object as a buffer.
`Any2OneChannelInt[]`
`createAny2One(ChannelDataStoreInt buffer, int n)`
Constructs and returns an array of `Any2OneChannelInt` objects which use the specified `ChannelDataStoreInt` object as a buffer.
`One2AnyChannelInt`
`createOne2Any()`
Constructs and returns a `One2AnyChannelInt` object.
`One2AnyChannelInt[]`
`createOne2Any(int n)`
Constructs and returns an array of `One2AnyChannelInt` objects.
`One2AnyChannelInt`
`createOne2Any(ChannelDataStoreInt buffer)`
Constructs and returns a `One2AnyChannelInt` object which uses the specified `ChannelDataStoreInt` object as a buffer.
`One2AnyChannelInt[]`
`createOne2Any(ChannelDataStoreInt buffer, int n)`
Constructs and returns an array of `One2AnyChannelInt` objects which use the specified `ChannelDataStoreInt` object as a buffer.
`One2OneChannelInt`
`createOne2One()`
Constructs and returns a `One2OneChannelInt` object.
`One2OneChannelInt[]`
`createOne2One(int n)`
Constructs and returns an array of `One2OneChannelInt` objects.
`One2OneChannelInt`
`createOne2One(ChannelDataStoreInt buffer)`
Constructs and returns a `One2OneChannelInt` object which uses the specified `ChannelDataStoreInt` object as a buffer.
`One2OneChannelInt[]`
`createOne2One(ChannelDataStoreInt buffer, int n)`
Constructs and returns an array of `One2OneChannelInt` objects which use the specified `ChannelDataStoreInt` object as a buffer.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### StandardChannelIntFactory

public StandardChannelIntFactory()
Constructs a new factory.

## Method Details

### createOne2One

public One2OneChannelInt createOne2One()
Constructs and returns a `One2OneChannelInt` object.

Specified by:
  `createOne2One` in interface `ChannelIntFactory`
Returns:
  the channel object.
See Also:
  - `ChannelIntFactory.createOne2One()`

### createAny2One

public Any2OneChannelInt createAny2One()
Constructs and returns an `Any2OneChannelInt` object.

Specified by:
  `createAny2One` in interface `ChannelIntFactory`
Returns:
  the channel object.
See Also:
  - `ChannelIntFactory.createAny2One()`

### createOne2Any

public One2AnyChannelInt createOne2Any()
Constructs and returns a `One2AnyChannelInt` object.

Specified by:
  `createOne2Any` in interface `ChannelIntFactory`
Returns:
  the channel object.
See Also:
  - `ChannelIntFactory.createOne2Any()`

### createAny2Any

public Any2AnyChannelInt createAny2Any()
Constructs and returns an `Any2AnyChannelInt` object.

Specified by:
  `createAny2Any` in interface `ChannelIntFactory`
Returns:
  the channel object.
See Also:
  - `ChannelIntFactory.createAny2Any()`

### createOne2One

public One2OneChannelInt[] createOne2One(int n)
Constructs and returns an array of `One2OneChannelInt` objects.

Specified by:
  `createOne2One` in interface `ChannelIntArrayFactory`
Parameters:
  `n` - the size of the array of channels.
Returns:
  the array of channels.
See Also:
  - `ChannelIntArrayFactory.createOne2One(int)`

### createAny2One

public Any2OneChannelInt[] createAny2One(int n)
Constructs and returns an array of `Any2OneChannelInt` objects.

Specified by:
  `createAny2One` in interface `ChannelIntArrayFactory`
Parameters:
  `n` - the size of the array of channels.
Returns:
  the array of channels.
See Also:
  - `ChannelIntArrayFactory.createAny2One(int)`

### createOne2Any

public One2AnyChannelInt[] createOne2Any(int n)
Constructs and returns an array of `One2AnyChannelInt` objects.

Specified by:
  `createOne2Any` in interface `ChannelIntArrayFactory`
Parameters:
  `n` - the size of the array of channels.
Returns:
  the array of channels.
See Also:
  - `ChannelIntArrayFactory.createOne2Any(int)`

### createAny2Any

public Any2AnyChannelInt[] createAny2Any(int n)
Constructs and returns an array of `Any2AnyChannelInt` objects.

Specified by:
  `createAny2Any` in interface `ChannelIntArrayFactory`
Parameters:
  `n` - the size of the array of channels.
Returns:
  the array of channels.
See Also:
  - `ChannelIntArrayFactory.createAny2Any(int)`

### createOne2One

public One2OneChannelInt createOne2One(ChannelDataStoreInt buffer)

Constructs and returns a `One2OneChannelInt` object which uses the specified `ChannelDataStoreInt` object as a buffer.

The buffer supplied to this method is cloned before it is inserted into the channel.

Specified by:
  `createOne2One` in interface `BufferedChannelIntFactory`
Parameters:
  `buffer` - the `ChannelDataStoreInt` to use.
Returns:
  the buffered channel.
See Also:
  - `BufferedChannelIntFactory.createOne2One(org.jcsp.util.ints.ChannelDataStoreInt)`
  - `ChannelDataStoreInt`

### createAny2One

public Any2OneChannelInt createAny2One(ChannelDataStoreInt buffer)

Constructs and returns a `Any2OneChannelInt` object which uses the specified `ChannelDataStoreInt` object as a buffer.

The buffer supplied to this method is cloned before it is inserted into the channel.

Specified by:
  `createAny2One` in interface `BufferedChannelIntFactory`
Parameters:
  `buffer` - the `ChannelDataStoreInt` to use.
Returns:
  the buffered channel.
See Also:
  - `BufferedChannelIntFactory.createAny2One(org.jcsp.util.ints.ChannelDataStoreInt)`
  - `ChannelDataStoreInt`

### createOne2Any

public One2AnyChannelInt createOne2Any(ChannelDataStoreInt buffer)

Constructs and returns a `One2AnyChannelInt` object which uses the specified `ChannelDataStoreInt` object as a buffer.

The buffer supplied to this method is cloned before it is inserted into the channel.

Specified by:
  `createOne2Any` in interface `BufferedChannelIntFactory`
Parameters:
  `buffer` - the `ChannelDataStoreInt` to use.
Returns:
  the buffered channel.
See Also:
  - `BufferedChannelIntFactory.createOne2Any(org.jcsp.util.ints.ChannelDataStoreInt)`
  - `ChannelDataStoreInt`

### createAny2Any

public Any2AnyChannelInt createAny2Any(ChannelDataStoreInt buffer)

Constructs and returns a `Any2AnyChannelInt` object which uses the specified `ChannelDataStoreInt` object as a buffer.

The buffer supplied to this method is cloned before it is inserted into the channel.

Specified by:
  `createAny2Any` in interface `BufferedChannelIntFactory`
Parameters:
  `buffer` - the `ChannelDataStoreInt` to use.
Returns:
  the buffered channel.
See Also:
  - `BufferedChannelIntFactory.createAny2Any(org.jcsp.util.ints.ChannelDataStoreInt)`
  - `ChannelDataStoreInt`

### createOne2One

public One2OneChannelInt[] createOne2One(ChannelDataStoreInt buffer, int n)

Constructs and returns an array of `One2OneChannelInt` objects which use the specified `ChannelDataStoreInt` object as a buffer.

The buffer supplied to this method is cloned before it is inserted into the channel. This is why an array of buffers is not required.

Specified by:
  `createOne2One` in interface `BufferedChannelIntArrayFactory`
Parameters:
  `buffer` - the `ChannelDataStoreInt` to use.
  `n` - the size of the array of channels.
Returns:
  the array of buffered channels.
See Also:
  - `BufferedChannelIntArrayFactory.createOne2One(org.jcsp.util.ints.ChannelDataStoreInt,int)`
  - `ChannelDataStoreInt`

### createAny2One

public Any2OneChannelInt[] createAny2One(ChannelDataStoreInt buffer, int n)

Constructs and returns an array of `Any2OneChannelInt` objects which use the specified `ChannelDataStoreInt` object as a buffer.

The buffer supplied to this method is cloned before it is inserted into the channel. This is why an array of buffers is not required.

Specified by:
  `createAny2One` in interface `BufferedChannelIntArrayFactory`
Parameters:
  `buffer` - the `ChannelDataStoreInt` to use.
  `n` - the size of the array of channels.
Returns:
  the array of buffered channels.
See Also:
  - `BufferedChannelIntArrayFactory.createAny2One(org.jcsp.util.ints.ChannelDataStoreInt,int)`
  - `ChannelDataStoreInt`

### createOne2Any

public One2AnyChannelInt[] createOne2Any(ChannelDataStoreInt buffer, int n)

Constructs and returns an array of `One2AnyChannelInt` objects which use the specified `ChannelDataStoreInt` object as a buffer.

The buffer supplied to this method is cloned before it is inserted into the channel. This is why an array of buffers is not required.

Specified by:
  `createOne2Any` in interface `BufferedChannelIntArrayFactory`
Parameters:
  `buffer` - the `ChannelDataStoreInt` to use.
  `n` - the size of the array of channels.
Returns:
  the array of buffered channels.
See Also:
  - `BufferedChannelIntArrayFactory.createOne2Any(org.jcsp.util.ints.ChannelDataStoreInt,int)`
  - `ChannelDataStoreInt`

### createAny2Any

public Any2AnyChannelInt[] createAny2Any(ChannelDataStoreInt buffer, int n)

Constructs and returns an array of `Any2AnyChannelInt` objects which use the specified `ChannelDataStoreInt` object as a buffer.

The buffer supplied to this method is cloned before it is inserted into the channel. This is why an array of buffers is not required.

Specified by:
  `createAny2Any` in interface `BufferedChannelIntArrayFactory`
Parameters:
  `buffer` - the `ChannelDataStoreInt` to use.
  `n` - the size of the array of channels.
Returns:
  the array of buffered channels.
See Also:
  - `BufferedChannelIntArrayFactory.createAny2Any(org.jcsp.util.ints.ChannelDataStoreInt,int)`
  - `ChannelDataStoreInt`