Package org.jboss.classfilewriter.code

## Class LookupSwitchBuilder

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

    public class LookupSwitchBuilder
    extends java.lang.Object

builder class used to build a lookupswitch statement.

Author:
  Stuart Douglas

### Nested Class Summary

Nested Classes
`static class` `LookupSwitchBuilder.ValuePair`

### Constructor Summary

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

### Method Summary

All Methods Instance Methods Concrete Methods
`java.util.concurrent.atomic.AtomicReference<BranchEnd>` `add​(int value)` Adds a value to the table that is at a location yet to be written.
`LookupSwitchBuilder` `add​(int value, CodeLocation location)` Adds a value to the table
`java.util.concurrent.atomic.AtomicReference<BranchEnd>` `getDefaultBranchEnd()`
`CodeLocation` `getDefaultLocation()`
`java.util.List<LookupSwitchBuilder.ValuePair>` `getValues()`

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

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

### Constructor Detail

#### LookupSwitchBuilder

    public LookupSwitchBuilder()

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.

#### LookupSwitchBuilder

    public LookupSwitchBuilder​(CodeLocation defaultLocation)

Builds a lookup switch statement, specifying the default location

Parameters:
  `defaultLocation` - The default location

### Method Detail

#### add

    public java.util.concurrent.atomic.AtomicReference<BranchEnd> add​(int value)

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.

Parameters:
  `value` - The value to add to the lookup table
Returns:
  A reference to the BranchEnd that will be created.

#### add

    public LookupSwitchBuilder add​(int value,
                                   CodeLocation location)

Adds a value to the table

Parameters:
  `value` - The value to add to the lookup table

#### getDefaultLocation

    public CodeLocation getDefaultLocation()

#### getDefaultBranchEnd

    public java.util.concurrent.atomic.AtomicReference<BranchEnd> getDefaultBranchEnd()

#### getValues

    public java.util.List<LookupSwitchBuilder.ValuePair> getValues()