import { XMLElem } from "@/util/XmlElem"; import type { NamespaceTable } from "./NameSpaceTable"; import { UABaseNode, type UABaseNodeOptions } from "./UABaseNode"; import type { IAddressSpace } from "./IAddressSpace"; export class UAObjectType extends UABaseNode{ public isAbstract: boolean; constructor(options: UAObjectTypeOptions) { super(options) Object.assign(this, options); this.isAbstract=options.isAbstract||false; } static fromXML(xmlObjType: any, addressSpace: IAddressSpace): UAObjectType{ const bn=super.fromXML(xmlObjType, addressSpace) return new UAObjectType(bn as UABaseNodeOptions); } toXML(lnst:NamespaceTable, gnst:NamespaceTable): XMLElem { const elem =super.toXML(lnst, gnst); elem.attr('IsAbstract', this.isAbstract); return elem; } } export interface UAObjectTypeOptions extends UABaseNodeOptions{ isAbstract?: boolean }