package co.codewizards.cloudstore.core.dto; import static co.codewizards.cloudstore.core.util.AssertUtil.*; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Properties; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement public class ConfigPropSetDto { private List<ConfigPropDto> configPropDtos; public ConfigPropSetDto() { } public ConfigPropSetDto(final Properties properties) { assertNotNull(properties, "properties"); configPropDtos = new ArrayList<>(properties.size()); for (final Map.Entry<Object, Object> me : properties.entrySet()) { final ConfigPropDto configPropDto = new ConfigPropDto(); configPropDto.setKey((String) me.getKey()); configPropDto.setValue((String) me.getValue()); configPropDtos.add(configPropDto); } } public List<ConfigPropDto> getConfigPropDtos() { if (configPropDtos == null) configPropDtos = new ArrayList<>(); return configPropDtos; } public void setConfigPropDtos(List<ConfigPropDto> configPropDtos) { this.configPropDtos = configPropDtos; } public Properties toProperties() { final Properties properties = new Properties(); for (final ConfigPropDto configPropDto : getConfigPropDtos()) properties.setProperty(configPropDto.getKey(), configPropDto.getValue()); return properties; } @Override public String toString() { return this.getClass().getSimpleName() + "[configPropDtos=" + configPropDtos + "]"; } }