001package co.codewizards.cloudstore.core.dto; 002 003import static java.util.Objects.*; 004 005import java.util.ArrayList; 006import java.util.List; 007import java.util.Map; 008import java.util.Properties; 009 010import javax.xml.bind.annotation.XmlRootElement; 011 012@XmlRootElement 013public class ConfigPropSetDto { 014 015 private List<ConfigPropDto> configPropDtos; 016 017 public ConfigPropSetDto() { 018 } 019 020 public ConfigPropSetDto(final Properties properties) { 021 requireNonNull(properties, "properties"); 022 configPropDtos = new ArrayList<>(properties.size()); 023 for (final Map.Entry<Object, Object> me : properties.entrySet()) { 024 final ConfigPropDto configPropDto = new ConfigPropDto(); 025 configPropDto.setKey((String) me.getKey()); 026 configPropDto.setValue((String) me.getValue()); 027 configPropDtos.add(configPropDto); 028 } 029 } 030 031 public List<ConfigPropDto> getConfigPropDtos() { 032 if (configPropDtos == null) 033 configPropDtos = new ArrayList<>(); 034 035 return configPropDtos; 036 } 037 038 public void setConfigPropDtos(List<ConfigPropDto> configPropDtos) { 039 this.configPropDtos = configPropDtos; 040 } 041 042 public Properties toProperties() { 043 final Properties properties = new Properties(); 044 for (final ConfigPropDto configPropDto : getConfigPropDtos()) 045 properties.setProperty(configPropDto.getKey(), configPropDto.getValue()); 046 047 return properties; 048 } 049 050 @Override 051 public String toString() { 052 return getClass().getSimpleName() + '[' + toString_getProperties() + ']'; 053 } 054 055 protected String toString_getProperties() { 056 return "configPropDtos=" + configPropDtos; 057 } 058}