internal ArangoDBConnection(IDatabaseRecordParser <TDataType> parser, IDatabaseConnectionProtocol <TDataType> protocol, ILogger logger, string database) { if (parser == null) { throw new ArgumentNullException($"{nameof(parser)}"); } if (protocol == null) { throw new ArgumentNullException($"{nameof(protocol)}"); } if (string.IsNullOrWhiteSpace(database)) { throw new ArgumentException($"{nameof(database)}"); } _logger = logger ?? throw new ArgumentNullException($"{nameof(logger)}"); _serverConnection = protocol.CreateServerConnection(parser, logger); _databaseConnection = _serverConnection.Connect(database); }
public IDatabaseServerConnection CreateConnection() { return(_connectionProtocol.CreateServerConnection(_parser, _logger)); }