This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push: new d0be6d4 Ensure spi-annotations are in camel-api before compilation as shade plugin is too late. d0be6d4 is described below commit d0be6d4fa4c4a016dcfa838d257f771046660e4c Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Mon Feb 10 17:39:46 2020 +0100 Ensure spi-annotations are in camel-api before compilation as shade plugin is too late. --- core/camel-api/pom.xml | 34 ++--- .../java/org/apache/camel/spi/AsEndpointUri.java | 34 +++++ .../java/org/apache/camel/spi/AsPredicate.java | 39 +++++ .../java/org/apache/camel/spi/Metadata.java | 108 ++++++++++++++ .../java/org/apache/camel/spi/UriEndpoint.java | 166 +++++++++++++++++++++ .../java/org/apache/camel/spi/UriParam.java | 118 +++++++++++++++ .../java/org/apache/camel/spi/UriParams.java | 39 +++++ .../java/org/apache/camel/spi/UriPath.java | 101 +++++++++++++ .../camel/spi/annotations/CloudServiceFactory.java | 33 ++++ .../apache/camel/spi/annotations/Component.java | 33 ++++ .../camel/spi/annotations/ConstantProvider.java | 32 ++++ .../apache/camel/spi/annotations/Dataformat.java | 33 ++++ .../apache/camel/spi/annotations/JdkService.java | 33 ++++ .../org/apache/camel/spi/annotations/Language.java | 33 ++++ .../apache/camel/spi/annotations/SendDynamic.java | 33 ++++ .../camel/spi/annotations/ServiceFactory.java | 34 +++++ .../camel/spi/annotations/SubServiceFactory.java | 32 ++++ 17 files changed, 917 insertions(+), 18 deletions(-) diff --git a/core/camel-api/pom.xml b/core/camel-api/pom.xml index d496b63..301b8e2 100644 --- a/core/camel-api/pom.xml +++ b/core/camel-api/pom.xml @@ -17,7 +17,8 @@ limitations under the License. --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> @@ -34,18 +35,14 @@ <description>The Camel API</description> <properties> - <camel.osgi.export.pkg>$${replace;{local-packages};;;\;},org.apache.camel.spi.annotations</camel.osgi.export.pkg> + <camel.osgi.export.pkg>$${replace;{local-packages};;;\;},org.apache.camel.spi.annotations + </camel.osgi.export.pkg> </properties> <dependencies> <dependency> <groupId>org.apache.camel</groupId> - <artifactId>spi-annotations</artifactId> - </dependency> - - <dependency> - <groupId>org.apache.camel</groupId> <artifactId>camel-util</artifactId> </dependency> @@ -58,24 +55,25 @@ <build> <plugins> + + <!-- we want to embed spi-annotations directly in camel-api so they are always there --> <plugin> - <!-- shade spi-annotations into camel-api --> - <!-- so we these annotations embedded in camel-api --> <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-shade-plugin</artifactId> + <artifactId>maven-resources-plugin</artifactId> <executions> <execution> - <phase>package</phase> + <id>copy-spi-annotations</id> + <phase>validate</phase> <goals> - <goal>shade</goal> + <goal>copy-resources</goal> </goals> <configuration> - <artifactSet> - <includes> - <include>org.apache.camel:spi-annotations</include> - </includes> - </artifactSet> - <createDependencyReducedPom>true</createDependencyReducedPom> + <outputDirectory>${basedir}/src/generated/java</outputDirectory> + <resources> + <resource> + <directory>../../tooling/spi-annotations/src/main/java</directory> + </resource> + </resources> </configuration> </execution> </executions> diff --git a/core/camel-api/src/generated/java/org/apache/camel/spi/AsEndpointUri.java b/core/camel-api/src/generated/java/org/apache/camel/spi/AsEndpointUri.java new file mode 100644 index 0000000..86a6039 --- /dev/null +++ b/core/camel-api/src/generated/java/org/apache/camel/spi/AsEndpointUri.java @@ -0,0 +1,34 @@ +/* + * 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.spi; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Indicates that the Camel string/expression should be used as an endpoint uri. + * <p/> + * For example the EIPs which accepts uris as string/expression parameters. + */ +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Target({ElementType.TYPE, ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER}) +public @interface AsEndpointUri { +} diff --git a/core/camel-api/src/generated/java/org/apache/camel/spi/AsPredicate.java b/core/camel-api/src/generated/java/org/apache/camel/spi/AsPredicate.java new file mode 100644 index 0000000..2f1a71a --- /dev/null +++ b/core/camel-api/src/generated/java/org/apache/camel/spi/AsPredicate.java @@ -0,0 +1,39 @@ +/* + * 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.spi; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Indicates that the Camel language/expression should be used as predicate. + * <p/> + * For example the EIPs which accepts expression/languages may used them as either expression or predicate. + * This annotation is used to mark situation where they should be used as predicate. As by default they + * are used as expression. And example would be the Filter EIP which uses predicate. And the transform EIP + * uses an expression. + * <br/> + * Being able to distinguish between these two situations can be of importance to tooling. + */ +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Target({ElementType.TYPE, ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER}) +public @interface AsPredicate { +} diff --git a/core/camel-api/src/generated/java/org/apache/camel/spi/Metadata.java b/core/camel-api/src/generated/java/org/apache/camel/spi/Metadata.java new file mode 100644 index 0000000..873952d --- /dev/null +++ b/core/camel-api/src/generated/java/org/apache/camel/spi/Metadata.java @@ -0,0 +1,108 @@ +/* + * 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.spi; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Meta data for EIPs, components, data formats and other Camel concepts + * <p/> + * For example to associate labels to Camel components + */ +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Target({ElementType.TYPE, ElementType.METHOD, ElementType.FIELD}) +public @interface Metadata { + + /** + * A human display name of the parameter. + * <p/> + * This is used for documentation and tooling only. + */ + String displayName() default ""; + + /** + * To define one or more labels. + * <p/> + * Multiple labels can be defined as a comma separated value. + */ + String label() default ""; + + /** + * To define a default value. + */ + String defaultValue() default ""; + + /** + * To define that this entity is required. + */ + boolean required() default false; + + /** + * An optional human readable title of this entity, to be used instead of a computed title. + */ + String title() default ""; + + /** + * Returns a description of this entity. + * <p/> + * This is used for documentation and tooling only. + */ + String description() default ""; + + /** + * Allows to define enums this options accepts. + * <p/> + * If the type is already an enum, then this option should not be used; instead you can use + * this option when the type is a String that only accept certain values. + * <p/> + * Multiple values is separated by comma. + */ + String enums() default ""; + + /** + * Whether the option is secret/sensitive information such as a password. + */ + boolean secret() default false; + + /** + * To re-associate the preferred Java type of this parameter. + * <p/> + * This is used for parameters which are of a specialized type but can be configured by another Java type, such as from a String. + */ + String javaType() default ""; + + /** + * The first version this functionality was added to Apache Camel. + */ + String firstVersion() default ""; + + /** + * Additional description that can explain the user about the deprecation and give reference to what to use instead. + */ + String deprecationNote() default ""; + + /** + * Whether to skip this option + */ + boolean skip() default false; + +} diff --git a/core/camel-api/src/generated/java/org/apache/camel/spi/UriEndpoint.java b/core/camel-api/src/generated/java/org/apache/camel/spi/UriEndpoint.java new file mode 100644 index 0000000..8e770b2 --- /dev/null +++ b/core/camel-api/src/generated/java/org/apache/camel/spi/UriEndpoint.java @@ -0,0 +1,166 @@ +/* + * 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.spi; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Represents an annotated Camel <a href="http://camel.apache.org/endpoint.html">Endpoint</a> + * which can have its properties (and the properties on its consumer) injected from the + * Camel URI path and its query parameters + */ +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Target({ElementType.TYPE}) +public @interface UriEndpoint { + + /** + * The first version this endpoint was added to Apache Camel. + */ + String firstVersion() default ""; + + /** + * Represents the URI scheme name of this endpoint. + * <p/> + * Multiple scheme names can be defined as a comma separated value. + * For example to associate <tt>http</tt> and <tt>https</tt> to the same endpoint implementation. + * <p/> + * The order of the scheme names here should be the same order as in {@link #extendsScheme()} so their are paired. + * <p/> + * The schema name must be lowercase, it may contain dashes as well. For example: robot-framework. + */ + String scheme(); + + /** + * Used when an endpoint is extending another endpoint + * <p/> + * Multiple scheme names can be defined as a comma separated value. + * For example to associate <tt>ftp</tt> and <tt>ftps</tt> to the same endpoint implementation. + * The order of the scheme names here should be the same order as in {@link #scheme()} so their are paired. + */ + String extendsScheme() default ""; + + /** + * Represent the URI syntax the endpoint must use. + * <p/> + * The syntax follows the patterns such as: + * <ul> + * <li>scheme:host:port</li> + * <li>scheme:host:port/path</li> + * <li>scheme:path</li> + * <li>scheme:path/path2</li> + * </ul> + * Where each path maps to the name of the endpoint {@link org.apache.camel.spi.UriPath} option. + * The query parameters is implied and should not be included in the syntax. + * <p/> + * Some examples: + * <ul> + * <li>file:directoryName</li> + * <li>ftp:host:port/directoryName</li> + * <li>jms:destinationType:destinationName</li> + * </ul> + */ + String syntax(); + + /** + * If the endpoint supports specifying username and/or password in the UserInfo part of the URI, then the + * alternative syntax can represent this such as: + * <ul> + * <li>ftp:userName:password@host:port/directoryName</li> + * <li>ssh:username:password@host:port</li> + * </ul> + */ + String alternativeSyntax() default ""; + + /** + * Represents the consumer class which is injected and created by consumers + */ + @Deprecated + Class<?> consumerClass() default Object.class; + + /** + * The configuration parameter name prefix used on parameter names to separate the endpoint + * properties from the consumer properties + */ + String consumerPrefix() default ""; + + /** + * A human readable title of this entity, such as the component name of the this endpoint. + * <p/> + * For example: JMS, MQTT, Netty HTTP, SAP NetWeaver + */ + String title(); + + /** + * To associate this endpoint with label(s). + * <p/> + * Multiple labels can be defined as a comma separated value. + * <p/> + * The labels is intended for grouping the endpoints, such as <tt>core</tt>, <tt>file</tt>, <tt>messaging</tt>, <tt>database</tt>, etc. + */ + String label() default ""; + + /** + * Whether this endpoint can only be used as a producer. + * <p/> + * By default its assumed the endpoint can be used as both consumer and producer. + */ + boolean producerOnly() default false; + + /** + * Whether this endpoint can only be used as a consumer. + * <p/> + * By default its assumed the endpoint can be used as both consumer and producer. + */ + boolean consumerOnly() default false; + + /** + * Should all properties be known or does the endpoint allow unknown options? + * <p/> + * <tt>lenient = false</tt> means that the endpoint should validate that all + * given options is known and configured properly. + * <tt>lenient = true</tt> means that the endpoint allows additional unknown options to + * be passed to it but does not throw a ResolveEndpointFailedException when creating + * the endpoint. + * <p/> + * This options is used by a few components for instance the HTTP based that can have + * dynamic URI options appended that is targeted for an external system. + * <p/> + * Most endpoints is configured to be <b>not</b> lenient. + */ + boolean lenientProperties() default false; + + /** + * To exclude one or more properties in this endpoint. + * <p/> + * This is used when a Camel component extend another component, and then may need to not use some of the properties from + * the parent component. Multiple properties can be separated by comma. + */ + String excludeProperties() default ""; + + /** + * Generates source code for fast configuring of the endpoint properties which + * uses direct method invocation of getter/setters. + * Setting this to false will fallback to use reflection based introspection as Camel does in Camel 2.x. + */ + boolean generateConfigurer() default true; + +} \ No newline at end of file diff --git a/core/camel-api/src/generated/java/org/apache/camel/spi/UriParam.java b/core/camel-api/src/generated/java/org/apache/camel/spi/UriParam.java new file mode 100644 index 0000000..be6610a --- /dev/null +++ b/core/camel-api/src/generated/java/org/apache/camel/spi/UriParam.java @@ -0,0 +1,118 @@ +/* + * 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.spi; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Represents an injection point of a Camel Uri parameter value on an Endpoint or Consumer, usually configured via a URI style query parameter in a URI + */ +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Target({ElementType.FIELD }) +public @interface UriParam { + + /** + * Returns the name of the parameter. + * <p/> + * If this is not specified then the name of the field or property which has this annotation is used. + */ + String name() default ""; + + /** + * A human display name of the parameter. + * <p/> + * This is used for documentation and tooling only. + */ + String displayName() default ""; + + /** + * The default value of the parameter. + * <p/> + * Note that this attribute is only for documentation purpose. The default value in use at runtime is the value the Java field was assigned. + */ + String defaultValue() default ""; + + /** + * A special note about the default value. + * <p/> + * This can be used to document special cases about the default value. + */ + String defaultValueNote() default ""; + + /** + * Returns a description of this parameter. + * <p/> + * This is used for documentation and tooling only. + */ + String description() default ""; + + /** + * Allows to define enums this options accepts. + * <p/> + * If the type is already an enum, then this option should not be used; instead you can use + * this option when the type is a String that only accept certain values. + * <p/> + * Multiple values is separated by comma. + */ + String enums() default ""; + + /** + * To associate this parameter with label(s). + * <p/> + * Multiple labels can be defined as a comma separated value. + * <p/> + * The labels is intended for grouping the parameters, such as <tt>consumer</tt>, <tt>producer</tt>, <tt>common</tt>, <tt>security</tt>, etc. + */ + String label() default ""; + + /** + * Whether the option is secret/sensitive information such as a password. + */ + boolean secret() default false; + + /** + * To re-associate the preferred Java type of this parameter. + * <p/> + * This is used for parameters which are of a specialized type but can be configured by another Java type, such as from a String. + */ + String javaType() default ""; + + /** + * If the parameter can be configured multiple times, such as configuring options to a <tt>Map</tt> type. + */ + boolean multiValue() default false; + + /** + * If the parameter must be configured with a prefix. + * <p/> + * For example to configure scheduler options, the parameters is prefixed with <tt>scheduler.foo=bar</tt> + */ + String prefix() default ""; + + /** + * If the parameter can be configured with an optional prefix. + * <p/> + * For example to configure consumer options, the parameters can be prefixed with <tt>consumer.</tt>, eg <tt>consumer.delay=5000</tt> + */ + String optionalPrefix() default ""; + +} \ No newline at end of file diff --git a/core/camel-api/src/generated/java/org/apache/camel/spi/UriParams.java b/core/camel-api/src/generated/java/org/apache/camel/spi/UriParams.java new file mode 100644 index 0000000..48f56729 --- /dev/null +++ b/core/camel-api/src/generated/java/org/apache/camel/spi/UriParams.java @@ -0,0 +1,39 @@ +/* + * 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.spi; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Used to annotate a nested configuration parameter type (such as a nested Configuration object) which can then be used on a + * Component, Endpoint and/or Consumer and then be configured via Camel URI query arguments. + */ +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Target({ElementType.TYPE }) +public @interface UriParams { + + /** + * Returns the prefix used to access nested properties of this configuration object + */ + String prefix() default ""; + +} \ No newline at end of file diff --git a/core/camel-api/src/generated/java/org/apache/camel/spi/UriPath.java b/core/camel-api/src/generated/java/org/apache/camel/spi/UriPath.java new file mode 100644 index 0000000..2bcdfc9 --- /dev/null +++ b/core/camel-api/src/generated/java/org/apache/camel/spi/UriPath.java @@ -0,0 +1,101 @@ +/* + * 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.spi; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Represents an injection point of a Camel Uri path value (the remaining part of a Camel URI without any query arguments) + */ +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Target({ElementType.FIELD }) +public @interface UriPath { + + /** + * Returns the name of the uri path. + * <p/> + * This can be used to name the uri path something meaningful, such as a <tt>directory</tt>, <tt>queueName</tt> etc. + * <p/> + * If this is not specified then the name of the field or property which has this annotation is used. + */ + String name() default ""; + + /** + * A human display name of the parameter. + * <p/> + * This is used for documentation and tooling only. + */ + String displayName() default ""; + + /** + * The default value of the parameter. + * <p/> + * Note that this attribute is only for documentation purpose. The default value in use at runtime is the value the Java field was assigned. + */ + String defaultValue() default ""; + + /** + * A special note about the default value. + * <p/> + * This can be used to document special cases about the default value. + */ + String defaultValueNote() default ""; + + /** + * Returns a description of this uri path + * <p/> + * This is used for documentation and tooling only. + */ + String description() default ""; + + /** + * Allows to define enums this options accepts. + * <p/> + * If the type is already an enum, then this option should not be used; instead you can use + * this option when the type is a String that only accept certain values. + * <p/> + * Multiple values is separated by comma. + */ + String enums() default ""; + + /** + * To associate this path value with label(s). + * <p/> + * Multiple labels can be defined as a comma separated value. + * <p/> + * The labels is intended for grouping the parameters, such as <tt>consumer</tt>, <tt>producer</tt>, <tt>common</tt>, <tt>security</tt>, etc. + */ + String label() default ""; + + /** + * Whether the option is secret/sensitive information such as a password. + */ + boolean secret() default false; + + /** + * To re-associate the preferred Java type of this parameter. + * <p/> + * This is used for parameters which are of a specialized type but can be configured by another Java type, such as from a String. + */ + String javaType() default ""; + +} \ No newline at end of file diff --git a/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/CloudServiceFactory.java b/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/CloudServiceFactory.java new file mode 100644 index 0000000..e6e4b79 --- /dev/null +++ b/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/CloudServiceFactory.java @@ -0,0 +1,33 @@ +/* + * 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.spi.annotations; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Target({ElementType.TYPE }) +@ServiceFactory("cloud") +public @interface CloudServiceFactory { + + String value(); + +} diff --git a/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/Component.java b/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/Component.java new file mode 100644 index 0000000..42a774f --- /dev/null +++ b/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/Component.java @@ -0,0 +1,33 @@ +/* + * 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.spi.annotations; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Target({ElementType.TYPE }) +@ServiceFactory("component") +public @interface Component { + + String value(); + +} diff --git a/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/ConstantProvider.java b/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/ConstantProvider.java new file mode 100644 index 0000000..1a93df6 --- /dev/null +++ b/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/ConstantProvider.java @@ -0,0 +1,32 @@ +/* + * 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.spi.annotations; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Target({ElementType.TYPE }) +public @interface ConstantProvider { + + String value(); + +} diff --git a/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/Dataformat.java b/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/Dataformat.java new file mode 100644 index 0000000..ac3b915 --- /dev/null +++ b/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/Dataformat.java @@ -0,0 +1,33 @@ +/* + * 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.spi.annotations; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Target({ElementType.TYPE }) +@ServiceFactory("dataformat") +public @interface Dataformat { + + String value(); + +} diff --git a/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/JdkService.java b/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/JdkService.java new file mode 100644 index 0000000..35f9489 --- /dev/null +++ b/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/JdkService.java @@ -0,0 +1,33 @@ +/* + * 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.spi.annotations; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Target({ElementType.TYPE }) +@ServiceFactory(ServiceFactory.JDK_SERVICE) +public @interface JdkService { + + Class value(); + +} diff --git a/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/Language.java b/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/Language.java new file mode 100644 index 0000000..2988513 --- /dev/null +++ b/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/Language.java @@ -0,0 +1,33 @@ +/* + * 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.spi.annotations; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Target({ElementType.TYPE }) +@ServiceFactory("language") +public @interface Language { + + String value(); + +} diff --git a/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/SendDynamic.java b/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/SendDynamic.java new file mode 100644 index 0000000..d4aadd2 --- /dev/null +++ b/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/SendDynamic.java @@ -0,0 +1,33 @@ +/* + * 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.spi.annotations; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Target({ElementType.TYPE }) +@ServiceFactory("send-dynamic") +public @interface SendDynamic { + + String value(); + +} diff --git a/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/ServiceFactory.java b/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/ServiceFactory.java new file mode 100644 index 0000000..3afc2fa --- /dev/null +++ b/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/ServiceFactory.java @@ -0,0 +1,34 @@ +/* + * 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.spi.annotations; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Target({ElementType.TYPE }) +public @interface ServiceFactory { + + String JDK_SERVICE = "#jdk#"; + + String value(); + +} diff --git a/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/SubServiceFactory.java b/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/SubServiceFactory.java new file mode 100644 index 0000000..ec16498 --- /dev/null +++ b/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/SubServiceFactory.java @@ -0,0 +1,32 @@ +/* + * 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.spi.annotations; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Target({ElementType.TYPE }) +public @interface SubServiceFactory { + + String value(); + +}