Цитата:
Или это обусловлено тем, насколько часто будут дергаться поля в коде?
Да, а также, чтобы при частой необходимости постоянно не конвертировать из строки в числа или в более сложные типы. Не до конца описал, там не MyClass.fieldName надо, а получать объект через getConfig, просто setup его кэширует (по классу и id модуля) и создает когда надо (после изменения конфигурации, например).
Код:
import bitel.billing.server.util.Config;
public class MyClass
{
public static class MyConfig
extends Config
{
public final int value;
public MyConfig( int moduleId, ParameterMap moduleSetup, Setup setup )
{
super( moduleId, moduleSetup, setup );
this.value = setup.getInt( "bla.bla.bla", 0 );
}
}
public void doSomething()
{
Setup setup = Setup.getSetup();
...
MyConfig myConfig = setup.getConfig( moduleId, MyConfig.class );
switch( myConfig.value )
{
...
}
}
}
Но его нельзя просто один раз получить и запомнить на все время - в этом случае после изменения конфигурации все поля будут старыми, т.к. сам объект старый.