artdaq_node_server  v1_00_09
 All Classes Namespaces Files Variables Pages
XMLDocument.js
1 // Generated by CoffeeScript 1.10.0
2 (function() {
3  var XMLDocument, XMLNode, XMLStringWriter, XMLStringifier, isPlainObject,
4  extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
5  hasProp = {}.hasOwnProperty;
6 
7  isPlainObject = require('./Utility').isPlainObject;
8 
9  XMLNode = require('./XMLNode');
10 
11  XMLStringifier = require('./XMLStringifier');
12 
13  XMLStringWriter = require('./XMLStringWriter');
14 
15  module.exports = XMLDocument = (function(superClass) {
16  extend(XMLDocument, superClass);
17 
18  function XMLDocument(options) {
19  XMLDocument.__super__.constructor.call(this, null);
20  options || (options = {});
21  if (!options.writer) {
22  options.writer = new XMLStringWriter();
23  }
24  this.options = options;
25  this.stringify = new XMLStringifier(options);
26  this.isDocument = true;
27  }
28 
29  XMLDocument.prototype.end = function(writer) {
30  var writerOptions;
31  if (!writer) {
32  writer = this.options.writer;
33  } else if (isPlainObject(writer)) {
34  writerOptions = writer;
35  writer = this.options.writer.set(writerOptions);
36  }
37  return writer.document(this);
38  };
39 
40  XMLDocument.prototype.toString = function(options) {
41  return this.options.writer.set(options).document(this);
42  };
43 
44  return XMLDocument;
45 
46  })(XMLNode);
47 
48 }).call(this);