blob: 1942b8196ee06b59ab8f571db3a230062a2ddec8 [file] [log] [blame]
/*
* 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.builder.component.dsl;
import javax.annotation.Generated;
import org.apache.camel.Component;
import org.apache.camel.builder.component.AbstractComponentBuilder;
import org.apache.camel.builder.component.ComponentBuilder;
import org.apache.camel.component.vertx.http.VertxHttpComponent;
/**
* Camel HTTP client support with Vert.x
*
* Generated by camel-package-maven-plugin - do not edit this file!
*/
@Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
public interface VertxHttpComponentBuilderFactory {
/**
* Vert.x HTTP Client (camel-vertx-http)
* Camel HTTP client support with Vert.x
*
* Category: http
* Since: 3.5
* Maven coordinates: org.apache.camel:camel-vertx-http
*/
static VertxHttpComponentBuilder vertxHttp() {
return new VertxHttpComponentBuilderImpl();
}
/**
* Builder for the Vert.x HTTP Client component.
*/
interface VertxHttpComponentBuilder
extends
ComponentBuilder<VertxHttpComponent> {
/**
* 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.
*
* The option is a: <code>boolean</code> type.
*
* Default: false
* Group: producer
*/
default VertxHttpComponentBuilder lazyStartProducer(
boolean lazyStartProducer) {
doSetProperty("lazyStartProducer", lazyStartProducer);
return this;
}
/**
* Whether to allow java serialization when a request has the
* Content-Type application/x-java-serialized-object This is disabled by
* default. If you enable this, be aware that Java will deserialize the
* incoming data from the request. This can be a potential security
* risk.
*
* The option is a: <code>boolean</code> type.
*
* Default: false
* Group: advanced
*/
default VertxHttpComponentBuilder allowJavaSerializedObject(
boolean allowJavaSerializedObject) {
doSetProperty("allowJavaSerializedObject", allowJavaSerializedObject);
return this;
}
/**
* Whether the component should use basic property binding (Camel 2.x)
* or the newer property binding with additional capabilities.
*
* The option is a: <code>boolean</code> type.
*
* Default: false
* Group: advanced
*/
default VertxHttpComponentBuilder basicPropertyBinding(
boolean basicPropertyBinding) {
doSetProperty("basicPropertyBinding", basicPropertyBinding);
return this;
}
/**
* To use an existing vertx instead of creating a new instance.
*
* The option is a: <code>io.vertx.core.Vertx</code> type.
*
* Group: advanced
*/
default VertxHttpComponentBuilder vertx(io.vertx.core.Vertx vertx) {
doSetProperty("vertx", vertx);
return this;
}
/**
* A custom VertxHttpBinding which can control how to bind between
* Vert.x and Camel.
*
* The option is a:
* <code>org.apache.camel.component.vertx.http.VertxHttpBinding</code>
* type.
*
* Group: advanced
*/
default VertxHttpComponentBuilder vertxHttpBinding(
org.apache.camel.component.vertx.http.VertxHttpBinding vertxHttpBinding) {
doSetProperty("vertxHttpBinding", vertxHttpBinding);
return this;
}
/**
* To provide a custom set of vertx options for configuring vertx.
*
* The option is a: <code>io.vertx.core.VertxOptions</code> type.
*
* Group: advanced
*/
default VertxHttpComponentBuilder vertxOptions(
io.vertx.core.VertxOptions vertxOptions) {
doSetProperty("vertxOptions", vertxOptions);
return this;
}
/**
* To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
* header to and from Camel message.
*
* The option is a:
* <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
*
* Group: filter
*/
default VertxHttpComponentBuilder headerFilterStrategy(
org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
doSetProperty("headerFilterStrategy", headerFilterStrategy);
return this;
}
/**
* The proxy server host address.
*
* The option is a: <code>java.lang.String</code> type.
*
* Group: proxy
*/
default VertxHttpComponentBuilder proxyHost(java.lang.String proxyHost) {
doSetProperty("proxyHost", proxyHost);
return this;
}
/**
* The proxy server password if authentication is required.
*
* The option is a: <code>java.lang.String</code> type.
*
* Group: proxy
*/
default VertxHttpComponentBuilder proxyPassword(
java.lang.String proxyPassword) {
doSetProperty("proxyPassword", proxyPassword);
return this;
}
/**
* The proxy server port.
*
* The option is a: <code>java.lang.Integer</code> type.
*
* Group: proxy
*/
default VertxHttpComponentBuilder proxyPort(java.lang.Integer proxyPort) {
doSetProperty("proxyPort", proxyPort);
return this;
}
/**
* The proxy server type.
*
* The option is a: <code>io.vertx.core.net.ProxyType</code> type.
*
* Group: proxy
*/
default VertxHttpComponentBuilder proxyType(
io.vertx.core.net.ProxyType proxyType) {
doSetProperty("proxyType", proxyType);
return this;
}
/**
* The proxy server username if authentication is required.
*
* The option is a: <code>java.lang.String</code> type.
*
* Group: proxy
*/
default VertxHttpComponentBuilder proxyUsername(
java.lang.String proxyUsername) {
doSetProperty("proxyUsername", proxyUsername);
return this;
}
/**
* Enable usage of global SSL context parameters.
*
* The option is a: <code>boolean</code> type.
*
* Default: false
* Group: security
*/
default VertxHttpComponentBuilder useGlobalSslContextParameters(
boolean useGlobalSslContextParameters) {
doSetProperty("useGlobalSslContextParameters", useGlobalSslContextParameters);
return this;
}
}
class VertxHttpComponentBuilderImpl
extends
AbstractComponentBuilder<VertxHttpComponent>
implements
VertxHttpComponentBuilder {
@Override
protected VertxHttpComponent buildConcreteComponent() {
return new VertxHttpComponent();
}
@Override
protected boolean setPropertyOnComponent(
Component component,
String name,
Object value) {
switch (name) {
case "lazyStartProducer": ((VertxHttpComponent) component).setLazyStartProducer((boolean) value); return true;
case "allowJavaSerializedObject": ((VertxHttpComponent) component).setAllowJavaSerializedObject((boolean) value); return true;
case "basicPropertyBinding": ((VertxHttpComponent) component).setBasicPropertyBinding((boolean) value); return true;
case "vertx": ((VertxHttpComponent) component).setVertx((io.vertx.core.Vertx) value); return true;
case "vertxHttpBinding": ((VertxHttpComponent) component).setVertxHttpBinding((org.apache.camel.component.vertx.http.VertxHttpBinding) value); return true;
case "vertxOptions": ((VertxHttpComponent) component).setVertxOptions((io.vertx.core.VertxOptions) value); return true;
case "headerFilterStrategy": ((VertxHttpComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
case "proxyHost": ((VertxHttpComponent) component).setProxyHost((java.lang.String) value); return true;
case "proxyPassword": ((VertxHttpComponent) component).setProxyPassword((java.lang.String) value); return true;
case "proxyPort": ((VertxHttpComponent) component).setProxyPort((java.lang.Integer) value); return true;
case "proxyType": ((VertxHttpComponent) component).setProxyType((io.vertx.core.net.ProxyType) value); return true;
case "proxyUsername": ((VertxHttpComponent) component).setProxyUsername((java.lang.String) value); return true;
case "useGlobalSslContextParameters": ((VertxHttpComponent) component).setUseGlobalSslContextParameters((boolean) value); return true;
default: return false;
}
}
}
}