Package net.sf.cglib.util

## Class StringSwitcher

- java.lang.Object
- - net.sf.cglib.util.StringSwitcher

    public abstract class StringSwitcher
    extends java.lang.Object

This class implements a simple String->int mapping for a fixed set of keys.

### Nested Class Summary

Nested Classes
`static class` `StringSwitcher.Generator`

### Constructor Summary

Constructors
`protected` `StringSwitcher()`

### Method Summary

All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
`static StringSwitcher` `create​(java.lang.String[] strings, int[] ints, boolean fixedInput)` Helper method to create a StringSwitcher.
`abstract int` `intValue​(java.lang.String s)` Return the integer associated with the given key.

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

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

### Constructor Detail

#### StringSwitcher

    protected StringSwitcher()

### Method Detail

#### create

    public static StringSwitcher create​(java.lang.String[] strings,
                                        int[] ints,
                                        boolean fixedInput)

Helper method to create a StringSwitcher. For finer control over the generated instance, use a new instance of StringSwitcher.Generator instead of this static method.

Parameters:
  `strings` - the array of String keys; must be the same length as the value array
  `ints` - the array of integer results; must be the same length as the key array
  `fixedInput` - if false, an unknown key will be returned from `intValue(java.lang.String)` as `-1`; if true, the result will be undefined, and the resulting code will be faster

#### intValue

    public abstract int intValue​(java.lang.String s)

Return the integer associated with the given key.

Parameters:
  `s` - the key
Returns:
  the associated integer value, or `-1` if the key is unknown (unless `fixedInput` was specified when this `StringSwitcher` was created, in which case the return value for an unknown key is undefined)