# Class Client

java.lang.Object
org.a11y.brlapi.Component
org.a11y.brlapi.ProgramComponent
org.a11y.brlapi.Program
org.a11y.brlapi.Client

All Implemented Interfaces:
  `Runnable`

Direct Known Subclasses:
  `ApiErrorClient, BoundCommandsClient, ComputerBrailleClient, DriverKeysClient, EchoClient, GetDriverClient, GetModelClient, GetSizeClient, ListParametersClient, PauseClient, SetParameterClient`

public abstract class Client extends Program

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`protected static interface`
`Client.ClientTask`
`protected static interface`
`Client.RawModeTask`
`protected static interface`
`Client.TtyModeTask`

### Nested classes/interfaces inherited from class Program

`Program.Option`

## Field Summary

### Fields inherited from class Program

`USAGE_OPTIONAL_BEGIN, USAGE_OPTIONAL_END, USAGE_REPEATING_INDICATOR`

### Fields inherited from class ProgramComponent

`EXIT_CODE_EXTERNAL, EXIT_CODE_INTERNAL, EXIT_CODE_SEMANTIC, EXIT_CODE_SUCCESS, EXIT_CODE_SYNTAX`

### Fields inherited from class Component

`BYTE_MASK, UNICODE_BRAILLE_ROW`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`Client(String... arguments)`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`extendUsageSummary(StringBuilder usage)`
`protected final Parameter`
`getParameter(Connection connection, String name)`
`final boolean`
`pause(Connection connection, int milliseconds)`
`protected final Client`
`rawMode(Connection connection, String driver, Client.RawModeTask task)`
`protected final Client`
`rawMode(Connection connection, Client.RawModeTask task)`
`protected abstract void`
`runClient(Connection connection)`
`protected final void`
`runProgram()`
`final Client`
`setAuthenticationScheme(String scheme)`
`final Client`
`setServerHost(String host)`
`protected final Client`
`ttyMode(Connection connection, boolean keys, Client.TtyModeTask task, int... path)`
`protected final Client`
`ttyMode(Connection connection, String driver, Client.TtyModeTask task, int... path)`

### Methods inherited from class Program

`addOption, addOptionalParameters, addRepeatingParameter, addRequiredParameters, getProgramName, getPurpose, getUsageSummary, isClient, onProgramException, processParameters, run, setProgramName, writeProgramMessage`

### Methods inherited from class ProgramComponent

`isClient, isClient`

### Methods inherited from class Component

`getObjectName, getObjectName, printf, toOperandName, toUnicodeBraille, toUnicodeBraille`

### Methods inherited from class Object

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

## Constructor Details

### Client

protected Client(String... arguments)

## Method Details

### runClient

protected abstract void runClient(Connection connection) throws ProgramException

Throws:
  `ProgramException`

### setServerHost

public final Client setServerHost(String host) throws SyntaxException

Throws:
  `SyntaxException`

### setAuthenticationScheme

public final Client setAuthenticationScheme(String scheme) throws SyntaxException

Throws:
  `SyntaxException`

### extendUsageSummary

protected void extendUsageSummary(StringBuilder usage)

Overrides:
  `extendUsageSummary` in class `Program`

### pause

public final boolean pause(Connection connection, int milliseconds)

### runProgram

protected final void runProgram() throws ProgramException

Specified by:
  `runProgram` in class `Program`
Throws:
  `ProgramException`

### getParameter

protected final Parameter getParameter(Connection connection, String name) throws SemanticException

Throws:
  `SemanticException`

### ttyMode

protected final Client ttyMode(Connection connection, String driver, Client.TtyModeTask task, int... path) throws ProgramException

Throws:
  `ProgramException`

### ttyMode

protected final Client ttyMode(Connection connection, boolean keys, Client.TtyModeTask task, int... path) throws ProgramException

Throws:
  `ProgramException`

### rawMode

protected final Client rawMode(Connection connection, String driver, Client.RawModeTask task) throws ProgramException

Throws:
  `ProgramException`

### rawMode

protected final Client rawMode(Connection connection, Client.RawModeTask task) throws ProgramException

Throws:
  `ProgramException`