package jnpf.elnService.template.docx; import java.util.Collections; import java.util.LinkedHashMap; import java.util.Map; public class DocxControlSnapshot { private final String tag; private final String alias; private final String lock; private final String controlType; private final String controlRole; private final String partName; private final String status; private final Map controlConfig; private final String currentValue; private final Integer tableIndex; private final Integer tableRowIndex; private final boolean nestedTable; private final boolean verticalMerge; private final boolean nestedControl; public DocxControlSnapshot(String tag, String alias, String lock, String controlType, String controlRole, String partName, String status, Map controlConfig) { this(tag, alias, lock, controlType, controlRole, partName, status, controlConfig, null); } public DocxControlSnapshot(String tag, String alias, String lock, String controlType, String controlRole, String partName, String status, Map controlConfig, String currentValue) { this(tag, alias, lock, controlType, controlRole, partName, status, controlConfig, currentValue, null, null, false, false); } public DocxControlSnapshot(String tag, String alias, String lock, String controlType, String controlRole, String partName, String status, Map controlConfig, String currentValue, Integer tableIndex, Integer tableRowIndex, boolean nestedTable, boolean verticalMerge) { this(tag, alias, lock, controlType, controlRole, partName, status, controlConfig, currentValue, tableIndex, tableRowIndex, nestedTable, verticalMerge, false); } public DocxControlSnapshot(String tag, String alias, String lock, String controlType, String controlRole, String partName, String status, Map controlConfig, String currentValue, Integer tableIndex, Integer tableRowIndex, boolean nestedTable, boolean verticalMerge, boolean nestedControl) { this.tag = tag; this.alias = alias; this.lock = lock; this.controlType = controlType; this.controlRole = controlRole; this.partName = partName; this.status = status; this.controlConfig = controlConfig == null ? Collections.emptyMap() : Collections.unmodifiableMap(new LinkedHashMap<>(controlConfig)); this.currentValue = currentValue; this.tableIndex = tableIndex; this.tableRowIndex = tableRowIndex; this.nestedTable = nestedTable; this.verticalMerge = verticalMerge; this.nestedControl = nestedControl; } public String getTag() { return tag; } public String getAlias() { return alias; } public String getLock() { return lock; } public String getControlType() { return controlType; } public String getControlRole() { return controlRole; } public String getPartName() { return partName; } public String getStatus() { return status; } public Map getControlConfig() { return controlConfig; } public String getCurrentValue() { return currentValue; } public Integer getTableIndex() { return tableIndex; } public Integer getTableRowIndex() { return tableRowIndex; } public boolean isNestedTable() { return nestedTable; } public boolean isVerticalMerge() { return verticalMerge; } public boolean isNestedControl() { return nestedControl; } }