/**
* BeNomad BeMap JavaScript API - ChargingStation (v1.5)
*
* One charging station inside a pool. Mirrors the server DTO in
* `bemap_idea/.../service/v1_0_0/model/chargingStation/ChargingStation.java`.
*
* @public
* @constructor
* @param {Object} options Parsed JSON entry from the server response.
*/
bemap.ChargingStation = function(options) {
var opts = options || {};
this.id = opts.id || null;
this.operatorId = opts.operatorId || null;
this.nature = opts.nature || null;
this.availabilityStatus = opts.availabilityStatus || null;
this.authenticationModes = Array.isArray(opts.authenticationModes) ? opts.authenticationModes.slice() : null;
this.authenticationInformation = opts.authenticationInformation || null;
this.paymentModes = Array.isArray(opts.paymentModes) ? opts.paymentModes.slice() : null;
this.paymentInformation = opts.paymentInformation || null;
this.chargePasses = Array.isArray(opts.chargePasses) ? opts.chargePasses.slice() : null;
this.bookable = (typeof opts.bookable === 'boolean') ? opts.bookable : null;
this.images = Array.isArray(opts.images) ? opts.images.slice() : null;
this.tags = Array.isArray(opts.tags) ? opts.tags.slice() : null;
this.chargingPoints = Array.isArray(opts.chargingPoints)
? opts.chargingPoints.map(function(p) { return new bemap.ChargingPoint(p); })
: [];
};
bemap.ChargingStation.prototype.getId = function() { return this.id; };
bemap.ChargingStation.prototype.getOperatorId = function() { return this.operatorId; };
bemap.ChargingStation.prototype.getNature = function() { return this.nature; };
bemap.ChargingStation.prototype.getAvailabilityStatus = function() { return this.availabilityStatus; };
bemap.ChargingStation.prototype.getAuthenticationModes = function() { return this.authenticationModes; };
bemap.ChargingStation.prototype.getAuthenticationInformation = function() { return this.authenticationInformation; };
bemap.ChargingStation.prototype.getPaymentModes = function() { return this.paymentModes; };
bemap.ChargingStation.prototype.getPaymentInformation = function() { return this.paymentInformation; };
bemap.ChargingStation.prototype.getChargePasses = function() { return this.chargePasses; };
bemap.ChargingStation.prototype.isBookable = function() { return this.bookable; };
bemap.ChargingStation.prototype.getImages = function() { return this.images; };
bemap.ChargingStation.prototype.getTags = function() { return this.tags; };
bemap.ChargingStation.prototype.getChargingPoints = function() { return this.chargingPoints; };