org.apache.camel.component.stitch.springboot.StitchComponentConfiguration Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of camel-stitch-starter Show documentation
Show all versions of camel-stitch-starter Show documentation
Spring-Boot Starter for Camel Support for the Stitch Cloud ETL
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.camel.component.stitch.springboot;
import org.apache.camel.component.stitch.StitchComponent;
import org.apache.camel.component.stitch.StitchConfiguration;
import org.apache.camel.component.stitch.client.StitchClient;
import org.apache.camel.component.stitch.client.StitchRegion;
import org.apache.camel.component.stitch.client.models.StitchSchema;
import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
import org.springframework.boot.context.properties.ConfigurationProperties;
import reactor.netty.http.client.HttpClient;
import reactor.netty.resources.ConnectionProvider;
/**
* Stitch is a cloud ETL service that integrates various data sources into a
* central data warehouse through various integrations.
*
* Generated by camel-package-maven-plugin - do not edit this file!
*/
@ConfigurationProperties(prefix = "camel.component.stitch")
public class StitchComponentConfiguration
extends
ComponentConfigurationPropertiesCommon {
/**
* Whether to enable auto configuration of the stitch component. This is
* enabled by default.
*/
private Boolean enabled;
/**
* The component configurations. The option is a
* org.apache.camel.component.stitch.StitchConfiguration type.
*/
private StitchConfiguration configuration;
/**
* A collection of comma separated strings representing the Primary Key
* fields in the source table. Stitch use these Primary Keys to de-dupe data
* during loading If not provided, the table will be loaded in an
* append-only manner.
*/
private String keyNames;
/**
* Whether the producer should be started lazy (on the first message). By
* starting lazy you can use this to allow CamelContext and routes to
* startup in situations where a producer may otherwise fail during starting
* and cause the route to fail being started. By deferring this startup to
* be lazy then the startup failure can be handled during routing messages
* via Camel's routing error handlers. Beware that when the first message is
* processed then creating and starting the producer may take a little time
* and prolong the total processing time of the processing.
*/
private Boolean lazyStartProducer = false;
/**
* Stitch account region, e.g: europe
*/
private StitchRegion region = StitchRegion.EUROPE;
/**
* A schema that describes the record(s). The option is a
* org.apache.camel.component.stitch.client.models.StitchSchema type.
*/
private StitchSchema stitchSchema;
/**
* ConnectionProvider contain configuration for the HttpClient like Maximum
* connection limit .. etc, you can inject this ConnectionProvider and the
* StitchClient will initialize HttpClient with this ConnectionProvider. The
* option is a reactor.netty.resources.ConnectionProvider type.
*/
private ConnectionProvider connectionProvider;
/**
* Reactor Netty HttpClient, you can injected it if you want to have custom
* HttpClient. The option is a reactor.netty.http.client.HttpClient type.
*/
private HttpClient httpClient;
/**
* Whether autowiring is enabled. This is used for automatic autowiring
* options (the option must be marked as autowired) by looking up in the
* registry to find if there is a single instance of matching type, which
* then gets configured on the component. This can be used for automatic
* configuring JDBC data sources, JMS connection factories, AWS Clients,
* etc.
*/
private Boolean autowiredEnabled = true;
/**
* Set a custom StitchClient that implements
* org.apache.camel.component.stitch.client.StitchClient interface. The
* option is a org.apache.camel.component.stitch.client.StitchClient type.
*/
private StitchClient stitchClient;
/**
* Stitch access token for the Stitch Import API
*/
private String token;
public StitchConfiguration getConfiguration() {
return configuration;
}
public void setConfiguration(StitchConfiguration configuration) {
this.configuration = configuration;
}
public String getKeyNames() {
return keyNames;
}
public void setKeyNames(String keyNames) {
this.keyNames = keyNames;
}
public Boolean getLazyStartProducer() {
return lazyStartProducer;
}
public void setLazyStartProducer(Boolean lazyStartProducer) {
this.lazyStartProducer = lazyStartProducer;
}
public StitchRegion getRegion() {
return region;
}
public void setRegion(StitchRegion region) {
this.region = region;
}
public StitchSchema getStitchSchema() {
return stitchSchema;
}
public void setStitchSchema(StitchSchema stitchSchema) {
this.stitchSchema = stitchSchema;
}
public ConnectionProvider getConnectionProvider() {
return connectionProvider;
}
public void setConnectionProvider(ConnectionProvider connectionProvider) {
this.connectionProvider = connectionProvider;
}
public HttpClient getHttpClient() {
return httpClient;
}
public void setHttpClient(HttpClient httpClient) {
this.httpClient = httpClient;
}
public Boolean getAutowiredEnabled() {
return autowiredEnabled;
}
public void setAutowiredEnabled(Boolean autowiredEnabled) {
this.autowiredEnabled = autowiredEnabled;
}
public StitchClient getStitchClient() {
return stitchClient;
}
public void setStitchClient(StitchClient stitchClient) {
this.stitchClient = stitchClient;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
}