text: var crypto = require('crypto');
  function NdefRecordUri(__SLAG_PROPERTIES) {
  	__SLAG_PROPERTIES = __SLAG_PROPERTIES || {};
  	var __SLAG_DEVICE = JSON.parse(process.env.SLAG_DEVICE);
  	var __SLAG_CHECKS = [], __SLAG_NAMES = [
  			'apiName',
  			'lifecycleContainer',
  			'payload',
  			'recordType',
  			'id',
  			'tnf',
  			'type',
  			'hashCode',
  			'uri',
  			'id'
  		];
  	if (__SLAG_NAMES.length > 0 && process.env.SLAG_STRICT === 'true') {
  		for (var __SLAG_NAME in __SLAG_PROPERTIES) {
  			if (__SLAG_NAMES.indexOf(__SLAG_NAME) === -1) {
  				throw new Error('Use user custom property ' + __SLAG_NAME);
  			}
  		}
  	} else if (__SLAG_NAMES.length === 0 && __SLAG_PROPERTIES.length > 0 && process.env.SLAG_STRICT === 'true') {
  		throw new Error('Use user custom properties. ' + __SLAG_PROPERTIES.join(', '));
  	}
  	var md5 = crypto.createHash('md5');
  	md5.update(crypto.randomBytes(32), 'binary');
  	this.__SLAG_ID = md5.digest('hex');
  	this.__SLAG_PARENT;
  	if (__SLAG_PROPERTIES.apiName) {
  		throw new Error('Modules.Nfc.NdefRecordUri.apiName is read only property');
  	}
  	this.apiName = 'Modules.Nfc.NdefRecordUri';
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		this.lifecycleContainer = undefined;
  	} else {
  		this.lifecycleContainer = __SLAG_PROPERTIES.lifecycleContainer || {};
  	}
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		this.payload = undefined;
  	} else {
  		this.payload = __SLAG_PROPERTIES.payload || {};
  	}
  	if (__SLAG_PROPERTIES.recordType) {
  		throw new Error('Modules.Nfc.NdefRecordUri.recordType is read only property');
  	}
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		this.recordType = undefined;
  	} else {
  		this.recordType = '';
  	}
  	if (__SLAG_PROPERTIES.id) {
  		throw new Error('Modules.Nfc.NdefRecordUri.id is read only property');
  	}
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		this.id = undefined;
  	} else {
  		this.id = '';
  	}
  	if (__SLAG_PROPERTIES.tnf) {
  		throw new Error('Modules.Nfc.NdefRecordUri.tnf is read only property');
  	}
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		this.tnf = undefined;
  	} else {
  		this.tnf = 0;
  	}
  	if (__SLAG_PROPERTIES.type) {
  		throw new Error('Modules.Nfc.NdefRecordUri.type is read only property');
  	}
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		this.type = undefined;
  	} else {
  		this.type = '';
  	}
  	if (__SLAG_PROPERTIES.hashCode) {
  		throw new Error('Modules.Nfc.NdefRecordUri.hashCode is read only property');
  	}
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		this.hashCode = undefined;
  	} else {
  		this.hashCode = 0;
  	}
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		this.uri = undefined;
  	} else {
  		this.uri = __SLAG_PROPERTIES.uri || '';
  	}
  	this.id = __SLAG_PROPERTIES.id || '';
  	return this;
  }
  NdefRecordUri.prototype.getRecordType = function () {
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		throw new Error('This method is not support specified platform');
  	}
  	return this.recordType;
  };
  NdefRecordUri.prototype.getId = function () {
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		throw new Error('This method is not support specified platform');
  	}
  	return this.id;
  };
  NdefRecordUri.prototype.getTnf = function () {
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		throw new Error('This method is not support specified platform');
  	}
  	return this.tnf;
  };
  NdefRecordUri.prototype.getType = function () {
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		throw new Error('This method is not support specified platform');
  	}
  	return this.type;
  };
  NdefRecordUri.prototype.getHashCode = function () {
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		throw new Error('This method is not support specified platform');
  	}
  	return this.hashCode;
  };
  NdefRecordUri.prototype.getApiName = function () {
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		throw new Error('This method is not support specified platform');
  	}
  	return this.apiName;
  };
  NdefRecordUri.prototype.getLifecycleContainer = function () {
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		throw new Error('This method is not support specified platform');
  	}
  	return this.lifecycleContainer;
  };
  NdefRecordUri.prototype.setLifecycleContainer = function (__SLAG__PROPERTY) {
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		throw new Error('This method is not support specified platform');
  	}
  	this.lifecycleContainer = __SLAG__PROPERTY;
  };
  NdefRecordUri.prototype.getPayload = function () {
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		throw new Error('This method is not support specified platform');
  	}
  	return this.payload;
  };
  NdefRecordUri.prototype.setPayload = function (__SLAG__PROPERTY) {
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		throw new Error('This method is not support specified platform');
  	}
  	this.payload = __SLAG__PROPERTY;
  };
  NdefRecordUri.prototype.getRecordType = function () {
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		throw new Error('This method is not support specified platform');
  	}
  	return this.recordType;
  };
  NdefRecordUri.prototype.getId = function () {
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		throw new Error('This method is not support specified platform');
  	}
  	return this.id;
  };
  NdefRecordUri.prototype.getTnf = function () {
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		throw new Error('This method is not support specified platform');
  	}
  	return this.tnf;
  };
  NdefRecordUri.prototype.getType = function () {
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		throw new Error('This method is not support specified platform');
  	}
  	return this.type;
  };
  NdefRecordUri.prototype.getHashCode = function () {
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		throw new Error('This method is not support specified platform');
  	}
  	return this.hashCode;
  };
  NdefRecordUri.prototype.getUri = function () {
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		throw new Error('This method is not support specified platform');
  	}
  	return this.uri;
  };
  NdefRecordUri.prototype.setUri = function (__SLAG__PROPERTY) {
  	if (['android'].indexOf(process.env.SLAG_PLATFORM) === -1) {
  		throw new Error('This method is not support specified platform');
  	}
  	this.uri = __SLAG__PROPERTY;
  };
  module.exports = function (properties) {
  	return new NdefRecordUri(properties);
  };