@startuml /' Objects '/ namespace iotwebconf { class BoolDataType { +BoolDataType() #fromString() : bool } class CharArrayDataType { +CharArrayDataType() #update() : bool #getInputLength() : int #applyDefaultValue() : void #loadValue() : void #storeValue() : void } class CheckboxTParameter { +CheckboxTParameter() #renderHtml() : String +isChecked() : bool #getInputType() : char* -_checkedStr : const char* #update() : void } abstract class ConfigItemBridge { #ConfigItemBridge() #{abstract} toString() : String #{abstract} update() : bool #getInputLength() : int +debugTo() : void +update() : void } abstract class DataType { +DataType() #toString() : String #_value : ValueType +getValue() : ValueType& +operator*() : ValueType& #_defaultValue : _DefaultValueType #{abstract} update() : bool #validate() : bool #getStorageSize() : int } class DoubleDataType { +DoubleDataType() #fromString() : double } class FloatDataType { +FloatDataType() #fromString() : float } class FloatTParameter { +FloatTParameter() +isMaxDefined() : bool +isMinDefined() : bool #getInputType() : char* +getMax() : float +getMin() : float } abstract class InputParameter { +InputParameter() +getCustomHtml() : String #getHtmlTemplate() : String #renderHtml() : String #{abstract} getInputType() : char* +customHtml : const char* +errorMessage : const char* +label : const char* +placeholder : const char* #clearErrorMessage() : void +renderHtml() : void +setPlaceholder() : void } class IntTParameter { +IntTParameter() +getMax() : ValueType +getMin() : ValueType +isMaxDefined() : bool +isMinDefined() : bool #getInputType() : char* } class IpDataType { #toString() : String #update() : bool } class OptionsTParameter { +OptionsTParameter() #OptionsTParameter() #_optionNames : const char* #_optionValues : const char* #_nameLength : size_t #_optionCount : size_t +setNameLength() : void +setOptionCount() : void +setOptionNames() : void +setOptionValues() : void } class PasswordTParameter { +PasswordTParameter() #renderHtml() : String +update() : bool #getInputType() : char* -_customHtmlPwd : const char* +debugTo() : void } abstract class PrimitiveDataType { +PrimitiveDataType() -_max : ValueType -_min : ValueType #{abstract} fromString() : ValueType #getMax() : ValueType #getMin() : ValueType #isMaxDefined() : ValueType #isMinDefined() : ValueType -_maxDefined : bool -_minDefined : bool #update() : bool #applyDefaultValue() : void #loadValue() : void +setMax() : void +setMin() : void #storeValue() : void } abstract class PrimitiveInputParameter { +PrimitiveInputParameter() +getCustomHtml() : String +{abstract} getMax() : ValueType +{abstract} getMin() : ValueType +step : ValueType +{abstract} isMaxDefined() : bool +{abstract} isMinDefined() : bool +setStep() : void } class SelectTParameter { +SelectTParameter() +SelectTParameter() #renderHtml() : String } class SignedIntDataType { +SignedIntDataType() #fromString() : ValueType } class StringDataType { #toString() : String #update() : bool } class TextTParameter { +TextTParameter() #getInputType() : char* } class UnsignedIntDataType { +UnsignedIntDataType() #fromString() : ValueType } } /' Inheritance relationships '/ iotwebconf.BoolDataType <|-- iotwebconf.CheckboxTParameter iotwebconf.CharArrayDataType <|-- iotwebconf.PasswordTParameter iotwebconf.CharArrayDataType <|-- iotwebconf.TextTParameter iotwebconf.ConfigItemBridge <|-- iotwebconf.DataType iotwebconf.ConfigItemBridge <|-- iotwebconf.InputParameter iotwebconf.DataType <|-- iotwebconf.CharArrayDataType iotwebconf.DataType <|-- iotwebconf.IpDataType iotwebconf.DataType <|-- iotwebconf.PrimitiveDataType iotwebconf.DataType <|-- iotwebconf.StringDataType iotwebconf.FloatDataType <|-- iotwebconf.FloatTParameter iotwebconf.InputParameter <|-- iotwebconf.CheckboxTParameter iotwebconf.InputParameter <|-- iotwebconf.PasswordTParameter iotwebconf.InputParameter <|-- iotwebconf.PrimitiveInputParameter iotwebconf.InputParameter <|-- iotwebconf.TextTParameter iotwebconf.OptionsTParameter <|-- iotwebconf.SelectTParameter iotwebconf.PrimitiveDataType <|-- iotwebconf.BoolDataType iotwebconf.PrimitiveDataType <|-- iotwebconf.DoubleDataType iotwebconf.PrimitiveDataType <|-- iotwebconf.FloatDataType iotwebconf.PrimitiveDataType <|-- iotwebconf.SignedIntDataType iotwebconf.PrimitiveDataType <|-- iotwebconf.UnsignedIntDataType iotwebconf.PrimitiveInputParameter <|-- iotwebconf.FloatTParameter iotwebconf.PrimitiveInputParameter <|-- iotwebconf.IntTParameter iotwebconf.SignedIntDataType <|-- iotwebconf.IntTParameter iotwebconf.TextTParameter <|-- iotwebconf.OptionsTParameter /' Aggregation relationships '/ /' Nested objects '/ @enduml