промежуточный. вариант с разбитием конфигурации сапфора и настройки как отдельный объект
This commit is contained in:
45
src/TestingSystem/SAPFOR/SapforSettings/SapforSettings.java
Normal file
45
src/TestingSystem/SAPFOR/SapforSettings/SapforSettings.java
Normal file
@@ -0,0 +1,45 @@
|
||||
package TestingSystem.SAPFOR.SapforSettings;
|
||||
import Common.Database.DBObject;
|
||||
import TestingSystem.Common.Settings.Settings;
|
||||
|
||||
import java.util.Vector;
|
||||
public class SapforSettings extends Settings {
|
||||
//настройки.
|
||||
public int FREE_FORM = 0; //"Свободный выходной стиль"; -f90
|
||||
public int STATIC_SHADOW_ANALYSIS = 0;//"Оптимизация теневых обменов"; -sh
|
||||
public int MAX_SHADOW_WIDTH = 50; // "Максимальный размер теневых граней"; (%) -shwidth значение поля
|
||||
public int KEEP_SPF_DIRECTIVES = 0; //"Сохранять SPF директивы при построении параллельных вариантов"; -keepSPF
|
||||
public int KEEP_DVM_DIRECTIVES = 0;// "Учитывать DVM директивы"; -keepDVM
|
||||
//----
|
||||
public void packFlags() {
|
||||
Vector<String> res = new Vector<>();
|
||||
//--
|
||||
if (FREE_FORM > 0)
|
||||
res.add("-f90");
|
||||
if (STATIC_SHADOW_ANALYSIS > 0)
|
||||
res.add("-sh");
|
||||
if (MAX_SHADOW_WIDTH > 0)
|
||||
res.add("-shwidth " + MAX_SHADOW_WIDTH);
|
||||
if (KEEP_DVM_DIRECTIVES > 0)
|
||||
res.add("-keepDVM");
|
||||
if (KEEP_SPF_DIRECTIVES > 0)
|
||||
res.add("-keepSPF");
|
||||
//--
|
||||
flags= String.join(" ", res);
|
||||
}
|
||||
//--
|
||||
@Override
|
||||
public void SynchronizeFields(DBObject src) {
|
||||
super.SynchronizeFields(src);
|
||||
SapforSettings c = (SapforSettings) src;
|
||||
FREE_FORM = c.FREE_FORM;
|
||||
STATIC_SHADOW_ANALYSIS = c.STATIC_SHADOW_ANALYSIS;
|
||||
MAX_SHADOW_WIDTH = c.MAX_SHADOW_WIDTH;
|
||||
KEEP_SPF_DIRECTIVES = c.KEEP_SPF_DIRECTIVES;
|
||||
KEEP_DVM_DIRECTIVES = c.KEEP_DVM_DIRECTIVES;
|
||||
}
|
||||
public SapforSettings(SapforSettings sapforSettings) {
|
||||
this.SynchronizeFields(sapforSettings);
|
||||
}
|
||||
public SapforSettings(){}
|
||||
}
|
||||
Reference in New Issue
Block a user