Module org.jboss.classfilewriter
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
Modifier and Type
Class
Description
`static class`
`TableSwitchBuilder.ValuePair`

## Constructor Summary

Constructors
Constructor
Description
`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

Modifier and Type
Method
Description
`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 Details

### 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 Details

### 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()