import 'package:flutter/foundation.dart'; import 'vid_value.dart'; /// /// abstract vid element /// abstract class VidValueElement implements IVidValue { late T _value; T get value => _value; @protected set value(T val) => _value = val; VidValueElement(T value); @override dynamic getValue() { return value; } } /// Integer element for vid class VidIntegerValueElement extends VidValueElement { VidIntegerValueElement(int val) : super(val) { value = val; } @override ValueType get type => ValueType.integer; } /// String element for vid class VidStringValueElement extends VidValueElement { @override ValueType get type => ValueType.string; VidStringValueElement(String val) : super(val) { value = val; } } /// double element for vid class VidDoubleValueElement extends VidValueElement { @override ValueType get type => ValueType.double; VidDoubleValueElement(double val) : super(val) { value = val; } } /// float element for vid class VidFloatValueElement extends VidValueElement { @override ValueType get type => ValueType.float; VidFloatValueElement(double val) : super(val) { value = val; } } /// Uint element for vid class VidUintValueElement extends VidValueElement { @override ValueType get type => ValueType.uint; VidUintValueElement(int val) : super(val) { value = val; } } /// short element for vid class VidShortValueElement extends VidValueElement { @override ValueType get type => ValueType.short; VidShortValueElement(int val) : super(val) { value = val; } } /// ushort element for vid class VidUshortValueElement extends VidValueElement { @override ValueType get type => ValueType.ushort; VidUshortValueElement(int val) : super(val) { value = val; } } /// long element for vid class VidLongValueElement extends VidValueElement { @override ValueType get type => ValueType.long; VidLongValueElement(int val) : super(val) { value = val; } } /// ulong element for vid class VidUlongValueElement extends VidValueElement { @override ValueType get type => ValueType.ulong; VidUlongValueElement(int val) : super(val) { value = val; } } /// byte element for vid class VidByteValueElement extends VidValueElement { @override ValueType get type => ValueType.byte; VidByteValueElement(int val) : super(val) { value = val; } }