org.hisrc.jsonix.Jsonix.Binding.Unmarshaller.js Maven / Gradle / Ivy
Jsonix.Binding.Unmarshaller = Jsonix.Class(Jsonix.Binding.Unmarshalls.Element, Jsonix.Binding.Unmarshalls.Element.AsElementRef, {
context : null,
allowTypedObject : true,
allowDom : false,
initialize : function(context) {
Jsonix.Util.Ensure.ensureObject(context);
this.context = context;
},
unmarshalString : function(text) {
Jsonix.Util.Ensure.ensureString(text);
var doc = Jsonix.DOM.parse(text);
return this.unmarshalDocument(doc);
},
unmarshalURL : function(url, callback, options) {
Jsonix.Util.Ensure.ensureString(url);
Jsonix.Util.Ensure.ensureFunction(callback);
if (Jsonix.Util.Type.exists(options)) {
Jsonix.Util.Ensure.ensureObject(options);
}
that = this;
Jsonix.DOM.load(url, function(doc) {
callback(that.unmarshalDocument(doc));
}, options);
},
unmarshalFile : function(fileName, callback, options) {
if (typeof _jsonix_fs === 'undefined') {
throw new Error("File unmarshalling is only available in environments which support file systems.");
}
Jsonix.Util.Ensure.ensureString(fileName);
Jsonix.Util.Ensure.ensureFunction(callback);
if (Jsonix.Util.Type.exists(options)) {
Jsonix.Util.Ensure.ensureObject(options);
}
that = this;
var fs = _jsonix_fs;
fs.readFile(fileName, options, function(err, data) {
if (err) {
throw err;
} else {
var text = data.toString();
var doc = Jsonix.DOM.parse(text);
callback(that.unmarshalDocument(doc));
}
});
},
unmarshalDocument : function(doc, scope) {
var input = new Jsonix.XML.Input(doc);
var result = null;
var callback = function(_result) {
result = _result;
};
input.nextTag();
this.unmarshalElement(this.context, input, scope, callback);
return result;
},
CLASS_NAME : 'Jsonix.Binding.Unmarshaller'
});
Jsonix.Binding.Unmarshaller.Simplified = Jsonix.Class(Jsonix.Binding.Unmarshaller, Jsonix.Binding.Unmarshalls.Element.AsSimplifiedElementRef, {
CLASS_NAME : 'Jsonix.Binding.Unmarshaller.Simplified'
});
© 2015 - 2024 Weber Informatics LLC | Privacy Policy