1
0
mirror of https://github.com/essentials/Essentials.git synced 2025-09-26 14:19:05 +02:00
Files
Essentials/EssentialsUpdate/src/net/ess3/update/states/AbstractYesNoState.java
2013-01-14 20:06:28 -05:00

54 lines
1.2 KiB
Java

package net.ess3.update.states;
public abstract class AbstractYesNoState extends AbstractState
{
private boolean answer = false;
private final transient Class<? extends AbstractState> yesState;
private final transient Class<? extends AbstractState> noState;
public AbstractYesNoState(final StateMap states, final Class<? extends AbstractState> nextState)
{
this(states, nextState, nextState);
}
public AbstractYesNoState(final StateMap states, final Class<? extends AbstractState> yesState, final Class<? extends AbstractState> noState)
{
super(states);
this.yesState = yesState;
this.noState = noState;
}
@Override
public AbstractState getNextState()
{
return answer ? (yesState == null ? null : getState(yesState)) : (noState == null ? null : getState(noState));
}
@Override
public boolean reactOnAnswer(final String answer)
{
if (answer.equalsIgnoreCase("yes") || answer.equalsIgnoreCase("y"))
{
this.answer = true;
return true;
}
if (answer.equalsIgnoreCase("no") || answer.equalsIgnoreCase("n"))
{
this.answer = false;
return true;
}
return false;
}
public boolean getAnswer()
{
return answer;
}
protected void setAnswer(final boolean answer)
{
this.answer = answer;
}
}