GarminSample.js
Summary
Garmin.Sample - A datastructure designed to contain a number of measurements
recorded at a single point.
Version: 1.0
Author: Bobby Yang bobby.yang.at.garmin.com
if (Garmin == undefined) var Garmin = {};
Garmin.Sample = function(){};
Garmin.Sample = Class.create();
Garmin.Sample.prototype = {
initialize: function() {
this.isLazyLoaded = false;
this.factory = null;
this.dom = null;
this.measurements = new Hash();
},
setLazyLoading: function(isLazyLoaded, factory, dom) {
this.isLazyLoaded = isLazyLoaded;
this.factory = factory;
this.dom = dom;
},
getMeasurements: function() {
this.finishLoading();
return this.measurements;
},
getMeasurement: function(mKey) {
this.finishLoading();
return this.measurements[mKey];
},
getMeasurementValue: function(mKey) {
this.finishLoading();
return (this.measurements[mKey] ? this.measurements[mKey].getValue() : null);
},
getMeasurementContext: function(mKey) {
this.finishLoading();
return (this.measurements[mKey] ? this.measurements[mKey].getContext() : null);
},
getLatitude: function() {
return this.getMeasurementValue(Garmin.Sample.MEASUREMENT_KEYS.latitude);
},
getLongitude: function() {
return this.getMeasurementValue(Garmin.Sample.MEASUREMENT_KEYS.longitude);
},
getTime: function() {
return this.getMeasurementValue(Garmin.Sample.MEASUREMENT_KEYS.time);
},
setMeasurement: function(mKey, mValue, mContext) {
if (!this.measurements[mKey] || !(this.measurements[mKey] instanceof Garmin.Measurement)) {
this.measurements[mKey]= new Garmin.Measurement(mValue, mContext);
} else {
this.measurements[mKey].setValue(mValue);
this.measurements[mKey].setContext(mContext);
}
},
isValidLocation: function() {
var latitude = this.getMeasurement(Garmin.Sample.MEASUREMENT_KEYS.latitude);
var longitude = this.getMeasurement(Garmin.Sample.MEASUREMENT_KEYS.latitude);
return ((latitude != null && latitude.getValue() != null) &&
(longitude != null && longitude.getValue() != null));
},
finishLoading: function() {
if (this.isLazyLoaded) {
this.factory.finishLoadingSample(this.dom, this);
}
},
printMe: function(tabs) {
var output = ""
output += tabs + " [Sample]\n";
var measKeys = this.measurements.keys();
for (var i = 0; i < measKeys.length; i++) {
output += tabs + " " + measKeys[i] + ":\n";
output += this.measurements[measKeys[i]].printMe(tabs + " ");
}
return output;
},
toString: function() {
return "[Garmin.Sample]"
}
};
Garmin.Sample.MEASUREMENT_KEYS = {
cadence: "cadence",
distance: "distance",
elevation: "elevation",
heartRate: "heartRate",
latitude: "latitude",
longitude: "longitude",
sensorState: "sensorState",
time: "time"
};
Documentation generated by
JSDoc on Wed Dec 19 11:16:23 2007