org.hisrc.jsonix.Jsonix.Model.PropertyInfo.js Maven / Gradle / Ivy
Jsonix.Model.PropertyInfo = Jsonix.Class({
name : null,
collection : false,
targetNamespace : '',
defaultElementNamespaceURI : '',
defaultAttributeNamespaceURI : '',
built : false,
initialize : function(mapping) {
Jsonix.Util.Ensure.ensureObject(mapping);
var n = mapping.name || mapping.n || undefined;
Jsonix.Util.Ensure.ensureString(n);
this.name = n;
var dens = mapping.defaultElementNamespaceURI || mapping.dens || mapping.targetNamespace || mapping.tns || '';
this.defaultElementNamespaceURI = dens;
var tns = mapping.targetNamespace || mapping.tns || mapping.defaultElementNamespaceURI || mapping.dens || this.defaultElementNamespaceURI;
this.targetNamespace = tns;
var dans = mapping.defaultAttributeNamespaceURI || mapping.dans || '';
this.defaultAttributeNamespaceURI = dans;
var col = mapping.collection || mapping.col || false;
this.collection = col;
},
build : function(context, module) {
if (!this.built) {
this.doBuild(context, module);
this.built = true;
}
},
doBuild : function(context, module) {
throw new Error("Abstract method [doBuild].");
},
buildStructure : function(context, structure) {
throw new Error("Abstract method [buildStructure].");
},
setProperty : function(object, value) {
if (Jsonix.Util.Type.exists(value)) {
if (this.collection) {
Jsonix.Util.Ensure.ensureArray(value, 'Collection property requires an array value.');
if (!Jsonix.Util.Type.exists(object[this.name])) {
object[this.name] = [];
}
for (var index = 0; index < value.length; index++) {
object[this.name].push(value[index]);
}
} else {
object[this.name] = value;
}
}
},
CLASS_NAME : 'Jsonix.Model.PropertyInfo'
});
© 2015 - 2024 Weber Informatics LLC | Privacy Policy