Package-level declarations

Types

Link copied to clipboard

In some cases, different objects have different rules regarding the operations they support whether it be the insertion methods that are support or the logic through which we identify their matching keys. In this case, the developer should create multiple OperationProviders and pass them through the CompositeOperationProvider.

Link copied to clipboard
class DestinationOperationAssembler(propertiesPath: List<String>, insertionMethods: List<InsertionMethod>, schemaRequester: HttpRequester?)

Create all the DestinationOperations based on a DestinationObject. If properties are not defined in the DestinationObject, this class will require a schemaRequester in order to fetch the properties.

Link copied to clipboard
class DiscoveredProperty(apiRepresentation: JsonNode, namePath: List<String>, typePath: List<String>, matchingKeyPredicate: Predicate<JsonNode>, availabilityPredicate: Predicate<JsonNode>, requiredPredicate: Predicate<JsonNode>, typeMapper: Map<String, AirbyteType>)

Represents a property that was extracted from the API with the rules that defines the operation for a specific insertion method.

Link copied to clipboard
class InsertionMethod(importType: ImportType, namePath: List<String>, typePath: List<String>, availabilityPredicate: Predicate<JsonNode>, matchingKeyPredicate: Predicate<JsonNode>?, requiredPredicate: Predicate<JsonNode>, typeMapper: Map<String, AirbyteType>)

Describes the information related to how data is inserted in an object.

Link copied to clipboard
class JsonNodePredicate(condition: String, nodeKey: String = "property") : Predicate<JsonNode>

A convenient wrapper in order to evaluate DiscoveredProperties

Link copied to clipboard
Link copied to clipboard
class StaticOperationProvider(objectName: String, syncMode: ImportType, schema: AirbyteType, matchingKeys: List<List<String>>) : OperationProvider

This class has not been used yet but shows why we structured OperationSupplier as we did

Functions

Link copied to clipboard
fun JsonNode.extract(path: List<String>): JsonNode
Link copied to clipboard
fun JsonNode.extractArray(path: List<String>): ArrayNode