# Class SimpleCoordinator

java.lang.Object
org.apache.catalina.tribes.group.ChannelInterceptorBase
org.apache.catalina.tribes.group.interceptors.SimpleCoordinator

All Implemented Interfaces:
  `ChannelInterceptor, Heartbeat, MembershipListener`

public class SimpleCoordinator extends ChannelInterceptorBase
A dinky coordinator, just uses a sorted version of the member array.

## Nested Class Summary

### Nested classes/interfaces inherited from interface ChannelInterceptor

`ChannelInterceptor.InterceptorEvent`

## Field Summary

### Fields inherited from class ChannelInterceptorBase

`optionFlag`

## Constructor Summary

Constructors
Constructor
Description
`SimpleCoordinator()`

## Method Summary

Modifier and Type
Method
Description
`Member`
`getCoordinator()`
`Member[]`
`getView()`
`boolean`
`isCoordinator()`
`void`
`memberAdded(Member member)`
A member was added to the group
`void`
`memberDisappeared(Member member)`
A member was removed from the group
If the member left voluntarily, the Member.getCommand will contain the Member.SHUTDOWN_PAYLOAD data
`void`
`start(int svc)`
Starts up the channel.
`void`
`stop(int svc)`
Shuts down the channel.
`protected void`
`viewChange(Member[] view)`
Override to receive view changes.

### Methods inherited from class ChannelInterceptorBase

`fireInterceptorEvent, getChannel, getLocalMember, getMember, getMembers, getNext, getOptionFlag, getPrevious, hasMembers, heartbeat, messageReceived, okToProcess, sendMessage, setChannel, setNext, setOptionFlag, setPrevious`

### Methods inherited from class Object

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

## Constructor Details

### SimpleCoordinator

public SimpleCoordinator()

## Method Details

### memberAdded

public void memberAdded(Member member)
Description copied from interface: `MembershipListener`
A member was added to the group

Specified by:
  `memberAdded` in interface `MembershipListener`
Overrides:
  `memberAdded` in class `ChannelInterceptorBase`
Parameters:
  `member` - Member - the member that was added

### memberDisappeared

public void memberDisappeared(Member member)
Description copied from interface: `MembershipListener`
A member was removed from the group
If the member left voluntarily, the Member.getCommand will contain the Member.SHUTDOWN_PAYLOAD data

Specified by:
  `memberDisappeared` in interface `MembershipListener`
Overrides:
  `memberDisappeared` in class `ChannelInterceptorBase`
Parameters:
  `member` - Member
See Also:
  - `Member.SHUTDOWN_PAYLOAD`

### viewChange

protected void viewChange(Member[] view)
Override to receive view changes.

Parameters:
  `view` - The members array

### start

public void start(int svc) throws ChannelException
Description copied from interface: `ChannelInterceptor`
Starts up the channel. This can be called multiple times for individual services to start The svc parameter can be the logical or value of any constants

Specified by:
  `start` in interface `ChannelInterceptor`
Overrides:
  `start` in class `ChannelInterceptorBase`
Parameters:
  `svc` - one of:
  - Channel.DEFAULT - will start all services
  - Channel.MBR_RX_SEQ - starts the membership receiver
  - Channel.MBR_TX_SEQ - starts the membership broadcaster
  - Channel.SND_TX_SEQ - starts the replication transmitter
  - Channel.SND_RX_SEQ - starts the replication receiver
Throws:
  `ChannelException` - if a startup error occurs or the service is already started.
See Also:
  - `Channel`

### stop

public void stop(int svc) throws ChannelException
Description copied from interface: `ChannelInterceptor`
Shuts down the channel. This can be called multiple times for individual services to shut down. The svc parameter can be the logical or value of any constants

Specified by:
  `stop` in interface `ChannelInterceptor`
Overrides:
  `stop` in class `ChannelInterceptorBase`
Parameters:
  `svc` - one of:
  - Channel.DEFAULT - will shut down all services
  - Channel.MBR_RX_SEQ - stops the membership receiver
  - Channel.MBR_TX_SEQ - stops the membership broadcaster
  - Channel.SND_TX_SEQ - stops the replication transmitter
  - Channel.SND_RX_SEQ - stops the replication receiver
Throws:
  `ChannelException` - if a startup error occurs or the service is already started.
See Also:
  - `Channel`

### getView

public Member[] getView()

### getCoordinator

public Member getCoordinator()

### isCoordinator

public boolean isCoordinator()