Deactivated User
10/06/2015, 9:01 AMsealed class XmlElement {
data class OpenCloseTag(val name: String, val attributes: Map<String, String>) : Element()
data class OpenTag(val name: String, val attributes: Map<String, String>) : Element()
data class CloseTag(val name: String) : Element()
data class Text(val text: String) : Element()
}
In other languages like haxe, you would have something like this, that is even more concise (you don't have to use val or extending anything):
enum XmlElement {
OpenCloseTag(name: String, attributes: Map<String, String>)
OpenTag(name: String, attributes: Map<String, String>)
CloseTag(name: String)
Text(text: String)
}