var store = this.store; var item = this.item; if(key == "getLabel"){ return store.getLabel(item); }else if(key == "getAttributes"){ return store.getAttributes(item); }else if(key == "getIdentity"){ if(store.getIdentity){ return store.getIdentity(item); } return "Store has no identity API"; }else{ if(store.hasAttribute(item, key)){ var value = store.getValue(item, key); return (dojo.isObject(value) && store.isItem(value)) ? new ddcd._BoundItem(value, store) : value; }else if(key.slice(-1) == "s" && store.hasAttribute(item, key.slice(0, -1))){ return dojo.map(store.getValues(item, key.slice(0, -1)), function(value){ return (dojo.isObject(value) && store.isItem(value)) ? new ddcd._BoundItem(value, store) : value; }); } }