package ru.testing.client.common.properties; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import ru.testing.client.common.objects.Settings; import java.io.IOException; import java.util.Properties; /** * Class read default properties */ public class DefaultProperties { private static final Logger LOGGER = LoggerFactory.getLogger(DefaultProperties.class); private static final String PROP_FILE = "default.properties"; private static DefaultProperties properties; private int msgFontSize; private boolean msgWrap; private boolean autoScroll; private boolean wsSslValidate; private DefaultProperties() { Properties properties = new Properties(); try { properties.load(DefaultProperties.class.getClassLoader().getResourceAsStream(PROP_FILE)); // Set default settings value setMsgFontSize(Integer.parseInt(properties.getProperty("msg.font.size"))); setMsgWrap(Boolean.parseBoolean(properties.getProperty("msg.wrap"))); setAutoScroll(Boolean.parseBoolean(properties.getProperty("ws.auto.scroll"))); setWsSslValidate(Boolean.parseBoolean(properties.getProperty("ws.ssl.validate"))); } catch (IOException e) { LOGGER.error("Error load properties: {}", e.getMessage()); } } /** * Get default properties * @return DefaultProperties */ public static DefaultProperties getInstance() { if (properties == null) { properties = new DefaultProperties(); } return properties; } /** * Get default message view setting as object * @return Settings */ public Settings getDefaultSettings() { return new Settings( getMsgFontSize(), isMsgWrap(), isAutoScroll(), isWsSslValidate() ); } public boolean isAutoScroll() { return autoScroll; } private void setAutoScroll(boolean profileAutoScroll) { this.autoScroll = profileAutoScroll; } public int getMsgFontSize() { return msgFontSize; } private void setMsgFontSize(int msgFontSize) { this.msgFontSize = msgFontSize; } public boolean isMsgWrap() { return msgWrap; } private void setMsgWrap(boolean msgWrap) { this.msgWrap = msgWrap; } public boolean isWsSslValidate() { return wsSslValidate; } public void setWsSslValidate(boolean wsSslValidate) { this.wsSslValidate = wsSslValidate; } }