Package org.jboss.classfilewriter.code

## Class TableSwitchBuilder

- java.lang.Object
- - org.jboss.classfilewriter.code.TableSwitchBuilder

    public class TableSwitchBuilder
    extends Object

builder class used to build a tableswitch statement.

Author:
  Stuart Douglas

### Nested Class Summary

Nested Classes
`static class` `TableSwitchBuilder.ValuePair`

### Constructor Summary

Constructors
`TableSwitchBuilder​(int low, int high)` Builds a lookup switch statement with no specified default location.
`TableSwitchBuilder​(CodeLocation defaultLocation, int low, int high)` Builds a lookup switch statement, specifying the default location

### Method Summary

All Methods Instance Methods Concrete Methods
`AtomicReference<BranchEnd>` `add​()` Adds a value to the table that is at a location yet to be written.
`TableSwitchBuilder` `add​(CodeLocation location)` Adds a value to the table
`AtomicReference<BranchEnd>` `getDefaultBranchEnd​()`
`CodeLocation` `getDefaultLocation​()`
`int` `getHigh​()`
`int` `getLow​()`
`List<TableSwitchBuilder.ValuePair>` `getValues​()`

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

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

### Constructor Detail

#### TableSwitchBuilder

    public TableSwitchBuilder​(int low,
                              int high)

Builds a lookup switch statement with no specified default location. When the lookup switch is added to the code attribute a `BranchEnd` will be returned that can be used to set the location.

Parameters:
  `low` -
  `high` -

#### TableSwitchBuilder

    public TableSwitchBuilder​(CodeLocation defaultLocation,
                              int low,
                              int high)

Builds a lookup switch statement, specifying the default location

Parameters:
  `defaultLocation` - The default location
  `low` -
  `high` -

### Method Detail

#### add

    public AtomicReference<BranchEnd> add​()

Adds a value to the table that is at a location yet to be written. After this lookup switch has been written then the BranchEnd can be retrieved from the returned reference.

Returns:
  A reference to the BranchEnd that will be created.

#### add

    public TableSwitchBuilder add​(CodeLocation location)

Adds a value to the table

#### getDefaultLocation

    public CodeLocation getDefaultLocation​()

#### getDefaultBranchEnd

    public AtomicReference<BranchEnd> getDefaultBranchEnd​()

#### getValues

    public List<TableSwitchBuilder.ValuePair> getValues​()

#### getLow

    public int getLow​()

#### getHigh

    public int getHigh​()