import { XMLElem } from "@/util/XmlElem"; import type { NodeId } from "./NodeId"; import { UABaseNode } from "./UABaseNode"; import { UAReference } from "./UAReference"; export class UAObject extends UABaseNode { constructor(public nodeId: NodeId, public browseName: string, public displayName: string, public references: UAReference[]) { super(nodeId, browseName, displayName, references); } static fromXML(uaObject: any): UAObject{ const bn=super.fromXML(uaObject) return new UAObject(bn.nodeId, bn.browseName, bn.displayName, bn.references); } toXML(): XMLElem { const elem =new XMLElem('UAVariable'); elem.attr('NodeID', this.nodeId.toString()) .attr('BrowseName', this.browseName) .attr('DisplayName', this.displayName); const refs=elem.add(new XMLElem('References')) for(const ref of this.references) { refs.add(ref.toXML()); } return elem; } }