internal SapTableSource(string type, object sourceRetryCount, object sourceRetryWait, object maxConcurrentConnections, IDictionary <string, object> additionalProperties, object queryTimeout, object rowCount, object rowSkips, object rfcTableFields, object rfcTableOptions, object batchSize, object customRfcReadTableFunctionModule, SapTablePartitionOption?partitionOption, SapTablePartitionSettings partitionSettings) : base(type, sourceRetryCount, sourceRetryWait, maxConcurrentConnections, additionalProperties, queryTimeout) { RowCount = rowCount; RowSkips = rowSkips; RfcTableFields = rfcTableFields; RfcTableOptions = rfcTableOptions; BatchSize = batchSize; CustomRfcReadTableFunctionModule = customRfcReadTableFunctionModule; PartitionOption = partitionOption; PartitionSettings = partitionSettings; Type = type ?? "SapTableSource"; }
internal static SapTableSource DeserializeSapTableSource(JsonElement element) { Optional <object> rowCount = default; Optional <object> rowSkips = default; Optional <object> rfcTableFields = default; Optional <object> rfcTableOptions = default; Optional <object> batchSize = default; Optional <object> customRfcReadTableFunctionModule = default; Optional <SapTablePartitionOption> partitionOption = default; Optional <SapTablePartitionSettings> 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("rowCount")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } rowCount = property.Value.GetObject(); continue; } if (property.NameEquals("rowSkips")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } rowSkips = property.Value.GetObject(); continue; } if (property.NameEquals("rfcTableFields")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } rfcTableFields = property.Value.GetObject(); continue; } if (property.NameEquals("rfcTableOptions")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } rfcTableOptions = property.Value.GetObject(); continue; } if (property.NameEquals("batchSize")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } batchSize = property.Value.GetObject(); continue; } if (property.NameEquals("customRfcReadTableFunctionModule")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } customRfcReadTableFunctionModule = property.Value.GetObject(); continue; } if (property.NameEquals("partitionOption")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } partitionOption = new SapTablePartitionOption(property.Value.GetString()); continue; } if (property.NameEquals("partitionSettings")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } partitionSettings = SapTablePartitionSettings.DeserializeSapTablePartitionSettings(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 SapTableSource(type, sourceRetryCount.Value, sourceRetryWait.Value, maxConcurrentConnections.Value, additionalProperties, queryTimeout.Value, rowCount.Value, rowSkips.Value, rfcTableFields.Value, rfcTableOptions.Value, batchSize.Value, customRfcReadTableFunctionModule.Value, Optional.ToNullable(partitionOption), partitionSettings.Value)); }