if(!dojo._hasResource["bepixeld.Wire"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
dojo._hasResource["bepixeld.Wire"] = true;
dojo.provide("bepixeld.Wire");
dojo.require("dojox.wire.Wire");

dojo.declare("bepixeld.Wire", dojox.wire.Wire, {
	getValue: function(/*Object||Array*/defaultObject){
		var object = undefined;
		if(dojox.wire.isWire(this.object)){
			object = this.object.getValue(defaultObject);
		}else{
			object = (this.object || defaultObject);
		}

		if(this.property){
			var list = this.property.split('.');
			for(var i in list){
				if(!object){
					return object; //anything (null, undefined, etc)
				}
				
				object = this._getPropertyValue(object, list[i]);
			}
		}

		var value = undefined;
		if(this._getValue){
			value = this._getValue(object);
		}else{
			value = object;
		}
		
		if(this.type){
			if(this.type == "string"){
				value = value.toString();
			}else if(this.type == "number"){
				value = parseInt(value);
			}else if(this.type == "boolean"){
				value = (value != "false");
			}else if(this.type == "array"){
				if(!dojo.isArray(value)){
					value = [value];
				}
			}
		}
		if(this.converter && this.converter.convert){
			value = this.converter.convert(value, this); // optional "this" context
		}
		else if ((value === null) || (value === undefined)) {
			return "";
		}
		return value; //anything
	}
});

}
