lib/client/rangeretrievalspecifierattribute.js
function(attribute) {
  if (this instanceof RangeRetrievalSpecifierAttribute) {
    if (! attribute) throw new Error('No attribute provided to create a range retrieval specifier.');
    if (typeof(attribute) === 'string') {
      attribute = parseRangeRetrievalSpecifierAttribute(attribute);
    }

    for(var property in attribute) {
      if (Array.prototype.hasOwnProperty.call(attribute, property)) {
        this[property] = attribute[property];
      }
    }
  }
  else {
    return(new RangeRetrievalSpecifierAttribute(attribute));
  }
}
function(attribute) {
  if (this instanceof RangeRetrievalSpecifierAttribute) {
    if (! attribute) throw new Error('No attribute provided to create a range retrieval specifier.');
    if (typeof(attribute) === 'string') {
      attribute = parseRangeRetrievalSpecifierAttribute(attribute);
    }

    for(var property in attribute) {
      if (Array.prototype.hasOwnProperty.call(attribute, property)) {
        this[property] = attribute[property];
      }
    }
  }
  else {
    return(new RangeRetrievalSpecifierAttribute(attribute));
  }
}
function ( attribute ) { if ( this instanceof RangeRetrievalSpecifierAttribute ) { if ( ! attribute ) throw new Error ( 'No attribute provided to create a range retrieval specifier.' ) ; if ( typeof ( attribute ) === 'string' ) { attribute = parseRangeRetrievalSpecifierAttribute ( attribute ) ; } for ( var property in attribute ) { if ( Array . prototype . hasOwnProperty . call ( attribute , property ) ) { this [ property ] = attribute [ property ] ; } } } else { return ( new RangeRetrievalSpecifierAttribute ( attribute ) ) ; } }
Multi-valued attribute range retreival specifier.

@private
@constructor
@param {String|Object} attribute The actual attribute name. May also contain a full range retrieval specifier for parsing. (i.e. [attribute];range=[low]-[high]). Optionally an object can be specified.
@returns {RangeRetrievalSpecifierAttribute}
Multi - valued attribute range retreival specifier .