- /** Serialize this item into a string
- *
- * @param format The format to serialize to
- * @param container The object containing this item
- * @param item The item itself
+
+ /** Sets an ExtensionItem using a value in the internal format.
+ * @param container A container the ExtensionItem should be set on.
+ * @param value A value in the internal format.
+ */
+ virtual void FromInternal(Extensible* container, const std::string& value);
+
+ /** Sets an ExtensionItem using a value in the network format.
+ * @param container A container the ExtensionItem should be set on.
+ * @param value A value in the network format.
+ */
+ virtual void FromNetwork(Extensible* container, const std::string& value);
+
+ /** Gets an ExtensionItem's value in a human-readable format.
+ * @param container The container the ExtensionItem is set on.
+ * @param item The value to convert to a human-readable format.
+ * @return The value specified in \p item in a human readable format.
+ */
+ virtual std::string ToHuman(const Extensible* container, void* item) const;
+ /** Gets an ExtensionItem's value in the internal format.
+ * @param container The container the ExtensionItem is set on.
+ * @param item The value to convert to the internal format.
+ * @return The value specified in \p item in the internal format.