package rabbitescape.engine;
import java.util.Map;
public class BehaviourState
{
public static void addToStateIfNotDefault(
Map<String, String> saveState, String key, String value, String def
)
{
if ( !def.equals( value ) )
{
saveState.put( key, value );
}
}
public static void addToStateIfGtZero(
Map<String, String> saveState, String key, int value
)
{
if ( value > 0 )
{
saveState.put( key, Integer.toString( value ) );
}
}
public static void addToStateIfTrue(
Map<String, String> saveState, String key, boolean value
)
{
if ( value )
{
saveState.put( key, Boolean.toString( value ) );
}
}
public static String restoreFromState(
Map<String, String> saveState, String key, String defaultValue )
{
String val = saveState.get( key );
if ( val != null )
{
return val;
}
else
{
return defaultValue;
}
}
public static int restoreFromState(
Map<String, String> saveState, String key, int defaultValue )
{
String val = saveState.get( key );
if ( val != null )
{
try
{
return Integer.valueOf( val );
}
catch( NumberFormatException e )
{
throw new BadSavedState( e, saveState );
}
}
else
{
return defaultValue;
}
}
public static boolean restoreFromState(
Map<String, String> saveState, String key, boolean defaultValue )
{
String val = saveState.get( key );
if ( val != null )
{
return Boolean.valueOf( val );
}
else
{
return defaultValue;
}
}
}