Source: payments/TerminalManagementTimeCondition.js

/**
 * Autogenerated by Avro
 * 
 * DO NOT EDIT DIRECTLY
 */

var payments_TimeConditionType = require("../payments/TimeConditionType");

/**
* @constructor
* @memberof payments
*/
var TerminalManagementTimeCondition = function() {
  this._class_ = TerminalManagementTimeCondition;
  this.conditionType = undefined;
  this.startTime = undefined;
  this.delay = undefined;
  this.maxCount = undefined;
};


/**
* Set the field value
* Type of time condition
*
* @memberof payments.TerminalManagementTimeCondition
* @param {payments.TimeConditionType} conditionType 
*/
TerminalManagementTimeCondition.prototype.setConditionType = function(conditionType) {
  this.conditionType = conditionType;
};

/**
* Get the field value
* Type of time condition
* @memberof payments.TerminalManagementTimeCondition
* @return {payments.TimeConditionType} 
*/
TerminalManagementTimeCondition.prototype.getConditionType = function() {
  return this.conditionType;
};

/**
* Set the field value
* epoch time (start time)
*
* @memberof payments.TerminalManagementTimeCondition
* @param {Number} startTime must be a long integer
*/
TerminalManagementTimeCondition.prototype.setStartTime = function(startTime) {
  this.startTime = startTime;
};

/**
* Get the field value
* epoch time (start time)
* @memberof payments.TerminalManagementTimeCondition
* @return {Number} must be a long integer
*/
TerminalManagementTimeCondition.prototype.getStartTime = function() {
  return this.startTime;
};

/**
* Set the field value
* MMDDhhmm format to calculate periodic time or waiting time
*
* @memberof payments.TerminalManagementTimeCondition
* @param {String} delay 
*/
TerminalManagementTimeCondition.prototype.setDelay = function(delay) {
  this.delay = delay;
};

/**
* Get the field value
* MMDDhhmm format to calculate periodic time or waiting time
* @memberof payments.TerminalManagementTimeCondition
* @return {String} 
*/
TerminalManagementTimeCondition.prototype.getDelay = function() {
  return this.delay;
};

/**
* Set the field value
* Number of periods
*
* @memberof payments.TerminalManagementTimeCondition
* @param {Number} maxCount must be a long integer
*/
TerminalManagementTimeCondition.prototype.setMaxCount = function(maxCount) {
  this.maxCount = maxCount;
};

/**
* Get the field value
* Number of periods
* @memberof payments.TerminalManagementTimeCondition
* @return {Number} must be a long integer
*/
TerminalManagementTimeCondition.prototype.getMaxCount = function() {
  return this.maxCount;
};

/**
* @memberof payments.TerminalManagementTimeCondition
* @private
*/
TerminalManagementTimeCondition.prototype.getMetaInfo = function(fieldName) {
  var curclass = this._class_;
  do {
    var fieldMetaInfo = curclass._meta_.fields[fieldName];
    if(fieldMetaInfo) {
      return fieldMetaInfo;
    }
    if(curclass._meta_._superMeta_) {
      curclass = curclass._meta_._superMeta_._class_;
    } else {
      curclass = null;
    }
  } while(curclass);
  return null;
};

TerminalManagementTimeCondition.prototype.toString = function() {
  return JSON.stringify(this);
};

TerminalManagementTimeCondition._meta_ =  {fields:  {}};
TerminalManagementTimeCondition._meta_._class_ =  TerminalManagementTimeCondition;
TerminalManagementTimeCondition._meta_.fields["conditionType"] = {};
TerminalManagementTimeCondition._meta_.fields["conditionType"].type = payments_TimeConditionType;
TerminalManagementTimeCondition._meta_.fields["startTime"] = {};
TerminalManagementTimeCondition._meta_.fields["startTime"].type = Number;
TerminalManagementTimeCondition._meta_.fields["delay"] = {};
TerminalManagementTimeCondition._meta_.fields["delay"].type = String;
TerminalManagementTimeCondition._meta_.fields["maxCount"] = {};
TerminalManagementTimeCondition._meta_.fields["maxCount"].type = Number;

//
// Expose the module.
//
if ('undefined' !== typeof module) {
module.exports = TerminalManagementTimeCondition;
}