Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I perform a Boolean To Enum refactor in IntelliJ IDEA?

How do I perform a Boolean To Enum refactor in IntelliJ IDEA?

For example, convert this:

void changeLights(boolean isOn) {
    this.isOn = isOn;
    }

changeLights(true);
changeLights(false);

Into this:

enum LightState { ON, OFF }

void changeLights(LightState lightState) {
    this.lightState = lightState;
    }

changeLights(LightState.ON);
changeLights(LightState.OFF);
like image 686
MarcG Avatar asked Oct 17 '22 19:10

MarcG


1 Answers

I would add a method

@Deprecated
void changeLights(boolean isOn) {
    changeLights(isOn ? LightState.ON : LightState.OFF);
}

Then you can inline this method. Lastly you can "simplify" using the inspection analyse tool to simplify

changeLights(true ? LightState.ON : LightState.OFF); // use IDEA to simplify

to

changeLights(LightState.ON);

similar for false -> changeLights(LightState.OFF);

like image 107
Peter Lawrey Avatar answered Oct 23 '22 18:10

Peter Lawrey