internal SapHanaSource(string type, object sourceRetryCount, object sourceRetryWait, object maxConcurrentConnections, IDictionary <string, object> additionalProperties, object queryTimeout, IList <AdditionalColumns> additionalColumns, object query, object packetSize, SapHanaPartitionOption?partitionOption, SapHanaPartitionSettings partitionSettings) : base(type, sourceRetryCount, sourceRetryWait, maxConcurrentConnections, additionalProperties, queryTimeout, additionalColumns) { Query = query; PacketSize = packetSize; PartitionOption = partitionOption; PartitionSettings = partitionSettings; Type = type ?? "SapHanaSource"; }
internal static SapHanaSource DeserializeSapHanaSource(JsonElement element) { Optional <object> query = default; Optional <object> packetSize = default; Optional <SapHanaPartitionOption> partitionOption = default; Optional <SapHanaPartitionSettings> partitionSettings = default; Optional <object> queryTimeout = default; string type = default; Optional <object> sourceRetryCount = default; Optional <object> sourceRetryWait = default; Optional <object> maxConcurrentConnections = default; IDictionary <string, object> additionalProperties = default; Dictionary <string, object> additionalPropertiesDictionary = new Dictionary <string, object>(); foreach (var property in element.EnumerateObject()) { if (property.NameEquals("query")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } query = property.Value.GetObject(); continue; } if (property.NameEquals("packetSize")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } packetSize = property.Value.GetObject(); continue; } if (property.NameEquals("partitionOption")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } partitionOption = new SapHanaPartitionOption(property.Value.GetString()); continue; } if (property.NameEquals("partitionSettings")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } partitionSettings = SapHanaPartitionSettings.DeserializeSapHanaPartitionSettings(property.Value); continue; } if (property.NameEquals("queryTimeout")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } queryTimeout = property.Value.GetObject(); continue; } if (property.NameEquals("type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("sourceRetryCount")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } sourceRetryCount = property.Value.GetObject(); continue; } if (property.NameEquals("sourceRetryWait")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } sourceRetryWait = property.Value.GetObject(); continue; } if (property.NameEquals("maxConcurrentConnections")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } maxConcurrentConnections = property.Value.GetObject(); continue; } additionalPropertiesDictionary.Add(property.Name, property.Value.GetObject()); } additionalProperties = additionalPropertiesDictionary; return(new SapHanaSource(type, sourceRetryCount.Value, sourceRetryWait.Value, maxConcurrentConnections.Value, additionalProperties, queryTimeout.Value, query.Value, packetSize.Value, Optional.ToNullable(partitionOption), partitionSettings.Value)); }