2023-11-19 01:53:56 +03:00
|
|
|
package Common.Passes.All;
|
2023-11-13 21:07:44 +03:00
|
|
|
import Common.Global;
|
|
|
|
|
import Common.GlobalProperties;
|
2023-11-19 01:53:56 +03:00
|
|
|
import Common.Passes.Pass_2021;
|
2023-11-13 21:07:44 +03:00
|
|
|
|
|
|
|
|
import java.lang.reflect.Field;
|
|
|
|
|
public class UpdateProperty extends Pass_2021<Object> {
|
|
|
|
|
//todo в дальнейшем, все настройки перевести в properties, и перенести сюда функционал UpdateSetting (?)
|
|
|
|
|
String name = "";
|
|
|
|
|
Field field = null;
|
|
|
|
|
Object oldValue = null;
|
|
|
|
|
Object newValue = null;
|
|
|
|
|
@Override
|
|
|
|
|
protected boolean canStart(Object... args) throws Exception {
|
|
|
|
|
name = (String) args[0];
|
|
|
|
|
newValue = args[1];
|
|
|
|
|
//--
|
|
|
|
|
field = GlobalProperties.class.getField(name);
|
|
|
|
|
oldValue = field.get(Global.properties);
|
|
|
|
|
//---
|
|
|
|
|
return !newValue.equals(oldValue);
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
protected void body() throws Exception {
|
|
|
|
|
field.set(Global.properties, newValue);
|
|
|
|
|
Global.properties.Update();
|
|
|
|
|
}
|
|
|
|
|
}
|