'use strict';
var ArgumentError = require('./argument-error.js');
var ConstructorError = require('./constructor-error.js');
var MethodError = require('./method-error.js');
var PropertyError = require('./property-error.js');
var EnumerationError = require('./enumeration-error.js');
var NotImplementedError = require('./not-implemented-error.js');
var Enumeration = require('./enumeration.js');
var Argument = require('./argument-check.js');
var UserInfo = require('./user-info.js');
var Utility = require('./utility.js');
/**
* Contains general components.
*
* @namespace bo.system
*
* @property {function} ArgumentError - {@link bo.system.ArgumentError Argument error}
* constructor to create a new error related to an argument.
* @property {function} ConstructorError - {@link bo.system.ConstructorError Constructor error}
* constructor to create a new error related to a constructor argument.
* @property {function} MethodError - {@link bo.system.MethodError Method error}
* constructor to create a new error related to a method argument.
* @property {function} PropertyError - {@link bo.system.PropertyError Property error}
* constructor to create a new error related to a property argument.
* @property {function} EnumerationError - {@link bo.system.EnumerationError Enumeration error}
* constructor to create a new error related to an enumeration.
* @property {function} NotImplementedError - {@link bo.system.NotImplementedError Not implemented error}
* constructor to create a new error related to a not implemented function.
*
* @property {function} Enumeration - {@link bo.system.Enumeration Enumeration}
* constructor to create new enumeration.
* @property {object} Argument - {@link bo.system.Argument Argument verification}
* namespace provides methods to check arguments.
* @property {function} UserInfo - {@link bo.system.UserInfo User data}
* constructor to create new base object for user information.
* @property {function} Utility - {@link bo.system.Utility Utility}
* function provides static methods for configuration and internationalization.
*/
var index = {
ArgumentError: ArgumentError,
ConstructorError: ConstructorError,
MethodError: MethodError,
PropertyError: PropertyError,
EnumerationError: EnumerationError,
NotImplementedError: NotImplementedError,
Enumeration: Enumeration,
Argument: Argument,
UserInfo: UserInfo,
Utility: Utility
};
// Immutable object.
Object.freeze(index);
module.exports = index;