You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2019/06/07 08:05:07 UTC

[camel] branch endpoint-dsl updated: Use default methods and use interface inheritance to easily bring the endpoints into the DSL

This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch endpoint-dsl
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/endpoint-dsl by this push:
     new c2dd5c8  Use default methods and use interface inheritance to easily bring the endpoints into the DSL
c2dd5c8 is described below

commit c2dd5c80a82ad982127105f9ae5afde674bbe214
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Jun 7 09:49:44 2019 +0200

    Use default methods and use interface inheritance to easily bring the endpoints into the DSL
---
 .../apache/camel/model/endpoint/AMQPEndpoint.java  |   8 +-
 .../apache/camel/model/endpoint/AS2Endpoint.java   |   8 +-
 .../camel/model/endpoint/ActiveMQEndpoint.java     |   8 +-
 .../apache/camel/model/endpoint/AhcEndpoint.java   |   5 +-
 .../apache/camel/model/endpoint/ApnsEndpoint.java  |   8 +-
 .../camel/model/endpoint/AsteriskEndpoint.java     |   8 +-
 .../apache/camel/model/endpoint/AtmosEndpoint.java |   8 +-
 .../endpoint/AtmosphereWebsocketEndpoint.java      |   9 +-
 .../apache/camel/model/endpoint/AtomEndpoint.java  |   5 +-
 .../camel/model/endpoint/AtomixMapEndpoint.java    |   8 +-
 .../model/endpoint/AtomixMessagingEndpoint.java    |   8 +-
 .../model/endpoint/AtomixMultiMapEndpoint.java     |   5 +-
 .../camel/model/endpoint/AtomixQueueEndpoint.java  |   8 +-
 .../camel/model/endpoint/AtomixSetEndpoint.java    |   8 +-
 .../camel/model/endpoint/AtomixValueEndpoint.java  |   8 +-
 .../apache/camel/model/endpoint/AvroEndpoint.java  |   8 +-
 .../apache/camel/model/endpoint/BeanEndpoint.java  |   5 +-
 .../model/endpoint/BeanValidatorEndpoint.java      |   5 +-
 .../camel/model/endpoint/BeanstalkEndpoint.java    |   8 +-
 .../camel/model/endpoint/BlobServiceEndpoint.java  |   8 +-
 .../camel/model/endpoint/BonitaEndpoint.java       |   5 +-
 .../apache/camel/model/endpoint/BoxEndpoint.java   |   8 +-
 .../camel/model/endpoint/BraintreeEndpoint.java    |   8 +-
 .../camel/model/endpoint/BrowseEndpoint.java       |   8 +-
 .../apache/camel/model/endpoint/CMEndpoint.java    |   5 +-
 .../apache/camel/model/endpoint/CMISEndpoint.java  |   8 +-
 .../model/endpoint/CaffeineCacheEndpoint.java      |   8 +-
 .../model/endpoint/CaffeineLoadCacheEndpoint.java  |   8 +-
 .../camel/model/endpoint/CassandraEndpoint.java    |   8 +-
 .../camel/model/endpoint/ChatScriptEndpoint.java   |   5 +-
 .../apache/camel/model/endpoint/ChunkEndpoint.java |   5 +-
 .../camel/model/endpoint/CinderEndpoint.java       |   5 +-
 .../apache/camel/model/endpoint/ClassEndpoint.java |   5 +-
 .../camel/model/endpoint/ClientEndpoint.java       |   8 +-
 .../apache/camel/model/endpoint/CoAPEndpoint.java  |   8 +-
 .../camel/model/endpoint/CometdEndpoint.java       |   8 +-
 .../camel/model/endpoint/ConsulEndpoint.java       |   8 +-
 .../camel/model/endpoint/ControlBusEndpoint.java   |   5 +-
 .../apache/camel/model/endpoint/CordaEndpoint.java |   8 +-
 .../camel/model/endpoint/CouchDbEndpoint.java      |   8 +-
 .../camel/model/endpoint/CouchbaseEndpoint.java    |   8 +-
 .../camel/model/endpoint/CryptoCmsEndpoint.java    |   5 +-
 .../apache/camel/model/endpoint/CwEndpoint.java    |   5 +-
 .../apache/camel/model/endpoint/CxfEndpoint.java   |   8 +-
 .../apache/camel/model/endpoint/CxfRsEndpoint.java |   8 +-
 .../camel/model/endpoint/DataFormatEndpoint.java   |   5 +-
 .../camel/model/endpoint/DataSetEndpoint.java      |   8 +-
 .../camel/model/endpoint/DataSetTestEndpoint.java  |   5 +-
 .../apache/camel/model/endpoint/DdbEndpoint.java   |   5 +-
 .../camel/model/endpoint/DdbStreamEndpoint.java    |   5 +-
 .../camel/model/endpoint/DigitalOceanEndpoint.java |   5 +-
 .../model/endpoint/DigitalSignatureEndpoint.java   |   5 +-
 .../camel/model/endpoint/DirectEndpoint.java       |   8 +-
 .../camel/model/endpoint/DirectVmEndpoint.java     |   8 +-
 .../camel/model/endpoint/DisruptorEndpoint.java    |   8 +-
 .../camel/model/endpoint/DisruptorVmEndpoint.java  |   8 +-
 .../apache/camel/model/endpoint/DnsEndpoint.java   |   5 +-
 .../camel/model/endpoint/DockerEndpoint.java       |   8 +-
 .../apache/camel/model/endpoint/DozerEndpoint.java |   5 +-
 .../apache/camel/model/endpoint/DrillEndpoint.java |   5 +-
 .../camel/model/endpoint/DropboxEndpoint.java      |   8 +-
 .../apache/camel/model/endpoint/EC2Endpoint.java   |   5 +-
 .../apache/camel/model/endpoint/ECSEndpoint.java   |   5 +-
 .../apache/camel/model/endpoint/EKSEndpoint.java   |   5 +-
 .../camel/model/endpoint/EhcacheEndpoint.java      |   8 +-
 .../apache/camel/model/endpoint/EjbEndpoint.java   |   5 +-
 .../model/endpoint/ElasticsearchEndpoint.java      |   5 +-
 .../apache/camel/model/endpoint/ElsqlEndpoint.java |   8 +-
 .../camel/model/endpoint/EndpointBuilder.java      | 317 +++++++++++++++++++++
 .../apache/camel/model/endpoint/EtcdEndpoint.java  |   8 +-
 .../camel/model/endpoint/EventAdminEndpoint.java   |   8 +-
 .../apache/camel/model/endpoint/EventEndpoint.java |   8 +-
 .../apache/camel/model/endpoint/ExecEndpoint.java  |   5 +-
 .../camel/model/endpoint/FacebookEndpoint.java     |   8 +-
 .../apache/camel/model/endpoint/FhirEndpoint.java  |   8 +-
 .../apache/camel/model/endpoint/FileEndpoint.java  |   8 +-
 .../camel/model/endpoint/FlatpackEndpoint.java     |   8 +-
 .../apache/camel/model/endpoint/FlinkEndpoint.java |   5 +-
 .../apache/camel/model/endpoint/FopEndpoint.java   |   5 +-
 .../camel/model/endpoint/FreemarkerEndpoint.java   |   5 +-
 .../apache/camel/model/endpoint/FtpEndpoint.java   |   8 +-
 .../apache/camel/model/endpoint/FtpsEndpoint.java  |   8 +-
 .../camel/model/endpoint/GangliaEndpoint.java      |   5 +-
 .../camel/model/endpoint/GeoCoderEndpoint.java     |   5 +-
 .../apache/camel/model/endpoint/GitEndpoint.java   |   8 +-
 .../camel/model/endpoint/GitHubEndpoint.java       |   8 +-
 .../camel/model/endpoint/GlanceEndpoint.java       |   5 +-
 .../model/endpoint/GoogleBigQueryEndpoint.java     |   5 +-
 .../model/endpoint/GoogleBigQuerySQLEndpoint.java  |   5 +-
 .../model/endpoint/GoogleCalendarEndpoint.java     |   8 +-
 .../endpoint/GoogleCalendarStreamEndpoint.java     |   6 +-
 .../camel/model/endpoint/GoogleDriveEndpoint.java  |   8 +-
 .../camel/model/endpoint/GoogleMailEndpoint.java   |   8 +-
 .../model/endpoint/GoogleMailStreamEndpoint.java   |   5 +-
 .../camel/model/endpoint/GooglePubsubEndpoint.java |   8 +-
 .../camel/model/endpoint/GoogleSheetsEndpoint.java |   8 +-
 .../model/endpoint/GoogleSheetsStreamEndpoint.java |   5 +-
 .../apache/camel/model/endpoint/GoraEndpoint.java  |   8 +-
 .../apache/camel/model/endpoint/GrapeEndpoint.java |   5 +-
 .../camel/model/endpoint/GridFsEndpoint.java       |   8 +-
 .../apache/camel/model/endpoint/GrpcEndpoint.java  |   8 +-
 .../model/endpoint/GuavaEventBusEndpoint.java      |   8 +-
 .../apache/camel/model/endpoint/HBaseEndpoint.java |   8 +-
 .../endpoint/HazelcastAtomicnumberEndpoint.java    |   6 +-
 .../model/endpoint/HazelcastInstanceEndpoint.java  |   5 +-
 .../model/endpoint/HazelcastListEndpoint.java      |   8 +-
 .../camel/model/endpoint/HazelcastMapEndpoint.java |   8 +-
 .../model/endpoint/HazelcastMultimapEndpoint.java  |   8 +-
 .../model/endpoint/HazelcastQueueEndpoint.java     |   8 +-
 .../endpoint/HazelcastReplicatedmapEndpoint.java   |  10 +-
 .../endpoint/HazelcastRingbufferEndpoint.java      |   5 +-
 .../model/endpoint/HazelcastSedaEndpoint.java      |   8 +-
 .../camel/model/endpoint/HazelcastSetEndpoint.java |   8 +-
 .../model/endpoint/HazelcastTopicEndpoint.java     |   8 +-
 .../apache/camel/model/endpoint/HdfsEndpoint.java  |   8 +-
 .../camel/model/endpoint/HipchatEndpoint.java      |   8 +-
 .../apache/camel/model/endpoint/HttpEndpoint.java  |   5 +-
 .../apache/camel/model/endpoint/IAMEndpoint.java   |   5 +-
 .../apache/camel/model/endpoint/IOTAEndpoint.java  |   8 +-
 .../apache/camel/model/endpoint/IPFSEndpoint.java  |   5 +-
 .../camel/model/endpoint/IgniteCacheEndpoint.java  |   8 +-
 .../model/endpoint/IgniteComputeEndpoint.java      |   5 +-
 .../camel/model/endpoint/IgniteEventsEndpoint.java |   5 +-
 .../camel/model/endpoint/IgniteIdGenEndpoint.java  |   5 +-
 .../model/endpoint/IgniteMessagingEndpoint.java    |   8 +-
 .../camel/model/endpoint/IgniteQueueEndpoint.java  |   5 +-
 .../camel/model/endpoint/IgniteSetEndpoint.java    |   5 +-
 .../camel/model/endpoint/InfinispanEndpoint.java   |   8 +-
 .../camel/model/endpoint/InfluxDbEndpoint.java     |   5 +-
 .../apache/camel/model/endpoint/IrcEndpoint.java   |   8 +-
 .../camel/model/endpoint/IronMQEndpoint.java       |   8 +-
 .../apache/camel/model/endpoint/JBPMEndpoint.java  |   8 +-
 .../camel/model/endpoint/JCacheEndpoint.java       |   8 +-
 .../camel/model/endpoint/JGroupsEndpoint.java      |   8 +-
 .../camel/model/endpoint/JGroupsRaftEndpoint.java  |   8 +-
 .../apache/camel/model/endpoint/JMXEndpoint.java   |   5 +-
 .../model/endpoint/JSR356WebSocketEndpoint.java    |   8 +-
 .../camel/model/endpoint/JcloudsEndpoint.java      |   8 +-
 .../apache/camel/model/endpoint/JcrEndpoint.java   |   8 +-
 .../apache/camel/model/endpoint/JdbcEndpoint.java  |   5 +-
 .../camel/model/endpoint/JettyHttpEndpoint9.java   |   8 +-
 .../apache/camel/model/endpoint/JingEndpoint.java  |   5 +-
 .../apache/camel/model/endpoint/JiraEndpoint.java  |   8 +-
 .../apache/camel/model/endpoint/JmsEndpoint.java   |   8 +-
 .../apache/camel/model/endpoint/JoltEndpoint.java  |   5 +-
 .../apache/camel/model/endpoint/JooqEndpoint.java  |   8 +-
 .../apache/camel/model/endpoint/JpaEndpoint.java   |   8 +-
 .../model/endpoint/JsonValidatorEndpoint.java      |   5 +-
 .../apache/camel/model/endpoint/Jt400Endpoint.java |   8 +-
 .../apache/camel/model/endpoint/KMSEndpoint.java   |   5 +-
 .../apache/camel/model/endpoint/KafkaEndpoint.java |   8 +-
 .../camel/model/endpoint/KeystoneEndpoint.java     |   5 +-
 .../camel/model/endpoint/KinesisEndpoint.java      |   8 +-
 .../model/endpoint/KinesisFirehoseEndpoint.java    |   5 +-
 .../endpoint/KubernetesConfigMapsEndpoint.java     |   6 +-
 .../endpoint/KubernetesDeploymentsEndpoint.java    |  10 +-
 .../model/endpoint/KubernetesHPAEndpoint.java      |   8 +-
 .../model/endpoint/KubernetesJobEndpoint.java      |   8 +-
 .../endpoint/KubernetesNamespacesEndpoint.java     |  10 +-
 .../model/endpoint/KubernetesNodesEndpoint.java    |   8 +-
 .../KubernetesPersistentVolumesClaimsEndpoint.java |   6 +-
 .../KubernetesPersistentVolumesEndpoint.java       |   6 +-
 .../model/endpoint/KubernetesPodsEndpoint.java     |   8 +-
 .../KubernetesReplicationControllersEndpoint.java  |  10 +-
 .../endpoint/KubernetesResourcesQuotaEndpoint.java |   6 +-
 .../model/endpoint/KubernetesSecretsEndpoint.java  |   5 +-
 .../KubernetesServiceAccountsEndpoint.java         |   6 +-
 .../model/endpoint/KubernetesServicesEndpoint.java |   8 +-
 .../camel/model/endpoint/LambdaEndpoint.java       |   5 +-
 .../camel/model/endpoint/LanguageEndpoint.java     |   5 +-
 .../apache/camel/model/endpoint/LdapEndpoint.java  |   5 +-
 .../apache/camel/model/endpoint/LdifEndpoint.java  |   5 +-
 .../camel/model/endpoint/LinkedInEndpoint.java     |   8 +-
 .../apache/camel/model/endpoint/LogEndpoint.java   |   5 +-
 .../camel/model/endpoint/LuceneEndpoint.java       |   5 +-
 .../camel/model/endpoint/LumberjackEndpoint.java   |   5 +-
 .../apache/camel/model/endpoint/MQEndpoint.java    |   5 +-
 .../apache/camel/model/endpoint/MQTTEndpoint.java  |   8 +-
 .../apache/camel/model/endpoint/MSKEndpoint.java   |   5 +-
 .../apache/camel/model/endpoint/MailEndpoint.java  |   8 +-
 .../camel/model/endpoint/MasterEndpoint.java       |   5 +-
 .../camel/model/endpoint/MetricsEndpoint.java      |   5 +-
 .../camel/model/endpoint/MicrometerEndpoint.java   |   5 +-
 .../camel/model/endpoint/MiloClientEndpoint.java   |   8 +-
 .../camel/model/endpoint/MiloServerEndpoint.java   |   8 +-
 .../apache/camel/model/endpoint/Mina2Endpoint.java |   8 +-
 .../apache/camel/model/endpoint/MllpEndpoint.java  |   8 +-
 .../apache/camel/model/endpoint/MockEndpoint.java  |   5 +-
 .../camel/model/endpoint/MongoDbEndpoint.java      |   8 +-
 .../apache/camel/model/endpoint/MsvEndpoint.java   |   5 +-
 .../camel/model/endpoint/MustacheEndpoint.java     |   5 +-
 .../apache/camel/model/endpoint/MvelEndpoint.java  |   5 +-
 .../camel/model/endpoint/MyBatisBeanEndpoint.java  |   5 +-
 .../camel/model/endpoint/MyBatisEndpoint.java      |   8 +-
 .../camel/model/endpoint/NagiosEndpoint.java       |   5 +-
 .../apache/camel/model/endpoint/NatsEndpoint.java  |   8 +-
 .../camel/model/endpoint/NetWeaverEndpoint.java    |   5 +-
 .../apache/camel/model/endpoint/NettyEndpoint.java |   8 +-
 .../camel/model/endpoint/NettyHttpEndpoint.java    |   8 +-
 .../camel/model/endpoint/NeutronEndpoint.java      |   5 +-
 .../apache/camel/model/endpoint/NovaEndpoint.java  |   5 +-
 .../apache/camel/model/endpoint/NsqEndpoint.java   |   8 +-
 .../camel/model/endpoint/Olingo2Endpoint.java      |   8 +-
 .../camel/model/endpoint/Olingo4Endpoint.java      |   8 +-
 .../endpoint/OpenshiftBuildConfigsEndpoint.java    |   6 +-
 .../model/endpoint/OpenshiftBuildsEndpoint.java    |   5 +-
 .../camel/model/endpoint/OptaPlannerEndpoint.java  |   8 +-
 .../apache/camel/model/endpoint/PahoEndpoint.java  |   8 +-
 .../camel/model/endpoint/PaxLoggingEndpoint.java   |   5 +-
 .../apache/camel/model/endpoint/PdfEndpoint.java   |   5 +-
 .../camel/model/endpoint/PgEventEndpoint.java      |   8 +-
 .../camel/model/endpoint/PrinterEndpoint.java      |   5 +-
 .../camel/model/endpoint/PropertiesEndpoint.java   |   8 +-
 .../camel/model/endpoint/PubNubEndpoint.java       |   8 +-
 .../camel/model/endpoint/PulsarEndpoint.java       |   8 +-
 .../camel/model/endpoint/QuartzEndpoint.java       |   5 +-
 .../camel/model/endpoint/QueueServiceEndpoint.java |   8 +-
 .../camel/model/endpoint/QuickfixjEndpoint.java    |   8 +-
 .../camel/model/endpoint/RabbitMQEndpoint.java     |   8 +-
 .../model/endpoint/ReactiveStreamsEndpoint.java    |   8 +-
 .../apache/camel/model/endpoint/RedisEndpoint.java |   8 +-
 .../apache/camel/model/endpoint/RefEndpoint.java   |   8 +-
 .../camel/model/endpoint/RestApiEndpoint.java      |   5 +-
 .../apache/camel/model/endpoint/RestEndpoint.java  |   8 +-
 .../camel/model/endpoint/RestSwaggerEndpoint.java  |   5 +-
 .../camel/model/endpoint/RestletEndpoint.java      |   8 +-
 .../apache/camel/model/endpoint/RssEndpoint.java   |   5 +-
 .../apache/camel/model/endpoint/S3Endpoint.java    |   8 +-
 .../apache/camel/model/endpoint/SWFEndpoint.java   |   8 +-
 .../apache/camel/model/endpoint/SagaEndpoint.java  |   5 +-
 .../camel/model/endpoint/SalesforceEndpoint.java   |   8 +-
 .../camel/model/endpoint/SchedulerEndpoint.java    |   5 +-
 .../camel/model/endpoint/SchematronEndpoint.java   |   5 +-
 .../apache/camel/model/endpoint/ScpEndpoint.java   |   5 +-
 .../apache/camel/model/endpoint/SdbEndpoint.java   |   5 +-
 .../apache/camel/model/endpoint/SedaEndpoint.java  |   8 +-
 .../camel/model/endpoint/ServerEndpoint.java       |   8 +-
 .../camel/model/endpoint/ServiceEndpoint.java      |   5 +-
 .../camel/model/endpoint/ServiceNowEndpoint.java   |   5 +-
 .../camel/model/endpoint/ServletEndpoint.java      |   5 +-
 .../apache/camel/model/endpoint/SesEndpoint.java   |   5 +-
 .../apache/camel/model/endpoint/SftpEndpoint.java  |   8 +-
 .../apache/camel/model/endpoint/SipEndpoint.java   |   8 +-
 .../apache/camel/model/endpoint/Sjms2Endpoint.java |   8 +-
 .../camel/model/endpoint/SjmsBatchEndpoint.java    |   5 +-
 .../apache/camel/model/endpoint/SjmsEndpoint.java  |   8 +-
 .../apache/camel/model/endpoint/SlackEndpoint.java |   8 +-
 .../apache/camel/model/endpoint/SmppEndpoint.java  |   8 +-
 .../apache/camel/model/endpoint/SnmpEndpoint.java  |   5 +-
 .../apache/camel/model/endpoint/SnsEndpoint.java   |   5 +-
 .../apache/camel/model/endpoint/SolrEndpoint.java  |   5 +-
 .../camel/model/endpoint/SoroushBotEndpoint.java   |   8 +-
 .../apache/camel/model/endpoint/SparkEndpoint.java |   5 +-
 .../camel/model/endpoint/SplunkEndpoint.java       |   8 +-
 .../camel/model/endpoint/SpringBatchEndpoint.java  |   5 +-
 .../model/endpoint/SpringIntegrationEndpoint.java  |   8 +-
 .../camel/model/endpoint/SpringLdapEndpoint.java   |   5 +-
 .../model/endpoint/SpringWebserviceEndpoint.java   |   8 +-
 .../apache/camel/model/endpoint/SqlEndpoint.java   |   8 +-
 .../camel/model/endpoint/SqlStoredEndpoint.java    |   5 +-
 .../apache/camel/model/endpoint/SqsEndpoint.java   |   8 +-
 .../apache/camel/model/endpoint/SshEndpoint.java   |   8 +-
 .../apache/camel/model/endpoint/StAXEndpoint.java  |   5 +-
 .../apache/camel/model/endpoint/StompEndpoint.java |   8 +-
 .../camel/model/endpoint/StreamEndpoint.java       |   8 +-
 .../model/endpoint/StringTemplateEndpoint.java     |   5 +-
 .../apache/camel/model/endpoint/StubEndpoint.java  |   8 +-
 .../apache/camel/model/endpoint/SwiftEndpoint.java |   5 +-
 .../camel/model/endpoint/TelegramEndpoint.java     |   8 +-
 .../camel/model/endpoint/ThriftEndpoint.java       |   8 +-
 .../apache/camel/model/endpoint/TikaEndpoint.java  |   5 +-
 .../apache/camel/model/endpoint/TimerEndpoint.java |   5 +-
 .../camel/model/endpoint/TwilioEndpoint.java       |   8 +-
 .../endpoint/TwitterDirectMessageEndpoint.java     |  10 +-
 .../model/endpoint/TwitterSearchEndpoint.java      |   8 +-
 .../model/endpoint/TwitterStreamingEndpoint.java   |   5 +-
 .../model/endpoint/TwitterTimelineEndpoint.java    |   8 +-
 .../camel/model/endpoint/UndertowEndpoint.java     |   8 +-
 .../camel/model/endpoint/ValidatorEndpoint.java    |   5 +-
 .../camel/model/endpoint/VelocityEndpoint.java     |   5 +-
 .../apache/camel/model/endpoint/VertxEndpoint.java |   8 +-
 .../apache/camel/model/endpoint/VmEndpoint.java    |   8 +-
 .../camel/model/endpoint/WeatherEndpoint.java      |   8 +-
 .../apache/camel/model/endpoint/Web3jEndpoint.java |   8 +-
 .../camel/model/endpoint/WebhookEndpoint.java      |   5 +-
 .../camel/model/endpoint/WebsocketEndpoint.java    |   8 +-
 .../camel/model/endpoint/WordpressEndpoint.java    |   8 +-
 .../apache/camel/model/endpoint/WsEndpoint.java    |   8 +-
 .../camel/model/endpoint/XChangeEndpoint.java      |   5 +-
 .../camel/model/endpoint/XQueryEndpoint.java       |   8 +-
 .../camel/model/endpoint/XmlSignatureEndpoint.java |   5 +-
 .../apache/camel/model/endpoint/XmppEndpoint.java  |   8 +-
 .../apache/camel/model/endpoint/XsltEndpoint.java  |   5 +-
 .../camel/model/endpoint/YammerEndpoint.java       |   8 +-
 .../camel/model/endpoint/ZendeskEndpoint.java      |   8 +-
 .../camel/model/endpoint/ZooKeeperEndpoint.java    |   8 +-
 .../model/endpoint/ZooKeeperMasterEndpoint.java    |   5 +-
 .../component/file/FileConsumeCharsetTest.java     |  15 +-
 .../camel/maven/packaging/EndpointDslMojo.java     |  15 +
 .../camel/maven/packaging/srcgen/JavaClass.java    |  14 +-
 .../camel/maven/packaging/srcgen/Method.java       |   6 +
 301 files changed, 2064 insertions(+), 309 deletions(-)

diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AMQPEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AMQPEndpoint.java
index 2c76327..6f93dfa 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AMQPEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AMQPEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.HeaderFilterStrategy;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class AMQPEndpoint {
+public interface AMQPEndpoint {
 
 
     public static class AMQPCommon<T extends EndpointDefinition>
@@ -1118,4 +1118,10 @@ public class AMQPEndpoint {
     public static enum ReplyToType {
         Temporary, Shared, Exclusive;
     }
+    public default AMQPConsumer fromAMQP(String path) {
+        return new AMQPConsumer(path);
+    }
+    public default AMQPProducer toAMQP(String path) {
+        return new AMQPProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AS2Endpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AS2Endpoint.java
index 1428b78..92eedce 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AS2Endpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AS2Endpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class AS2Endpoint {
+public interface AS2Endpoint {
 
 
     public static class AS2Common<T extends EndpointDefinition>
@@ -368,4 +368,10 @@ public class AS2Endpoint {
     public static enum AS2SignatureAlgorithm {
         SHA3_224WITHRSA, SHA3_256WITHRSA, SHA3_384withRSA, SHA3_512WITHRSA, MD5WITHRSA, SHA1WITHRSA, MD2WITHRSA, SHA224WITHRSA, SHA256WITHRSA, SHA384WITHRSA, SHA512WITHRSA, RIPEMD128WITHRSA, RIPEMD160WITHRSA, RIPEMD256WITHRSA, SHA224WITHDSA, SHA256WITHDSA, SHA384WITHDSA, SHA512WITHDSA, SHA3_224WITHDSA, SHA3_256WITHDSA, SHA3_384WITHDSA, SHA3_512WITHDSA, SHA1WITHDSA, SHA3_224WITHECDSA, SHA3_256WITHECDSA, SHA3_384WITHECDSA, SHA3_512WITHECDSA, SHA1WITHECDSA, SHA224WITHECDSA, SHA256WITHECDSA, [...]
     }
+    public default AS2Consumer fromAS2(String path) {
+        return new AS2Consumer(path);
+    }
+    public default AS2Producer toAS2(String path) {
+        return new AS2Producer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ActiveMQEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ActiveMQEndpoint.java
index e10f2eb..15800a1 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ActiveMQEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ActiveMQEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.HeaderFilterStrategy;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class ActiveMQEndpoint {
+public interface ActiveMQEndpoint {
 
 
     public static class ActiveMQCommon<T extends EndpointDefinition>
@@ -1124,4 +1124,10 @@ public class ActiveMQEndpoint {
     public static enum ReplyToType {
         Temporary, Shared, Exclusive;
     }
+    public default ActiveMQConsumer fromActiveMQ(String path) {
+        return new ActiveMQConsumer(path);
+    }
+    public default ActiveMQProducer toActiveMQ(String path) {
+        return new ActiveMQProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AhcEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AhcEndpoint.java
index 699874f..229011d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AhcEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AhcEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.HeaderFilterStrategy;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class AhcEndpoint {
+public interface AhcEndpoint {
 
 
     public static class AhcCommon<T extends EndpointDefinition>
@@ -194,4 +194,7 @@ public class AhcEndpoint {
             return (AhcProducer) this;
         }
     }
+    public default AhcProducer toAhc(String path) {
+        return new AhcProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ApnsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ApnsEndpoint.java
index f60b514..0b0f094 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ApnsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ApnsEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class ApnsEndpoint {
+public interface ApnsEndpoint {
 
 
     public static class ApnsCommon<T extends EndpointDefinition>
@@ -271,4 +271,10 @@ public class ApnsEndpoint {
             super(path);
         }
     }
+    public default ApnsConsumer fromApns(String path) {
+        return new ApnsConsumer(path);
+    }
+    public default ApnsProducer toApns(String path) {
+        return new ApnsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AsteriskEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AsteriskEndpoint.java
index 7180bd5..5c3af9d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AsteriskEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AsteriskEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class AsteriskEndpoint {
+public interface AsteriskEndpoint {
 
 
     public static class AsteriskCommon<T extends EndpointDefinition>
@@ -150,4 +150,10 @@ public class AsteriskEndpoint {
     public static enum AsteriskAction {
         QUEUE_STATUS, SIP_PEERS, EXTENSION_STATE;
     }
+    public default AsteriskConsumer fromAsterisk(String path) {
+        return new AsteriskConsumer(path);
+    }
+    public default AsteriskProducer toAsterisk(String path) {
+        return new AsteriskProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtmosEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtmosEndpoint.java
index ea165d1..eaf1187 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtmosEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtmosEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class AtmosEndpoint {
+public interface AtmosEndpoint {
 
 
     public static class AtmosCommon<T extends EndpointDefinition>
@@ -183,4 +183,10 @@ public class AtmosEndpoint {
     public static enum AtmosOperation {
         put, del, search, get, move;
     }
+    public default AtmosConsumer fromAtmos(String path) {
+        return new AtmosConsumer(path);
+    }
+    public default AtmosProducer toAtmos(String path) {
+        return new AtmosProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtmosphereWebsocketEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtmosphereWebsocketEndpoint.java
index dd90e86..abffb77 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtmosphereWebsocketEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtmosphereWebsocketEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.HeaderFilterStrategy;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class AtmosphereWebsocketEndpoint {
+public interface AtmosphereWebsocketEndpoint {
 
 
     public static class AtmosphereWebsocketCommon<T extends EndpointDefinition>
@@ -321,4 +321,11 @@ public class AtmosphereWebsocketEndpoint {
             super(path);
         }
     }
+    public default AtmosphereWebsocketConsumer fromAtmosphereWebsocket(
+            String path) {
+        return new AtmosphereWebsocketConsumer(path);
+    }
+    public default AtmosphereWebsocketProducer toAtmosphereWebsocket(String path) {
+        return new AtmosphereWebsocketProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomEndpoint.java
index 6a68a76..09a1501 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class AtomEndpoint {
+public interface AtomEndpoint {
 
 
     public static class AtomCommon<T extends EndpointDefinition>
@@ -321,4 +321,7 @@ public class AtomEndpoint {
             return (AtomConsumer) this;
         }
     }
+    public default AtomConsumer fromAtom(String path) {
+        return new AtomConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMapEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMapEndpoint.java
index 00b0b55..25ecf03 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMapEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMapEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class AtomixMapEndpoint {
+public interface AtomixMapEndpoint {
 
 
     public static class AtomixMapCommon<T extends EndpointDefinition>
@@ -233,4 +233,10 @@ public class AtomixMapEndpoint {
     public static enum ReadConsistency {
         ATOMIC, ATOMIC_LEASE, SEQUENTIAL, LOCAL;
     }
+    public default AtomixMapConsumer fromAtomixMap(String path) {
+        return new AtomixMapConsumer(path);
+    }
+    public default AtomixMapProducer toAtomixMap(String path) {
+        return new AtomixMapProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMessagingEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMessagingEndpoint.java
index e6b58d8..5e35196 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMessagingEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMessagingEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class AtomixMessagingEndpoint {
+public interface AtomixMessagingEndpoint {
 
 
     public static class AtomixMessagingCommon<T extends EndpointDefinition>
@@ -242,4 +242,10 @@ public class AtomixMessagingEndpoint {
     public static enum ReadConsistency {
         ATOMIC, ATOMIC_LEASE, SEQUENTIAL, LOCAL;
     }
+    public default AtomixMessagingConsumer fromAtomixMessaging(String path) {
+        return new AtomixMessagingConsumer(path);
+    }
+    public default AtomixMessagingProducer toAtomixMessaging(String path) {
+        return new AtomixMessagingProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMultiMapEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMultiMapEndpoint.java
index d0e6cae..86b6961 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMultiMapEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixMultiMapEndpoint.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class AtomixMultiMapEndpoint {
+public interface AtomixMultiMapEndpoint {
 
 
     public static class AtomixMultiMapCommon<T extends EndpointDefinition>
@@ -226,4 +226,7 @@ public class AtomixMultiMapEndpoint {
     public static enum ReadConsistency {
         ATOMIC, ATOMIC_LEASE, SEQUENTIAL, LOCAL;
     }
+    public default AtomixMultiMapConsumer fromAtomixMultiMap(String path) {
+        return new AtomixMultiMapConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixQueueEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixQueueEndpoint.java
index 493c27a..9618216 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixQueueEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixQueueEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class AtomixQueueEndpoint {
+public interface AtomixQueueEndpoint {
 
 
     public static class AtomixQueueCommon<T extends EndpointDefinition>
@@ -220,4 +220,10 @@ public class AtomixQueueEndpoint {
     public static enum ReadConsistency {
         ATOMIC, ATOMIC_LEASE, SEQUENTIAL, LOCAL;
     }
+    public default AtomixQueueConsumer fromAtomixQueue(String path) {
+        return new AtomixQueueConsumer(path);
+    }
+    public default AtomixQueueProducer toAtomixQueue(String path) {
+        return new AtomixQueueProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixSetEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixSetEndpoint.java
index 33321f2..15c3c33 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixSetEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixSetEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class AtomixSetEndpoint {
+public interface AtomixSetEndpoint {
 
 
     public static class AtomixSetCommon<T extends EndpointDefinition>
@@ -225,4 +225,10 @@ public class AtomixSetEndpoint {
     public static enum ReadConsistency {
         ATOMIC, ATOMIC_LEASE, SEQUENTIAL, LOCAL;
     }
+    public default AtomixSetConsumer fromAtomixSet(String path) {
+        return new AtomixSetConsumer(path);
+    }
+    public default AtomixSetProducer toAtomixSet(String path) {
+        return new AtomixSetProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixValueEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixValueEndpoint.java
index 9b8070c..952b80b 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixValueEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AtomixValueEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class AtomixValueEndpoint {
+public interface AtomixValueEndpoint {
 
 
     public static class AtomixValueCommon<T extends EndpointDefinition>
@@ -227,4 +227,10 @@ public class AtomixValueEndpoint {
     public static enum ReadConsistency {
         ATOMIC, ATOMIC_LEASE, SEQUENTIAL, LOCAL;
     }
+    public default AtomixValueConsumer fromAtomixValue(String path) {
+        return new AtomixValueConsumer(path);
+    }
+    public default AtomixValueProducer toAtomixValue(String path) {
+        return new AtomixValueProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AvroEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AvroEndpoint.java
index b6e70f2..e2cfcc8 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AvroEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AvroEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class AvroEndpoint {
+public interface AvroEndpoint {
 
 
     public static class AvroCommon<T extends EndpointDefinition>
@@ -189,4 +189,10 @@ public class AvroEndpoint {
     public static enum AvroTransport {
         http, netty;
     }
+    public default AvroConsumer fromAvro(String path) {
+        return new AvroConsumer(path);
+    }
+    public default AvroProducer toAvro(String path) {
+        return new AvroProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanEndpoint.java
index dd88fef..441196f 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class BeanEndpoint {
+public interface BeanEndpoint {
 
 
     public static class BeanCommon<T extends EndpointDefinition>
@@ -97,4 +97,7 @@ public class BeanEndpoint {
             super(path);
         }
     }
+    public default BeanProducer toBean(String path) {
+        return new BeanProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanValidatorEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanValidatorEndpoint.java
index a155b92..4b64f57 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanValidatorEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanValidatorEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class BeanValidatorEndpoint {
+public interface BeanValidatorEndpoint {
 
 
     public static class BeanValidatorCommon<T extends EndpointDefinition>
@@ -112,4 +112,7 @@ public class BeanValidatorEndpoint {
             super(path);
         }
     }
+    public default BeanValidatorProducer toBeanValidator(String path) {
+        return new BeanValidatorProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanstalkEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanstalkEndpoint.java
index 3921ded..71e7d2e 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanstalkEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BeanstalkEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class BeanstalkEndpoint {
+public interface BeanstalkEndpoint {
 
 
     public static class BeanstalkCommon<T extends EndpointDefinition>
@@ -331,4 +331,10 @@ public class BeanstalkEndpoint {
     public static enum BeanstalkCommand {
         bury, release, put, touch, delete, kick;
     }
+    public default BeanstalkConsumer fromBeanstalk(String path) {
+        return new BeanstalkConsumer(path);
+    }
+    public default BeanstalkProducer toBeanstalk(String path) {
+        return new BeanstalkProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BlobServiceEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BlobServiceEndpoint.java
index 15d9bfc..f2c94ef 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BlobServiceEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BlobServiceEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class BlobServiceEndpoint {
+public interface BlobServiceEndpoint {
 
 
     public static class BlobServiceCommon<T extends EndpointDefinition>
@@ -248,4 +248,10 @@ public class BlobServiceEndpoint {
     public static enum BlobServiceOperations {
         getBlob, deleteBlob, listBlobs, updateBlockBlob, uploadBlobBlocks, commitBlobBlockList, getBlobBlockList, createAppendBlob, updateAppendBlob, createPageBlob, updatePageBlob, resizePageBlob, clearPageBlob, getPageBlobRanges;
     }
+    public default BlobServiceConsumer fromBlobService(String path) {
+        return new BlobServiceConsumer(path);
+    }
+    public default BlobServiceProducer toBlobService(String path) {
+        return new BlobServiceProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BonitaEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BonitaEndpoint.java
index 0bd787a..4395deb 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BonitaEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BonitaEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class BonitaEndpoint {
+public interface BonitaEndpoint {
 
 
     public static class BonitaCommon<T extends EndpointDefinition>
@@ -149,4 +149,7 @@ public class BonitaEndpoint {
     public static enum BonitaOperation {
         startCase;
     }
+    public default BonitaConsumer fromBonita(String path) {
+        return new BonitaConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BoxEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BoxEndpoint.java
index 9ccb235..e576acc 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BoxEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BoxEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class BoxEndpoint {
+public interface BoxEndpoint {
 
 
     public static class BoxCommon<T extends EndpointDefinition>
@@ -262,4 +262,10 @@ public class BoxEndpoint {
     public static enum EncryptionAlgorithm {
         RSA_SHA_256, RSA_SHA_384, RSA_SHA_512;
     }
+    public default BoxConsumer fromBox(String path) {
+        return new BoxConsumer(path);
+    }
+    public default BoxProducer toBox(String path) {
+        return new BoxProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BraintreeEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BraintreeEndpoint.java
index 0c6a500..db701df 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BraintreeEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BraintreeEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class BraintreeEndpoint {
+public interface BraintreeEndpoint {
 
 
     public static class BraintreeCommon<T extends EndpointDefinition>
@@ -210,4 +210,10 @@ public class BraintreeEndpoint {
     public static enum BraintreeApiName {
         ADDON, ADDRESS, CLIENTTOKEN, CREDITCARDVERIFICATION, CUSTOMER, DISCOUNT, DISPUTE, DOCUMENTUPLOAD, MERCHANTACCOUNT, PAYMENTMETHOD, PAYMENTMETHODNONCE, PLAN, REPORT, SETTLEMENTBATCHSUMMARY, SUBSCRIPTION, TRANSACTION, WEBHOOKNOTIFICATION;
     }
+    public default BraintreeConsumer fromBraintree(String path) {
+        return new BraintreeConsumer(path);
+    }
+    public default BraintreeProducer toBraintree(String path) {
+        return new BraintreeProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BrowseEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BrowseEndpoint.java
index 57ad656..f23b7e6 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BrowseEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/BrowseEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class BrowseEndpoint {
+public interface BrowseEndpoint {
 
 
     public static class BrowseCommon<T extends EndpointDefinition>
@@ -116,4 +116,10 @@ public class BrowseEndpoint {
             super(path);
         }
     }
+    public default BrowseConsumer fromBrowse(String path) {
+        return new BrowseConsumer(path);
+    }
+    public default BrowseProducer toBrowse(String path) {
+        return new BrowseProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CMEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CMEndpoint.java
index 17ab458..d3ca588 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CMEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CMEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class CMEndpoint {
+public interface CMEndpoint {
 
 
     public static class CMCommon<T extends EndpointDefinition>
@@ -107,4 +107,7 @@ public class CMEndpoint {
             super(path);
         }
     }
+    public default CMProducer toCM(String path) {
+        return new CMProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CMISEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CMISEndpoint.java
index 2738eef..b9bf9b0 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CMISEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CMISEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class CMISEndpoint {
+public interface CMISEndpoint {
 
 
     public static class CMISCommon<T extends EndpointDefinition>
@@ -189,4 +189,10 @@ public class CMISEndpoint {
             return (CMISProducer) this;
         }
     }
+    public default CMISConsumer fromCMIS(String path) {
+        return new CMISConsumer(path);
+    }
+    public default CMISProducer toCMIS(String path) {
+        return new CMISProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CaffeineCacheEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CaffeineCacheEndpoint.java
index 55963f5..9910c07 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CaffeineCacheEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CaffeineCacheEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class CaffeineCacheEndpoint {
+public interface CaffeineCacheEndpoint {
 
 
     public static class CaffeineCacheCommon<T extends EndpointDefinition>
@@ -242,4 +242,10 @@ public class CaffeineCacheEndpoint {
     public static enum EvictionType {
         SIZE_BASED, TIME_BASED;
     }
+    public default CaffeineCacheConsumer fromCaffeineCache(String path) {
+        return new CaffeineCacheConsumer(path);
+    }
+    public default CaffeineCacheProducer toCaffeineCache(String path) {
+        return new CaffeineCacheProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CaffeineLoadCacheEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CaffeineLoadCacheEndpoint.java
index 97a007b..96f259d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CaffeineLoadCacheEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CaffeineLoadCacheEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class CaffeineLoadCacheEndpoint {
+public interface CaffeineLoadCacheEndpoint {
 
 
     public static class CaffeineLoadCacheCommon<T extends EndpointDefinition>
@@ -243,4 +243,10 @@ public class CaffeineLoadCacheEndpoint {
     public static enum EvictionType {
         SIZE_BASED, TIME_BASED;
     }
+    public default CaffeineLoadCacheConsumer fromCaffeineLoadCache(String path) {
+        return new CaffeineLoadCacheConsumer(path);
+    }
+    public default CaffeineLoadCacheProducer toCaffeineLoadCache(String path) {
+        return new CaffeineLoadCacheProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CassandraEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CassandraEndpoint.java
index ea0b4f8..06bbdc1 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CassandraEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CassandraEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class CassandraEndpoint {
+public interface CassandraEndpoint {
 
 
     public static class CassandraCommon<T extends EndpointDefinition>
@@ -373,4 +373,10 @@ public class CassandraEndpoint {
     public static enum ConsistencyLevel {
         ANY, ONE, TWO, THREE, QUORUM, ALL, LOCAL_QUORUM, EACH_QUORUM, SERIAL, LOCAL_SERIAL, LOCAL_ONE;
     }
+    public default CassandraConsumer fromCassandra(String path) {
+        return new CassandraConsumer(path);
+    }
+    public default CassandraProducer toCassandra(String path) {
+        return new CassandraProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ChatScriptEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ChatScriptEndpoint.java
index 8d7b3c0..7582fc4 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ChatScriptEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ChatScriptEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class ChatScriptEndpoint {
+public interface ChatScriptEndpoint {
 
 
     public static class ChatScriptCommon<T extends EndpointDefinition>
@@ -102,4 +102,7 @@ public class ChatScriptEndpoint {
             super(path);
         }
     }
+    public default ChatScriptProducer toChatScript(String path) {
+        return new ChatScriptProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ChunkEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ChunkEndpoint.java
index 1adcc5f..4b6d502 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ChunkEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ChunkEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class ChunkEndpoint {
+public interface ChunkEndpoint {
 
 
     public static class ChunkCommon<T extends EndpointDefinition>
@@ -123,4 +123,7 @@ public class ChunkEndpoint {
             super(path);
         }
     }
+    public default ChunkProducer toChunk(String path) {
+        return new ChunkProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CinderEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CinderEndpoint.java
index 21240e3..498c079 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CinderEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CinderEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class CinderEndpoint {
+public interface CinderEndpoint {
 
 
     public static class CinderCommon<T extends EndpointDefinition>
@@ -128,4 +128,7 @@ public class CinderEndpoint {
             super(path);
         }
     }
+    public default CinderProducer toCinder(String path) {
+        return new CinderProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ClassEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ClassEndpoint.java
index 98dace4..6ff7919 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ClassEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ClassEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class ClassEndpoint {
+public interface ClassEndpoint {
 
 
     public static class ClassCommon<T extends EndpointDefinition>
@@ -97,4 +97,7 @@ public class ClassEndpoint {
             super(path);
         }
     }
+    public default ClassProducer toClass(String path) {
+        return new ClassProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ClientEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ClientEndpoint.java
index 6b86349..734208b 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ClientEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ClientEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class ClientEndpoint {
+public interface ClientEndpoint {
 
 
     public static class ClientCommon<T extends EndpointDefinition>
@@ -248,4 +248,10 @@ public class ClientEndpoint {
     public static enum InformationObjectAddressType {
         SIZE_1,  SIZE_2,  SIZE_3;
     }
+    public default ClientConsumer fromClient(String path) {
+        return new ClientConsumer(path);
+    }
+    public default ClientProducer toClient(String path) {
+        return new ClientProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CoAPEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CoAPEndpoint.java
index 4c073fe..d863e38 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CoAPEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CoAPEndpoint.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class CoAPEndpoint {
+public interface CoAPEndpoint {
 
 
     public static class CoAPCommon<T extends EndpointDefinition>
@@ -206,4 +206,10 @@ public class CoAPEndpoint {
             super(path);
         }
     }
+    public default CoAPConsumer fromCoAP(String path) {
+        return new CoAPConsumer(path);
+    }
+    public default CoAPProducer toCoAP(String path) {
+        return new CoAPProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CometdEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CometdEndpoint.java
index df24c9b..3332c18 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CometdEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CometdEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class CometdEndpoint {
+public interface CometdEndpoint {
 
 
     public static class CometdCommon<T extends EndpointDefinition>
@@ -236,4 +236,10 @@ public class CometdEndpoint {
             return (CometdProducer) this;
         }
     }
+    public default CometdConsumer fromCometd(String path) {
+        return new CometdConsumer(path);
+    }
+    public default CometdProducer toCometd(String path) {
+        return new CometdProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ConsulEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ConsulEndpoint.java
index a247d4f..77826ea 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ConsulEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ConsulEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class ConsulEndpoint {
+public interface ConsulEndpoint {
 
 
     public static class ConsulCommon<T extends EndpointDefinition>
@@ -116,4 +116,10 @@ public class ConsulEndpoint {
             super(path);
         }
     }
+    public default ConsulConsumer fromConsul(String path) {
+        return new ConsulConsumer(path);
+    }
+    public default ConsulProducer toConsul(String path) {
+        return new ConsulProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ControlBusEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ControlBusEndpoint.java
index 772506e..6994df8 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ControlBusEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ControlBusEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.Language;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class ControlBusEndpoint {
+public interface ControlBusEndpoint {
 
 
     public static class ControlBusCommon<T extends EndpointDefinition>
@@ -134,4 +134,7 @@ public class ControlBusEndpoint {
             super(path);
         }
     }
+    public default ControlBusProducer toControlBus(String path) {
+        return new ControlBusProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CordaEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CordaEndpoint.java
index 3b96975..847904a 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CordaEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CordaEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class CordaEndpoint {
+public interface CordaEndpoint {
 
 
     public static class CordaCommon<T extends EndpointDefinition>
@@ -115,4 +115,10 @@ public class CordaEndpoint {
             super(path);
         }
     }
+    public default CordaConsumer fromCorda(String path) {
+        return new CordaConsumer(path);
+    }
+    public default CordaProducer toCorda(String path) {
+        return new CordaProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CouchDbEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CouchDbEndpoint.java
index 193b4bc..d1f1905 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CouchDbEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CouchDbEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class CouchDbEndpoint {
+public interface CouchDbEndpoint {
 
 
     public static class CouchDbCommon<T extends EndpointDefinition>
@@ -206,4 +206,10 @@ public class CouchDbEndpoint {
             super(path);
         }
     }
+    public default CouchDbConsumer fromCouchDb(String path) {
+        return new CouchDbConsumer(path);
+    }
+    public default CouchDbProducer toCouchDb(String path) {
+        return new CouchDbProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CouchbaseEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CouchbaseEndpoint.java
index b194396..fecfa88 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CouchbaseEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CouchbaseEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class CouchbaseEndpoint {
+public interface CouchbaseEndpoint {
 
 
     public static class CouchbaseCommon<T extends EndpointDefinition>
@@ -490,4 +490,10 @@ public class CouchbaseEndpoint {
             return (CouchbaseProducer) this;
         }
     }
+    public default CouchbaseConsumer fromCouchbase(String path) {
+        return new CouchbaseConsumer(path);
+    }
+    public default CouchbaseProducer toCouchbase(String path) {
+        return new CouchbaseProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CryptoCmsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CryptoCmsEndpoint.java
index f83f783..115bb9f 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CryptoCmsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CryptoCmsEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class CryptoCmsEndpoint {
+public interface CryptoCmsEndpoint {
 
 
     public static class CryptoCmsCommon<T extends EndpointDefinition>
@@ -238,4 +238,7 @@ public class CryptoCmsEndpoint {
     public static enum CryptoOperation {
         sign, verify, encrypt, decrypt;
     }
+    public default CryptoCmsProducer toCryptoCms(String path) {
+        return new CryptoCmsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CwEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CwEndpoint.java
index 5c0308c..9002ee9 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CwEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CwEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class CwEndpoint {
+public interface CwEndpoint {
 
 
     public static class CwCommon<T extends EndpointDefinition>
@@ -145,4 +145,7 @@ public class CwEndpoint {
             super(path);
         }
     }
+    public default CwProducer toCw(String path) {
+        return new CwProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CxfEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CxfEndpoint.java
index b180948..f223025 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CxfEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CxfEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.HeaderFilterStrategy;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class CxfEndpoint {
+public interface CxfEndpoint {
 
 
     public static class CxfCommon<T extends EndpointDefinition>
@@ -393,4 +393,10 @@ public class CxfEndpoint {
     public static enum DataFormat {
         PAYLOAD, RAW, MESSAGE, CXF_MESSAGE, POJO;
     }
+    public default CxfConsumer fromCxf(String path) {
+        return new CxfConsumer(path);
+    }
+    public default CxfProducer toCxf(String path) {
+        return new CxfProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CxfRsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CxfRsEndpoint.java
index c53dd8a..1448879 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CxfRsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/CxfRsEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.HeaderFilterStrategy;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class CxfRsEndpoint {
+public interface CxfRsEndpoint {
 
 
     public static class CxfRsCommon<T extends EndpointDefinition>
@@ -377,4 +377,10 @@ public class CxfRsEndpoint {
     public static enum BindingStyle {
         SimpleConsumer, Default, Custom;
     }
+    public default CxfRsConsumer fromCxfRs(String path) {
+        return new CxfRsConsumer(path);
+    }
+    public default CxfRsProducer toCxfRs(String path) {
+        return new CxfRsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DataFormatEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DataFormatEndpoint.java
index d99829f..849ed49 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DataFormatEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DataFormatEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class DataFormatEndpoint {
+public interface DataFormatEndpoint {
 
 
     public static class DataFormatCommon<T extends EndpointDefinition>
@@ -79,4 +79,7 @@ public class DataFormatEndpoint {
             super(path);
         }
     }
+    public default DataFormatProducer toDataFormat(String path) {
+        return new DataFormatProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DataSetEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DataSetEndpoint.java
index 7a29d42..f8923aa 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DataSetEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DataSetEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class DataSetEndpoint {
+public interface DataSetEndpoint {
 
 
     public static class DataSetCommon<T extends EndpointDefinition>
@@ -254,4 +254,10 @@ public class DataSetEndpoint {
             return (DataSetProducer) this;
         }
     }
+    public default DataSetConsumer fromDataSet(String path) {
+        return new DataSetConsumer(path);
+    }
+    public default DataSetProducer toDataSet(String path) {
+        return new DataSetProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DataSetTestEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DataSetTestEndpoint.java
index c0f5ca3..4dd5d1f 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DataSetTestEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DataSetTestEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class DataSetTestEndpoint {
+public interface DataSetTestEndpoint {
 
 
     public static class DataSetTestCommon<T extends EndpointDefinition>
@@ -225,4 +225,7 @@ public class DataSetTestEndpoint {
             return (DataSetTestProducer) this;
         }
     }
+    public default DataSetTestProducer toDataSetTest(String path) {
+        return new DataSetTestProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DdbEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DdbEndpoint.java
index ba692fc..1d510cc 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DdbEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DdbEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class DdbEndpoint {
+public interface DdbEndpoint {
 
 
     public static class DdbCommon<T extends EndpointDefinition>
@@ -170,4 +170,7 @@ public class DdbEndpoint {
     public static enum DdbOperations {
         BatchGetItems, DeleteItem, DeleteTable, DescribeTable, GetItem, PutItem, Query, Scan, UpdateItem, UpdateTable;
     }
+    public default DdbProducer toDdb(String path) {
+        return new DdbProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DdbStreamEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DdbStreamEndpoint.java
index b326fe0..2b85b2e 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DdbStreamEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DdbStreamEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class DdbStreamEndpoint {
+public interface DdbStreamEndpoint {
 
 
     public static class DdbStreamCommon<T extends EndpointDefinition>
@@ -336,4 +336,7 @@ public class DdbStreamEndpoint {
     public static enum ShardIteratorType {
         TRIM_HORIZON, LATEST, AT_SEQUENCE_NUMBER, AFTER_SEQUENCE_NUMBER;
     }
+    public default DdbStreamConsumer fromDdbStream(String path) {
+        return new DdbStreamConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DigitalOceanEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DigitalOceanEndpoint.java
index b973851..1d726ab 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DigitalOceanEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DigitalOceanEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class DigitalOceanEndpoint {
+public interface DigitalOceanEndpoint {
 
 
     public static class DigitalOceanCommon<T extends EndpointDefinition>
@@ -150,4 +150,7 @@ public class DigitalOceanEndpoint {
     public static enum DigitalOceanResources {
         account, actions, blockStorages, droplets, mages, snapshots, keys, regions, sizes, floatingIPs, tags;
     }
+    public default DigitalOceanProducer toDigitalOcean(String path) {
+        return new DigitalOceanProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DigitalSignatureEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DigitalSignatureEndpoint.java
index 2cca698..5c8c6ec 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DigitalSignatureEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DigitalSignatureEndpoint.java
@@ -31,7 +31,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class DigitalSignatureEndpoint {
+public interface DigitalSignatureEndpoint {
 
 
     public static class DigitalSignatureCommon<T extends EndpointDefinition>
@@ -252,4 +252,7 @@ public class DigitalSignatureEndpoint {
     public static enum CryptoOperation {
         sign, verify;
     }
+    public default DigitalSignatureProducer toDigitalSignature(String path) {
+        return new DigitalSignatureProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DirectEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DirectEndpoint.java
index 0d82b8b..fea4696 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DirectEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DirectEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class DirectEndpoint {
+public interface DirectEndpoint {
 
 
     public static class DirectCommon<T extends EndpointDefinition>
@@ -141,4 +141,10 @@ public class DirectEndpoint {
             return (DirectProducer) this;
         }
     }
+    public default DirectConsumer fromDirect(String path) {
+        return new DirectConsumer(path);
+    }
+    public default DirectProducer toDirect(String path) {
+        return new DirectProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DirectVmEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DirectVmEndpoint.java
index 55b9ed5..c02539d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DirectVmEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DirectVmEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.HeaderFilterStrategy;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class DirectVmEndpoint {
+public interface DirectVmEndpoint {
 
 
     public static class DirectVmCommon<T extends EndpointDefinition>
@@ -162,4 +162,10 @@ public class DirectVmEndpoint {
             return (DirectVmProducer) this;
         }
     }
+    public default DirectVmConsumer fromDirectVm(String path) {
+        return new DirectVmConsumer(path);
+    }
+    public default DirectVmProducer toDirectVm(String path) {
+        return new DirectVmProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DisruptorEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DisruptorEndpoint.java
index e0fd2f3..e4f0312 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DisruptorEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DisruptorEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class DisruptorEndpoint {
+public interface DisruptorEndpoint {
 
 
     public static class DisruptorCommon<T extends EndpointDefinition>
@@ -210,4 +210,10 @@ public class DisruptorEndpoint {
     public static enum DisruptorProducerType {
         Single, Multi;
     }
+    public default DisruptorConsumer fromDisruptor(String path) {
+        return new DisruptorConsumer(path);
+    }
+    public default DisruptorProducer toDisruptor(String path) {
+        return new DisruptorProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DisruptorVmEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DisruptorVmEndpoint.java
index a9f2f6b..b1cda8d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DisruptorVmEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DisruptorVmEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class DisruptorVmEndpoint {
+public interface DisruptorVmEndpoint {
 
 
     public static class DisruptorVmCommon<T extends EndpointDefinition>
@@ -213,4 +213,10 @@ public class DisruptorVmEndpoint {
     public static enum DisruptorProducerType {
         Single, Multi;
     }
+    public default DisruptorVmConsumer fromDisruptorVm(String path) {
+        return new DisruptorVmConsumer(path);
+    }
+    public default DisruptorVmProducer toDisruptorVm(String path) {
+        return new DisruptorVmProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DnsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DnsEndpoint.java
index e2b7c6a..8bc9772 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DnsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DnsEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class DnsEndpoint {
+public interface DnsEndpoint {
 
 
     public static class DnsCommon<T extends EndpointDefinition>
@@ -75,4 +75,7 @@ public class DnsEndpoint {
     public static enum DnsType {
         dig, ip, lookup, wikipedia;
     }
+    public default DnsProducer toDns(String path) {
+        return new DnsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DockerEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DockerEndpoint.java
index 336fbb4..15e593c 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DockerEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DockerEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class DockerEndpoint {
+public interface DockerEndpoint {
 
 
     public static class DockerCommon<T extends EndpointDefinition>
@@ -237,4 +237,10 @@ public class DockerEndpoint {
     public static enum DockerOperation {
         events, stats, auth, info, ping, version, imagebuild, imagecreate, imageinspect, imagelist, imagepull, imagepushimageremove, imagesearch, imagetag, containerattach, containercommit, containercopyfile, containercreate, containerdiffinspectcontainer, containerkill, containerlist, containerlog, containerpause, containerrestart, containerremove, containerstartcontainerstop, containertop, containerunpause, containerwait, execcreate, execstart;
     }
+    public default DockerConsumer fromDocker(String path) {
+        return new DockerConsumer(path);
+    }
+    public default DockerProducer toDocker(String path) {
+        return new DockerProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DozerEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DozerEndpoint.java
index 2f0b2fe..4920045 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DozerEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DozerEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class DozerEndpoint {
+public interface DozerEndpoint {
 
 
     public static class DozerCommon<T extends EndpointDefinition>
@@ -131,4 +131,7 @@ public class DozerEndpoint {
             super(path);
         }
     }
+    public default DozerProducer toDozer(String path) {
+        return new DozerProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DrillEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DrillEndpoint.java
index 6199b20..5e610fe 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DrillEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DrillEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class DrillEndpoint {
+public interface DrillEndpoint {
 
 
     public static class DrillCommon<T extends EndpointDefinition>
@@ -108,4 +108,7 @@ public class DrillEndpoint {
     public static enum DrillConnectionMode {
         ZK, DRILLBIT;
     }
+    public default DrillProducer toDrill(String path) {
+        return new DrillProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DropboxEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DropboxEndpoint.java
index 60e4482..ae898cc 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DropboxEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/DropboxEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class DropboxEndpoint {
+public interface DropboxEndpoint {
 
 
     public static class DropboxCommon<T extends EndpointDefinition>
@@ -195,4 +195,10 @@ public class DropboxEndpoint {
     public static enum DropboxUploadMode {
         add, force;
     }
+    public default DropboxConsumer fromDropbox(String path) {
+        return new DropboxConsumer(path);
+    }
+    public default DropboxProducer toDropbox(String path) {
+        return new DropboxProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EC2Endpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EC2Endpoint.java
index 23c6ffe..6779981 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EC2Endpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EC2Endpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class EC2Endpoint {
+public interface EC2Endpoint {
 
 
     public static class EC2Common<T extends EndpointDefinition>
@@ -131,4 +131,7 @@ public class EC2Endpoint {
     public static enum EC2Operations {
         createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances, createTags, deleteTags;
     }
+    public default EC2Producer toEC2(String path) {
+        return new EC2Producer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ECSEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ECSEndpoint.java
index 487be13..4cc60cf 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ECSEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ECSEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class ECSEndpoint {
+public interface ECSEndpoint {
 
 
     public static class ECSCommon<T extends EndpointDefinition>
@@ -128,4 +128,7 @@ public class ECSEndpoint {
     public static enum ECSOperations {
         listClusters, describeCluster, createCluster, deleteCluster;
     }
+    public default ECSProducer toECS(String path) {
+        return new ECSProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EKSEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EKSEndpoint.java
index 263351b..718bc4f 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EKSEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EKSEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class EKSEndpoint {
+public interface EKSEndpoint {
 
 
     public static class EKSCommon<T extends EndpointDefinition>
@@ -128,4 +128,7 @@ public class EKSEndpoint {
     public static enum EKSOperations {
         listClusters, describeCluster, createCluster, deleteCluster;
     }
+    public default EKSProducer toEKS(String path) {
+        return new EKSProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EhcacheEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EhcacheEndpoint.java
index db61231..a74d35a 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EhcacheEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EhcacheEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class EhcacheEndpoint {
+public interface EhcacheEndpoint {
 
 
     public static class EhcacheCommon<T extends EndpointDefinition>
@@ -236,4 +236,10 @@ public class EhcacheEndpoint {
     public static enum EventType {
         EVICTED, EXPIRED, REMOVED, CREATED, UPDATED;
     }
+    public default EhcacheConsumer fromEhcache(String path) {
+        return new EhcacheConsumer(path);
+    }
+    public default EhcacheProducer toEhcache(String path) {
+        return new EhcacheProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EjbEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EjbEndpoint.java
index 48aa2f0..b6265a9 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EjbEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EjbEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class EjbEndpoint {
+public interface EjbEndpoint {
 
 
     public static class EjbCommon<T extends EndpointDefinition>
@@ -97,4 +97,7 @@ public class EjbEndpoint {
             super(path);
         }
     }
+    public default EjbProducer toEjb(String path) {
+        return new EjbProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ElasticsearchEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ElasticsearchEndpoint.java
index f48637b..0da7ff8 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ElasticsearchEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ElasticsearchEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class ElasticsearchEndpoint {
+public interface ElasticsearchEndpoint {
 
 
     public static class ElasticsearchCommon<T extends EndpointDefinition>
@@ -168,4 +168,7 @@ public class ElasticsearchEndpoint {
     public static enum ElasticsearchOperation {
         Index, Update, Bulk, BulkIndex, GetById, MultiGet, MultiSearch, Delete, DeleteIndex, Search, Exists, Ping, Info;
     }
+    public default ElasticsearchProducer toElasticsearch(String path) {
+        return new ElasticsearchProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ElsqlEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ElsqlEndpoint.java
index aadd519..c918efb 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ElsqlEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ElsqlEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class ElsqlEndpoint {
+public interface ElsqlEndpoint {
 
 
     public static class ElsqlCommon<T extends EndpointDefinition>
@@ -554,4 +554,10 @@ public class ElsqlEndpoint {
     public static enum SqlOutputType {
         SelectOne, SelectList, StreamList;
     }
+    public default ElsqlConsumer fromElsql(String path) {
+        return new ElsqlConsumer(path);
+    }
+    public default ElsqlProducer toElsql(String path) {
+        return new ElsqlProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EndpointBuilder.java
new file mode 100644
index 0000000..a57ee62
--- /dev/null
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EndpointBuilder.java
@@ -0,0 +1,317 @@
+/*
+ * 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.model.endpoint;
+
+public interface EndpointBuilder extends
+        AMQPEndpoint,
+        AS2Endpoint,
+        ActiveMQEndpoint,
+        AhcEndpoint,
+        ApnsEndpoint,
+        AsteriskEndpoint,
+        AtmosEndpoint,
+        AtmosphereWebsocketEndpoint,
+        AtomEndpoint,
+        AtomixMapEndpoint,
+        AtomixMessagingEndpoint,
+        AtomixMultiMapEndpoint,
+        AtomixQueueEndpoint,
+        AtomixSetEndpoint,
+        AtomixValueEndpoint,
+        AvroEndpoint,
+        BeanEndpoint,
+        BeanValidatorEndpoint,
+        BeanstalkEndpoint,
+        BlobServiceEndpoint,
+        BonitaEndpoint,
+        BoxEndpoint,
+        BraintreeEndpoint,
+        BrowseEndpoint,
+        CMEndpoint,
+        CMISEndpoint,
+        CaffeineCacheEndpoint,
+        CaffeineLoadCacheEndpoint,
+        CassandraEndpoint,
+        ChatScriptEndpoint,
+        ChunkEndpoint,
+        CinderEndpoint,
+        ClassEndpoint,
+        ClientEndpoint,
+        CoAPEndpoint,
+        CometdEndpoint,
+        ConsulEndpoint,
+        ControlBusEndpoint,
+        CordaEndpoint,
+        CouchDbEndpoint,
+        CouchbaseEndpoint,
+        CryptoCmsEndpoint,
+        CwEndpoint,
+        CxfEndpoint,
+        CxfRsEndpoint,
+        DataFormatEndpoint,
+        DataSetEndpoint,
+        DataSetTestEndpoint,
+        DdbEndpoint,
+        DdbStreamEndpoint,
+        DigitalOceanEndpoint,
+        DigitalSignatureEndpoint,
+        DirectEndpoint,
+        DirectVmEndpoint,
+        DisruptorEndpoint,
+        DisruptorVmEndpoint,
+        DnsEndpoint,
+        DockerEndpoint,
+        DozerEndpoint,
+        DrillEndpoint,
+        DropboxEndpoint,
+        EC2Endpoint,
+        ECSEndpoint,
+        EKSEndpoint,
+        EhcacheEndpoint,
+        EjbEndpoint,
+        ElasticsearchEndpoint,
+        ElsqlEndpoint,
+        EtcdEndpoint,
+        EventAdminEndpoint,
+        EventEndpoint,
+        ExecEndpoint,
+        FacebookEndpoint,
+        FhirEndpoint,
+        FileEndpoint,
+        FlatpackEndpoint,
+        FlinkEndpoint,
+        FopEndpoint,
+        FreemarkerEndpoint,
+        FtpEndpoint,
+        FtpsEndpoint,
+        GangliaEndpoint,
+        GeoCoderEndpoint,
+        GitEndpoint,
+        GitHubEndpoint,
+        GlanceEndpoint,
+        GoogleBigQueryEndpoint,
+        GoogleBigQuerySQLEndpoint,
+        GoogleCalendarEndpoint,
+        GoogleCalendarStreamEndpoint,
+        GoogleDriveEndpoint,
+        GoogleMailEndpoint,
+        GoogleMailStreamEndpoint,
+        GooglePubsubEndpoint,
+        GoogleSheetsEndpoint,
+        GoogleSheetsStreamEndpoint,
+        GoraEndpoint,
+        GrapeEndpoint,
+        GridFsEndpoint,
+        GrpcEndpoint,
+        GuavaEventBusEndpoint,
+        HBaseEndpoint,
+        HazelcastAtomicnumberEndpoint,
+        HazelcastInstanceEndpoint,
+        HazelcastListEndpoint,
+        HazelcastMapEndpoint,
+        HazelcastMultimapEndpoint,
+        HazelcastQueueEndpoint,
+        HazelcastReplicatedmapEndpoint,
+        HazelcastRingbufferEndpoint,
+        HazelcastSedaEndpoint,
+        HazelcastSetEndpoint,
+        HazelcastTopicEndpoint,
+        HdfsEndpoint,
+        HipchatEndpoint,
+        HttpEndpoint,
+        IAMEndpoint,
+        IOTAEndpoint,
+        IPFSEndpoint,
+        IgniteCacheEndpoint,
+        IgniteComputeEndpoint,
+        IgniteEventsEndpoint,
+        IgniteIdGenEndpoint,
+        IgniteMessagingEndpoint,
+        IgniteQueueEndpoint,
+        IgniteSetEndpoint,
+        InfinispanEndpoint,
+        InfluxDbEndpoint,
+        IrcEndpoint,
+        IronMQEndpoint,
+        JBPMEndpoint,
+        JCacheEndpoint,
+        JGroupsEndpoint,
+        JGroupsRaftEndpoint,
+        JMXEndpoint,
+        JSR356WebSocketEndpoint,
+        JcloudsEndpoint,
+        JcrEndpoint,
+        JdbcEndpoint,
+        JettyHttpEndpoint9,
+        JingEndpoint,
+        JiraEndpoint,
+        JmsEndpoint,
+        JoltEndpoint,
+        JooqEndpoint,
+        JpaEndpoint,
+        JsonValidatorEndpoint,
+        Jt400Endpoint,
+        KMSEndpoint,
+        KafkaEndpoint,
+        KeystoneEndpoint,
+        KinesisEndpoint,
+        KinesisFirehoseEndpoint,
+        KubernetesConfigMapsEndpoint,
+        KubernetesDeploymentsEndpoint,
+        KubernetesHPAEndpoint,
+        KubernetesJobEndpoint,
+        KubernetesNamespacesEndpoint,
+        KubernetesNodesEndpoint,
+        KubernetesPersistentVolumesClaimsEndpoint,
+        KubernetesPersistentVolumesEndpoint,
+        KubernetesPodsEndpoint,
+        KubernetesReplicationControllersEndpoint,
+        KubernetesResourcesQuotaEndpoint,
+        KubernetesSecretsEndpoint,
+        KubernetesServiceAccountsEndpoint,
+        KubernetesServicesEndpoint,
+        LambdaEndpoint,
+        LanguageEndpoint,
+        LdapEndpoint,
+        LdifEndpoint,
+        LinkedInEndpoint,
+        LogEndpoint,
+        LuceneEndpoint,
+        LumberjackEndpoint,
+        MQEndpoint,
+        MQTTEndpoint,
+        MSKEndpoint,
+        MailEndpoint,
+        MasterEndpoint,
+        MetricsEndpoint,
+        MicrometerEndpoint,
+        MiloClientEndpoint,
+        MiloServerEndpoint,
+        Mina2Endpoint,
+        MllpEndpoint,
+        MockEndpoint,
+        MongoDbEndpoint,
+        MsvEndpoint,
+        MustacheEndpoint,
+        MvelEndpoint,
+        MyBatisBeanEndpoint,
+        MyBatisEndpoint,
+        NagiosEndpoint,
+        NatsEndpoint,
+        NetWeaverEndpoint,
+        NettyEndpoint,
+        NettyHttpEndpoint,
+        NeutronEndpoint,
+        NovaEndpoint,
+        NsqEndpoint,
+        Olingo2Endpoint,
+        Olingo4Endpoint,
+        OpenshiftBuildConfigsEndpoint,
+        OpenshiftBuildsEndpoint,
+        OptaPlannerEndpoint,
+        PahoEndpoint,
+        PaxLoggingEndpoint,
+        PdfEndpoint,
+        PgEventEndpoint,
+        PrinterEndpoint,
+        PropertiesEndpoint,
+        PubNubEndpoint,
+        PulsarEndpoint,
+        QuartzEndpoint,
+        QueueServiceEndpoint,
+        QuickfixjEndpoint,
+        RabbitMQEndpoint,
+        ReactiveStreamsEndpoint,
+        RedisEndpoint,
+        RefEndpoint,
+        RestApiEndpoint,
+        RestEndpoint,
+        RestSwaggerEndpoint,
+        RestletEndpoint,
+        RssEndpoint,
+        S3Endpoint,
+        SWFEndpoint,
+        SagaEndpoint,
+        SalesforceEndpoint,
+        SchedulerEndpoint,
+        SchematronEndpoint,
+        ScpEndpoint,
+        SdbEndpoint,
+        SedaEndpoint,
+        ServerEndpoint,
+        ServiceEndpoint,
+        ServiceNowEndpoint,
+        ServletEndpoint,
+        SesEndpoint,
+        SftpEndpoint,
+        SipEndpoint,
+        Sjms2Endpoint,
+        SjmsBatchEndpoint,
+        SjmsEndpoint,
+        SlackEndpoint,
+        SmppEndpoint,
+        SnmpEndpoint,
+        SnsEndpoint,
+        SolrEndpoint,
+        SoroushBotEndpoint,
+        SparkEndpoint,
+        SplunkEndpoint,
+        SpringBatchEndpoint,
+        SpringIntegrationEndpoint,
+        SpringLdapEndpoint,
+        SpringWebserviceEndpoint,
+        SqlEndpoint,
+        SqlStoredEndpoint,
+        SqsEndpoint,
+        SshEndpoint,
+        StAXEndpoint,
+        StompEndpoint,
+        StreamEndpoint,
+        StringTemplateEndpoint,
+        StubEndpoint,
+        SwiftEndpoint,
+        TelegramEndpoint,
+        ThriftEndpoint,
+        TikaEndpoint,
+        TimerEndpoint,
+        TwilioEndpoint,
+        TwitterDirectMessageEndpoint,
+        TwitterSearchEndpoint,
+        TwitterStreamingEndpoint,
+        TwitterTimelineEndpoint,
+        UndertowEndpoint,
+        ValidatorEndpoint,
+        VelocityEndpoint,
+        VertxEndpoint,
+        VmEndpoint,
+        WeatherEndpoint,
+        Web3jEndpoint,
+        WebhookEndpoint,
+        WebsocketEndpoint,
+        WordpressEndpoint,
+        WsEndpoint,
+        XChangeEndpoint,
+        XQueryEndpoint,
+        XmlSignatureEndpoint,
+        XmppEndpoint,
+        XsltEndpoint,
+        YammerEndpoint,
+        ZendeskEndpoint,
+        ZooKeeperEndpoint,
+        ZooKeeperMasterEndpoint
+{
+}
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EtcdEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EtcdEndpoint.java
index 06b775a..35a036d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EtcdEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EtcdEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class EtcdEndpoint {
+public interface EtcdEndpoint {
 
 
     public static class EtcdCommon<T extends EndpointDefinition>
@@ -355,4 +355,10 @@ public class EtcdEndpoint {
     public static enum EtcdNamespace {
         keys, stats, watch;
     }
+    public default EtcdConsumer fromEtcd(String path) {
+        return new EtcdConsumer(path);
+    }
+    public default EtcdProducer toEtcd(String path) {
+        return new EtcdProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EventAdminEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EventAdminEndpoint.java
index 8e6e78e..d07d795 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EventAdminEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EventAdminEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class EventAdminEndpoint {
+public interface EventAdminEndpoint {
 
 
     public static class EventAdminCommon<T extends EndpointDefinition>
@@ -126,4 +126,10 @@ public class EventAdminEndpoint {
             super(path);
         }
     }
+    public default EventAdminConsumer fromEventAdmin(String path) {
+        return new EventAdminConsumer(path);
+    }
+    public default EventAdminProducer toEventAdmin(String path) {
+        return new EventAdminProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EventEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EventEndpoint.java
index 6693e7c..492d05c 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EventEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/EventEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class EventEndpoint {
+public interface EventEndpoint {
 
 
     public static class EventCommon<T extends EndpointDefinition>
@@ -114,4 +114,10 @@ public class EventEndpoint {
             super(path);
         }
     }
+    public default EventConsumer fromEvent(String path) {
+        return new EventConsumer(path);
+    }
+    public default EventProducer toEvent(String path) {
+        return new EventProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ExecEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ExecEndpoint.java
index d1acc69..6ca491c 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ExecEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ExecEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class ExecEndpoint {
+public interface ExecEndpoint {
 
 
     public static class ExecCommon<T extends EndpointDefinition>
@@ -135,4 +135,7 @@ public class ExecEndpoint {
             super(path);
         }
     }
+    public default ExecProducer toExec(String path) {
+        return new ExecProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FacebookEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FacebookEndpoint.java
index 5a15101..cb53bf2 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FacebookEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FacebookEndpoint.java
@@ -32,7 +32,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class FacebookEndpoint {
+public interface FacebookEndpoint {
 
 
     public static class FacebookCommon<T extends EndpointDefinition>
@@ -845,4 +845,10 @@ public class FacebookEndpoint {
     public static enum PictureSize {
         square, small, normal, large, thumbnail, album;
     }
+    public default FacebookConsumer fromFacebook(String path) {
+        return new FacebookConsumer(path);
+    }
+    public default FacebookProducer toFacebook(String path) {
+        return new FacebookProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FhirEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FhirEndpoint.java
index 6366f64..950da73 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FhirEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FhirEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class FhirEndpoint {
+public interface FhirEndpoint {
 
 
     public static class FhirCommon<T extends EndpointDefinition>
@@ -311,4 +311,10 @@ public class FhirEndpoint {
     public static enum ServerValidationModeEnum {
         NEVER,  ONCE;
     }
+    public default FhirConsumer fromFhir(String path) {
+        return new FhirConsumer(path);
+    }
+    public default FhirProducer toFhir(String path) {
+        return new FhirProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FileEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FileEndpoint.java
index be8e7b3..bb9f9d0 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FileEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FileEndpoint.java
@@ -39,7 +39,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class FileEndpoint {
+public interface FileEndpoint {
 
 
     public static class FileCommon<T extends EndpointDefinition>
@@ -1123,4 +1123,10 @@ public class FileEndpoint {
     public static enum GenericFileExist {
         Override, Append, Fail, Ignore, Move, TryRename;
     }
+    public default FileConsumer fromFile(String path) {
+        return new FileConsumer(path);
+    }
+    public default FileProducer toFile(String path) {
+        return new FileProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FlatpackEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FlatpackEndpoint.java
index f2af3fa..7fe6958 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FlatpackEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FlatpackEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class FlatpackEndpoint {
+public interface FlatpackEndpoint {
 
 
     public static class FlatpackCommon<T extends EndpointDefinition>
@@ -325,4 +325,10 @@ public class FlatpackEndpoint {
     public static enum FlatpackType {
         fixed, delim;
     }
+    public default FlatpackConsumer fromFlatpack(String path) {
+        return new FlatpackConsumer(path);
+    }
+    public default FlatpackProducer toFlatpack(String path) {
+        return new FlatpackProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FlinkEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FlinkEndpoint.java
index f917394..4f0cada 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FlinkEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FlinkEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class FlinkEndpoint {
+public interface FlinkEndpoint {
 
 
     public static class FlinkCommon<T extends EndpointDefinition>
@@ -115,4 +115,7 @@ public class FlinkEndpoint {
     public static enum EndpointType {
         dataset, datastream;
     }
+    public default FlinkProducer toFlink(String path) {
+        return new FlinkProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FopEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FopEndpoint.java
index f284951..556e24c 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FopEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FopEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class FopEndpoint {
+public interface FopEndpoint {
 
 
     public static class FopCommon<T extends EndpointDefinition>
@@ -94,4 +94,7 @@ public class FopEndpoint {
     public static enum FopOutputType {
         pdf, ps, pcl, png, jpeg, svg, xml, mif, rtf, txt;
     }
+    public default FopProducer toFop(String path) {
+        return new FopProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FreemarkerEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FreemarkerEndpoint.java
index df4fbef..380d077 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FreemarkerEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FreemarkerEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class FreemarkerEndpoint {
+public interface FreemarkerEndpoint {
 
 
     public static class FreemarkerCommon<T extends EndpointDefinition>
@@ -107,4 +107,7 @@ public class FreemarkerEndpoint {
             super(path);
         }
     }
+    public default FreemarkerProducer toFreemarker(String path) {
+        return new FreemarkerProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FtpEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FtpEndpoint.java
index 50c2ab0..9416b6e 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FtpEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FtpEndpoint.java
@@ -39,7 +39,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class FtpEndpoint {
+public interface FtpEndpoint {
 
 
     public static class FtpCommon<T extends EndpointDefinition>
@@ -1312,4 +1312,10 @@ public class FtpEndpoint {
     public static enum GenericFileExist {
         Override, Append, Fail, Ignore, Move, TryRename;
     }
+    public default FtpConsumer fromFtp(String path) {
+        return new FtpConsumer(path);
+    }
+    public default FtpProducer toFtp(String path) {
+        return new FtpProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FtpsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FtpsEndpoint.java
index ba96421..1f42d7e 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FtpsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/FtpsEndpoint.java
@@ -39,7 +39,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class FtpsEndpoint {
+public interface FtpsEndpoint {
 
 
     public static class FtpsCommon<T extends EndpointDefinition>
@@ -1438,4 +1438,10 @@ public class FtpsEndpoint {
     public static enum GenericFileExist {
         Override, Append, Fail, Ignore, Move, TryRename;
     }
+    public default FtpsConsumer fromFtps(String path) {
+        return new FtpsConsumer(path);
+    }
+    public default FtpsProducer toFtps(String path) {
+        return new FtpsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GangliaEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GangliaEndpoint.java
index 15f105a..62e3c02 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GangliaEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GangliaEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class GangliaEndpoint {
+public interface GangliaEndpoint {
 
 
     public static class GangliaCommon<T extends EndpointDefinition>
@@ -186,4 +186,7 @@ public class GangliaEndpoint {
     public static enum GMetricType {
         STRING, INT8, UINT8, INT16, UINT16, INT32, UINT32, FLOAT, DOUBLE;
     }
+    public default GangliaProducer toGanglia(String path) {
+        return new GangliaProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GeoCoderEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GeoCoderEndpoint.java
index da6d433..79da8f0 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GeoCoderEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GeoCoderEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class GeoCoderEndpoint {
+public interface GeoCoderEndpoint {
 
 
     public static class GeoCoderCommon<T extends EndpointDefinition>
@@ -172,4 +172,7 @@ public class GeoCoderEndpoint {
             super(path);
         }
     }
+    public default GeoCoderProducer toGeoCoder(String path) {
+        return new GeoCoderProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GitEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GitEndpoint.java
index 3fbc68e..7981eaf 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GitEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GitEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class GitEndpoint {
+public interface GitEndpoint {
 
 
     public static class GitCommon<T extends EndpointDefinition>
@@ -184,4 +184,10 @@ public class GitEndpoint {
     public static enum GitType {
         commit, tag, branch;
     }
+    public default GitConsumer fromGit(String path) {
+        return new GitConsumer(path);
+    }
+    public default GitProducer toGit(String path) {
+        return new GitProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GitHubEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GitHubEndpoint.java
index 4e64288..d3a0fbb 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GitHubEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GitHubEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class GitHubEndpoint {
+public interface GitHubEndpoint {
 
 
     public static class GitHubCommon<T extends EndpointDefinition>
@@ -189,4 +189,10 @@ public class GitHubEndpoint {
     public static enum GitHubType {
         CLOSEPULLREQUEST, PULLREQUESTCOMMENT, COMMIT, PULLREQUEST, TAG, PULLREQUESTSTATE, PULLREQUESTFILES, GETCOMMITFILE, CREATEISSUE;
     }
+    public default GitHubConsumer fromGitHub(String path) {
+        return new GitHubConsumer(path);
+    }
+    public default GitHubProducer toGitHub(String path) {
+        return new GitHubProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GlanceEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GlanceEndpoint.java
index fd60e12..0a22d38 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GlanceEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GlanceEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class GlanceEndpoint {
+public interface GlanceEndpoint {
 
 
     public static class GlanceCommon<T extends EndpointDefinition>
@@ -121,4 +121,7 @@ public class GlanceEndpoint {
             super(path);
         }
     }
+    public default GlanceProducer toGlance(String path) {
+        return new GlanceProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleBigQueryEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleBigQueryEndpoint.java
index 1c906b4..9481042 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleBigQueryEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleBigQueryEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class GoogleBigQueryEndpoint {
+public interface GoogleBigQueryEndpoint {
 
 
     public static class GoogleBigQueryCommon<T extends EndpointDefinition>
@@ -101,4 +101,7 @@ public class GoogleBigQueryEndpoint {
             super(path);
         }
     }
+    public default GoogleBigQueryProducer toGoogleBigQuery(String path) {
+        return new GoogleBigQueryProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleBigQuerySQLEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleBigQuerySQLEndpoint.java
index d2d15d6..089cca9 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleBigQuerySQLEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleBigQuerySQLEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class GoogleBigQuerySQLEndpoint {
+public interface GoogleBigQuerySQLEndpoint {
 
 
     public static class GoogleBigQuerySQLCommon<T extends EndpointDefinition>
@@ -86,4 +86,7 @@ public class GoogleBigQuerySQLEndpoint {
             super(path);
         }
     }
+    public default GoogleBigQuerySQLProducer toGoogleBigQuerySQL(String path) {
+        return new GoogleBigQuerySQLProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleCalendarEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleCalendarEndpoint.java
index 6fac42c..dc81ac9 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleCalendarEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleCalendarEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class GoogleCalendarEndpoint {
+public interface GoogleCalendarEndpoint {
 
 
     public static class GoogleCalendarCommon<T extends EndpointDefinition>
@@ -216,4 +216,10 @@ public class GoogleCalendarEndpoint {
     public static enum GoogleCalendarApiName {
         ACL, LIST, CALENDARS, CHANNELS, COLORS, FREEBUSY, EVENTS, SETTINGS;
     }
+    public default GoogleCalendarConsumer fromGoogleCalendar(String path) {
+        return new GoogleCalendarConsumer(path);
+    }
+    public default GoogleCalendarProducer toGoogleCalendar(String path) {
+        return new GoogleCalendarProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleCalendarStreamEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleCalendarStreamEndpoint.java
index 48bf989..ef5a842 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleCalendarStreamEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleCalendarStreamEndpoint.java
@@ -35,7 +35,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class GoogleCalendarStreamEndpoint {
+public interface GoogleCalendarStreamEndpoint {
 
 
     public static class GoogleCalendarStreamCommon<T extends EndpointDefinition>
@@ -355,4 +355,8 @@ public class GoogleCalendarStreamEndpoint {
             return (GoogleCalendarStreamConsumer) this;
         }
     }
+    public default GoogleCalendarStreamConsumer fromGoogleCalendarStream(
+            String path) {
+        return new GoogleCalendarStreamConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleDriveEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleDriveEndpoint.java
index cc26999..f7dcb6f 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleDriveEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleDriveEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class GoogleDriveEndpoint {
+public interface GoogleDriveEndpoint {
 
 
     public static class GoogleDriveCommon<T extends EndpointDefinition>
@@ -203,4 +203,10 @@ public class GoogleDriveEndpoint {
     public static enum GoogleDriveApiName {
         drive_about, drive_apps, drive_changes, drive_channels, drive_children, drive_comments, drive_files, drive_parents, drive_permissions, drive_properties, drive_realtime, drive_replies, drive_revisions;
     }
+    public default GoogleDriveConsumer fromGoogleDrive(String path) {
+        return new GoogleDriveConsumer(path);
+    }
+    public default GoogleDriveProducer toGoogleDrive(String path) {
+        return new GoogleDriveProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleMailEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleMailEndpoint.java
index de07e0d..e15f112 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleMailEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleMailEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class GoogleMailEndpoint {
+public interface GoogleMailEndpoint {
 
 
     public static class GoogleMailCommon<T extends EndpointDefinition>
@@ -181,4 +181,10 @@ public class GoogleMailEndpoint {
     public static enum GoogleMailApiName {
         THREADS, MESSAGES, ATTACHMENTS, LABELS, HISTORY, DRAFTS, USERS;
     }
+    public default GoogleMailConsumer fromGoogleMail(String path) {
+        return new GoogleMailConsumer(path);
+    }
+    public default GoogleMailProducer toGoogleMail(String path) {
+        return new GoogleMailProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleMailStreamEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleMailStreamEndpoint.java
index 78a125e..ad79997 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleMailStreamEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleMailStreamEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class GoogleMailStreamEndpoint {
+public interface GoogleMailStreamEndpoint {
 
 
     public static class GoogleMailStreamCommon<T extends EndpointDefinition>
@@ -334,4 +334,7 @@ public class GoogleMailStreamEndpoint {
             return (GoogleMailStreamConsumer) this;
         }
     }
+    public default GoogleMailStreamConsumer fromGoogleMailStream(String path) {
+        return new GoogleMailStreamConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GooglePubsubEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GooglePubsubEndpoint.java
index 320c1c5..3e877a7 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GooglePubsubEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GooglePubsubEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class GooglePubsubEndpoint {
+public interface GooglePubsubEndpoint {
 
 
     public static class GooglePubsubCommon<T extends EndpointDefinition>
@@ -170,4 +170,10 @@ public class GooglePubsubEndpoint {
     public static enum AckMode {
         AUTO, NONE;
     }
+    public default GooglePubsubConsumer fromGooglePubsub(String path) {
+        return new GooglePubsubConsumer(path);
+    }
+    public default GooglePubsubProducer toGooglePubsub(String path) {
+        return new GooglePubsubProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleSheetsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleSheetsEndpoint.java
index 3810b9e..9741b29 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleSheetsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleSheetsEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class GoogleSheetsEndpoint {
+public interface GoogleSheetsEndpoint {
 
 
     public static class GoogleSheetsCommon<T extends EndpointDefinition>
@@ -182,4 +182,10 @@ public class GoogleSheetsEndpoint {
     public static enum GoogleSheetsApiName {
         SPREADSHEETS, DATA;
     }
+    public default GoogleSheetsConsumer fromGoogleSheets(String path) {
+        return new GoogleSheetsConsumer(path);
+    }
+    public default GoogleSheetsProducer toGoogleSheets(String path) {
+        return new GoogleSheetsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleSheetsStreamEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleSheetsStreamEndpoint.java
index 3116a7b..789badf 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleSheetsStreamEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoogleSheetsStreamEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class GoogleSheetsStreamEndpoint {
+public interface GoogleSheetsStreamEndpoint {
 
 
     public static class GoogleSheetsStreamCommon<T extends EndpointDefinition>
@@ -362,4 +362,7 @@ public class GoogleSheetsStreamEndpoint {
             return (GoogleSheetsStreamConsumer) this;
         }
     }
+    public default GoogleSheetsStreamConsumer fromGoogleSheetsStream(String path) {
+        return new GoogleSheetsStreamConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoraEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoraEndpoint.java
index d2563cb..e76495a 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoraEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GoraEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class GoraEndpoint {
+public interface GoraEndpoint {
 
 
     public static class GoraCommon<T extends EndpointDefinition>
@@ -235,4 +235,10 @@ public class GoraEndpoint {
             return (GoraProducer) this;
         }
     }
+    public default GoraConsumer fromGora(String path) {
+        return new GoraConsumer(path);
+    }
+    public default GoraProducer toGora(String path) {
+        return new GoraProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GrapeEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GrapeEndpoint.java
index 3771cf6..2e51181 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GrapeEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GrapeEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class GrapeEndpoint {
+public interface GrapeEndpoint {
 
 
     public static class GrapeCommon<T extends EndpointDefinition>
@@ -72,4 +72,7 @@ public class GrapeEndpoint {
             super(path);
         }
     }
+    public default GrapeProducer toGrape(String path) {
+        return new GrapeProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GridFsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GridFsEndpoint.java
index cfc0d4b..19b9507 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GridFsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GridFsEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class GridFsEndpoint {
+public interface GridFsEndpoint {
 
 
     public static class GridFsCommon<T extends EndpointDefinition>
@@ -238,4 +238,10 @@ public class GridFsEndpoint {
     public static enum QueryStrategy {
         TimeStamp, PersistentTimestamp, FileAttribute, TimeStampAndFileAttribute, PersistentTimestampAndFileAttribute;
     }
+    public default GridFsConsumer fromGridFs(String path) {
+        return new GridFsConsumer(path);
+    }
+    public default GridFsProducer toGridFs(String path) {
+        return new GridFsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GrpcEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GrpcEndpoint.java
index ce2c3c8..e5b6bf5 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GrpcEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GrpcEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class GrpcEndpoint {
+public interface GrpcEndpoint {
 
 
     public static class GrpcCommon<T extends EndpointDefinition>
@@ -330,4 +330,10 @@ public class GrpcEndpoint {
     public static enum NegotiationType {
         TLS, PLAINTEXT_UPGRADE, PLAINTEXT;
     }
+    public default GrpcConsumer fromGrpc(String path) {
+        return new GrpcConsumer(path);
+    }
+    public default GrpcProducer toGrpc(String path) {
+        return new GrpcProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GuavaEventBusEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GuavaEventBusEndpoint.java
index f20971a..46f36ed 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GuavaEventBusEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/GuavaEventBusEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class GuavaEventBusEndpoint {
+public interface GuavaEventBusEndpoint {
 
 
     public static class GuavaEventBusCommon<T extends EndpointDefinition>
@@ -144,4 +144,10 @@ public class GuavaEventBusEndpoint {
             super(path);
         }
     }
+    public default GuavaEventBusConsumer fromGuavaEventBus(String path) {
+        return new GuavaEventBusConsumer(path);
+    }
+    public default GuavaEventBusProducer toGuavaEventBus(String path) {
+        return new GuavaEventBusProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HBaseEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HBaseEndpoint.java
index 5772ffb..0669450 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HBaseEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HBaseEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class HBaseEndpoint {
+public interface HBaseEndpoint {
 
 
     public static class HBaseCommon<T extends EndpointDefinition>
@@ -226,4 +226,10 @@ public class HBaseEndpoint {
             return (HBaseProducer) this;
         }
     }
+    public default HBaseConsumer fromHBase(String path) {
+        return new HBaseConsumer(path);
+    }
+    public default HBaseProducer toHBase(String path) {
+        return new HBaseProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastAtomicnumberEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastAtomicnumberEndpoint.java
index 6cb723a..9e14b38 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastAtomicnumberEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastAtomicnumberEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class HazelcastAtomicnumberEndpoint {
+public interface HazelcastAtomicnumberEndpoint {
 
 
     public static class HazelcastAtomicnumberCommon<T extends EndpointDefinition>
@@ -155,4 +155,8 @@ public class HazelcastAtomicnumberEndpoint {
     public static enum HazelcastOperation {
         PUT, DELETE, GET, UPDATE, QUERY, GET_ALL, CLEAR, PUT_IF_ABSENT, ADD_ALL, REMOVE_ALL, RETAIN_ALL, EVICT, EVICT_ALL, VALUE_COUNT, CONTAINS_KEY, CONTAINS_VALUE, GET_KEYS, REMOVE_VALUE, INCREMENT, DECREMENT, SET_VALUE, DESTROY, COMPARE_AND_SET, GET_AND_ADD, ADD, OFFER, PEEK, POLL, REMAINING_CAPACITY, DRAIN_TO, REMOVE_IF, TAKE, PUBLISH, READ_ONCE_HEAD, READ_ONCE_TAIL, CAPACITY;
     }
+    public default HazelcastAtomicnumberProducer toHazelcastAtomicnumber(
+            String path) {
+        return new HazelcastAtomicnumberProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastInstanceEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastInstanceEndpoint.java
index 833d9ae..b5276d4 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastInstanceEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastInstanceEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class HazelcastInstanceEndpoint {
+public interface HazelcastInstanceEndpoint {
 
 
     public static class HazelcastInstanceCommon<T extends EndpointDefinition>
@@ -222,4 +222,7 @@ public class HazelcastInstanceEndpoint {
     public static enum HazelcastQueueConsumerMode {
         LISTEN, POLL;
     }
+    public default HazelcastInstanceConsumer fromHazelcastInstance(String path) {
+        return new HazelcastInstanceConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastListEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastListEndpoint.java
index e29eeeb..8b7a582 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastListEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastListEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class HazelcastListEndpoint {
+public interface HazelcastListEndpoint {
 
 
     public static class HazelcastListCommon<T extends EndpointDefinition>
@@ -231,4 +231,10 @@ public class HazelcastListEndpoint {
     public static enum HazelcastQueueConsumerMode {
         LISTEN, POLL;
     }
+    public default HazelcastListConsumer fromHazelcastList(String path) {
+        return new HazelcastListConsumer(path);
+    }
+    public default HazelcastListProducer toHazelcastList(String path) {
+        return new HazelcastListProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastMapEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastMapEndpoint.java
index 48634dd..ebd1c11 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastMapEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastMapEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class HazelcastMapEndpoint {
+public interface HazelcastMapEndpoint {
 
 
     public static class HazelcastMapCommon<T extends EndpointDefinition>
@@ -231,4 +231,10 @@ public class HazelcastMapEndpoint {
     public static enum HazelcastQueueConsumerMode {
         LISTEN, POLL;
     }
+    public default HazelcastMapConsumer fromHazelcastMap(String path) {
+        return new HazelcastMapConsumer(path);
+    }
+    public default HazelcastMapProducer toHazelcastMap(String path) {
+        return new HazelcastMapProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastMultimapEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastMultimapEndpoint.java
index 1651c12..b0952ef 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastMultimapEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastMultimapEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class HazelcastMultimapEndpoint {
+public interface HazelcastMultimapEndpoint {
 
 
     public static class HazelcastMultimapCommon<T extends EndpointDefinition>
@@ -232,4 +232,10 @@ public class HazelcastMultimapEndpoint {
     public static enum HazelcastQueueConsumerMode {
         LISTEN, POLL;
     }
+    public default HazelcastMultimapConsumer fromHazelcastMultimap(String path) {
+        return new HazelcastMultimapConsumer(path);
+    }
+    public default HazelcastMultimapProducer toHazelcastMultimap(String path) {
+        return new HazelcastMultimapProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastQueueEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastQueueEndpoint.java
index 771af1d..ae414eb 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastQueueEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastQueueEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class HazelcastQueueEndpoint {
+public interface HazelcastQueueEndpoint {
 
 
     public static class HazelcastQueueCommon<T extends EndpointDefinition>
@@ -231,4 +231,10 @@ public class HazelcastQueueEndpoint {
     public static enum HazelcastQueueConsumerMode {
         LISTEN, POLL;
     }
+    public default HazelcastQueueConsumer fromHazelcastQueue(String path) {
+        return new HazelcastQueueConsumer(path);
+    }
+    public default HazelcastQueueProducer toHazelcastQueue(String path) {
+        return new HazelcastQueueProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastReplicatedmapEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastReplicatedmapEndpoint.java
index ca6006a..f5fc7ef 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastReplicatedmapEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastReplicatedmapEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class HazelcastReplicatedmapEndpoint {
+public interface HazelcastReplicatedmapEndpoint {
 
 
     public static class HazelcastReplicatedmapCommon<T extends EndpointDefinition>
@@ -232,4 +232,12 @@ public class HazelcastReplicatedmapEndpoint {
     public static enum HazelcastQueueConsumerMode {
         LISTEN, POLL;
     }
+    public default HazelcastReplicatedmapConsumer fromHazelcastReplicatedmap(
+            String path) {
+        return new HazelcastReplicatedmapConsumer(path);
+    }
+    public default HazelcastReplicatedmapProducer toHazelcastReplicatedmap(
+            String path) {
+        return new HazelcastReplicatedmapProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastRingbufferEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastRingbufferEndpoint.java
index dbc24b2..783a10a 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastRingbufferEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastRingbufferEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class HazelcastRingbufferEndpoint {
+public interface HazelcastRingbufferEndpoint {
 
 
     public static class HazelcastRingbufferCommon<T extends EndpointDefinition>
@@ -155,4 +155,7 @@ public class HazelcastRingbufferEndpoint {
     public static enum HazelcastOperation {
         PUT, DELETE, GET, UPDATE, QUERY, GET_ALL, CLEAR, PUT_IF_ABSENT, ADD_ALL, REMOVE_ALL, RETAIN_ALL, EVICT, EVICT_ALL, VALUE_COUNT, CONTAINS_KEY, CONTAINS_VALUE, GET_KEYS, REMOVE_VALUE, INCREMENT, DECREMENT, SET_VALUE, DESTROY, COMPARE_AND_SET, GET_AND_ADD, ADD, OFFER, PEEK, POLL, REMAINING_CAPACITY, DRAIN_TO, REMOVE_IF, TAKE, PUBLISH, READ_ONCE_HEAD, READ_ONCE_TAIL, CAPACITY;
     }
+    public default HazelcastRingbufferProducer toHazelcastRingbuffer(String path) {
+        return new HazelcastRingbufferProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastSedaEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastSedaEndpoint.java
index 7bd6bfa..4781146 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastSedaEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastSedaEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class HazelcastSedaEndpoint {
+public interface HazelcastSedaEndpoint {
 
 
     public static class HazelcastSedaCommon<T extends EndpointDefinition>
@@ -231,4 +231,10 @@ public class HazelcastSedaEndpoint {
     public static enum HazelcastQueueConsumerMode {
         LISTEN, POLL;
     }
+    public default HazelcastSedaConsumer fromHazelcastSeda(String path) {
+        return new HazelcastSedaConsumer(path);
+    }
+    public default HazelcastSedaProducer toHazelcastSeda(String path) {
+        return new HazelcastSedaProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastSetEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastSetEndpoint.java
index 2a404bc..76f1a1d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastSetEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastSetEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class HazelcastSetEndpoint {
+public interface HazelcastSetEndpoint {
 
 
     public static class HazelcastSetCommon<T extends EndpointDefinition>
@@ -231,4 +231,10 @@ public class HazelcastSetEndpoint {
     public static enum HazelcastQueueConsumerMode {
         LISTEN, POLL;
     }
+    public default HazelcastSetConsumer fromHazelcastSet(String path) {
+        return new HazelcastSetConsumer(path);
+    }
+    public default HazelcastSetProducer toHazelcastSet(String path) {
+        return new HazelcastSetProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastTopicEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastTopicEndpoint.java
index be417e9..3eec59a 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastTopicEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HazelcastTopicEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class HazelcastTopicEndpoint {
+public interface HazelcastTopicEndpoint {
 
 
     public static class HazelcastTopicCommon<T extends EndpointDefinition>
@@ -231,4 +231,10 @@ public class HazelcastTopicEndpoint {
     public static enum HazelcastQueueConsumerMode {
         LISTEN, POLL;
     }
+    public default HazelcastTopicConsumer fromHazelcastTopic(String path) {
+        return new HazelcastTopicConsumer(path);
+    }
+    public default HazelcastTopicProducer toHazelcastTopic(String path) {
+        return new HazelcastTopicProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HdfsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HdfsEndpoint.java
index 5a9b5a8..c0230cf 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HdfsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HdfsEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class HdfsEndpoint {
+public interface HdfsEndpoint {
 
 
     public static class HdfsCommon<T extends EndpointDefinition>
@@ -461,4 +461,10 @@ public class HdfsEndpoint {
     public static enum HdfsCompressionCodec {
         DEFAULT, GZIP, BZIP2;
     }
+    public default HdfsConsumer fromHdfs(String path) {
+        return new HdfsConsumer(path);
+    }
+    public default HdfsProducer toHdfs(String path) {
+        return new HdfsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HipchatEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HipchatEndpoint.java
index 829c0fa..244260d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HipchatEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HipchatEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class HipchatEndpoint {
+public interface HipchatEndpoint {
 
 
     public static class HipchatCommon<T extends EndpointDefinition>
@@ -307,4 +307,10 @@ public class HipchatEndpoint {
             super(path);
         }
     }
+    public default HipchatConsumer fromHipchat(String path) {
+        return new HipchatConsumer(path);
+    }
+    public default HipchatProducer toHipchat(String path) {
+        return new HipchatProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HttpEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HttpEndpoint.java
index 75edd53..3b5222e 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HttpEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/HttpEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.HeaderFilterStrategy;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class HttpEndpoint {
+public interface HttpEndpoint {
 
 
     public static class HttpCommon<T extends EndpointDefinition>
@@ -523,4 +523,7 @@ public class HttpEndpoint {
     public static enum HttpMethods {
         GET, POST, PUT, DELETE, HEAD, OPTIONS, TRACE, PATCH;
     }
+    public default HttpProducer toHttp(String path) {
+        return new HttpProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IAMEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IAMEndpoint.java
index 698a552..7c6140d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IAMEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IAMEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class IAMEndpoint {
+public interface IAMEndpoint {
 
 
     public static class IAMCommon<T extends EndpointDefinition>
@@ -129,4 +129,7 @@ public class IAMEndpoint {
     public static enum IAMOperations {
         listAccessKeys, createUser, deleteUser, getUser, listUsers, createAccessKey, deleteAccessKey, updateAccessKey, createGroup, deleteGroup, listGroups, addUserToGroup, removeUserFromGroup;
     }
+    public default IAMProducer toIAM(String path) {
+        return new IAMProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IOTAEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IOTAEndpoint.java
index a055a58..3c0beba 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IOTAEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IOTAEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class IOTAEndpoint {
+public interface IOTAEndpoint {
 
 
     public static class IOTACommon<T extends EndpointDefinition>
@@ -160,4 +160,10 @@ public class IOTAEndpoint {
             super(path);
         }
     }
+    public default IOTAConsumer fromIOTA(String path) {
+        return new IOTAConsumer(path);
+    }
+    public default IOTAProducer toIOTA(String path) {
+        return new IOTAProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IPFSEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IPFSEndpoint.java
index c2f298a..7857814 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IPFSEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IPFSEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class IPFSEndpoint {
+public interface IPFSEndpoint {
 
 
     public static class IPFSCommon<T extends EndpointDefinition>
@@ -79,4 +79,7 @@ public class IPFSEndpoint {
             super(path);
         }
     }
+    public default IPFSProducer toIPFS(String path) {
+        return new IPFSProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteCacheEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteCacheEndpoint.java
index 6adbdbb..d03ad03 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteCacheEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteCacheEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class IgniteCacheEndpoint {
+public interface IgniteCacheEndpoint {
 
 
     public static class IgniteCacheCommon<T extends EndpointDefinition>
@@ -232,4 +232,10 @@ public class IgniteCacheEndpoint {
     public static enum IgniteCacheOperation {
         GET, PUT, REMOVE, SIZE, REBALANCE, QUERY, CLEAR;
     }
+    public default IgniteCacheConsumer fromIgniteCache(String path) {
+        return new IgniteCacheConsumer(path);
+    }
+    public default IgniteCacheProducer toIgniteCache(String path) {
+        return new IgniteCacheProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteComputeEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteComputeEndpoint.java
index 1bd2cf2..a668956 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteComputeEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteComputeEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class IgniteComputeEndpoint {
+public interface IgniteComputeEndpoint {
 
 
     public static class IgniteComputeCommon<T extends EndpointDefinition>
@@ -145,4 +145,7 @@ public class IgniteComputeEndpoint {
     public static enum IgniteComputeExecutionType {
         CALL, BROADCAST, APPLY, EXECUTE, RUN, AFFINITY_CALL, AFFINITY_RUN;
     }
+    public default IgniteComputeProducer toIgniteCompute(String path) {
+        return new IgniteComputeProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteEventsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteEventsEndpoint.java
index ade31f5..0716ebe 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteEventsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteEventsEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class IgniteEventsEndpoint {
+public interface IgniteEventsEndpoint {
 
 
     public static class IgniteEventsCommon<T extends EndpointDefinition>
@@ -145,4 +145,7 @@ public class IgniteEventsEndpoint {
             return (IgniteEventsConsumer) this;
         }
     }
+    public default IgniteEventsConsumer fromIgniteEvents(String path) {
+        return new IgniteEventsConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteIdGenEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteIdGenEndpoint.java
index c5b15fc..8872caf 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteIdGenEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteIdGenEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class IgniteIdGenEndpoint {
+public interface IgniteIdGenEndpoint {
 
 
     public static class IgniteIdGenCommon<T extends EndpointDefinition>
@@ -118,4 +118,7 @@ public class IgniteIdGenEndpoint {
     public static enum IgniteIdGenOperation {
         ADD_AND_GET, GET, GET_AND_ADD, GET_AND_INCREMENT, INCREMENT_AND_GET;
     }
+    public default IgniteIdGenProducer toIgniteIdGen(String path) {
+        return new IgniteIdGenProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteMessagingEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteMessagingEndpoint.java
index a402a81..a79f78e 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteMessagingEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteMessagingEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class IgniteMessagingEndpoint {
+public interface IgniteMessagingEndpoint {
 
 
     public static class IgniteMessagingCommon<T extends EndpointDefinition>
@@ -167,4 +167,10 @@ public class IgniteMessagingEndpoint {
     public static enum IgniteMessagingSendMode {
         ORDERED, UNORDERED;
     }
+    public default IgniteMessagingConsumer fromIgniteMessaging(String path) {
+        return new IgniteMessagingConsumer(path);
+    }
+    public default IgniteMessagingProducer toIgniteMessaging(String path) {
+        return new IgniteMessagingProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteQueueEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteQueueEndpoint.java
index 3822ed4..d82193a 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteQueueEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteQueueEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class IgniteQueueEndpoint {
+public interface IgniteQueueEndpoint {
 
 
     public static class IgniteQueueCommon<T extends EndpointDefinition>
@@ -130,4 +130,7 @@ public class IgniteQueueEndpoint {
     public static enum IgniteQueueOperation {
         CONTAINS, ADD, SIZE, REMOVE, ITERATOR, CLEAR, RETAIN_ALL, ARRAY, DRAIN, ELEMENT, PEEK, OFFER, POLL, TAKE, PUT;
     }
+    public default IgniteQueueProducer toIgniteQueue(String path) {
+        return new IgniteQueueProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteSetEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteSetEndpoint.java
index f58b981..d523871 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteSetEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IgniteSetEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class IgniteSetEndpoint {
+public interface IgniteSetEndpoint {
 
 
     public static class IgniteSetCommon<T extends EndpointDefinition>
@@ -114,4 +114,7 @@ public class IgniteSetEndpoint {
     public static enum IgniteSetOperation {
         CONTAINS, ADD, SIZE, REMOVE, ITERATOR, CLEAR, RETAIN_ALL, ARRAY;
     }
+    public default IgniteSetProducer toIgniteSet(String path) {
+        return new IgniteSetProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/InfinispanEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/InfinispanEndpoint.java
index df46915..9233489 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/InfinispanEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/InfinispanEndpoint.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class InfinispanEndpoint {
+public interface InfinispanEndpoint {
 
 
     public static class InfinispanCommon<T extends EndpointDefinition>
@@ -262,4 +262,10 @@ public class InfinispanEndpoint {
     public static enum InfinispanOperation {
         PUT, PUTASYNC, PUTALL, PUTALLASYNC, PUTIFABSENT, PUTIFABSENTASYNC, GET, GETORDEFAULT, CONTAINSKEY, CONTAINSVALUE, REMOVE, REMOVEASYNC, REPLACE, REPLACEASYNC, SIZE, CLEAR, CLEARASYNC, QUERY, STATS, COMPUTE, COMPUTEASYNC;
     }
+    public default InfinispanConsumer fromInfinispan(String path) {
+        return new InfinispanConsumer(path);
+    }
+    public default InfinispanProducer toInfinispan(String path) {
+        return new InfinispanProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/InfluxDbEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/InfluxDbEndpoint.java
index 257a0a6..5b8a13e 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/InfluxDbEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/InfluxDbEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class InfluxDbEndpoint {
+public interface InfluxDbEndpoint {
 
 
     public static class InfluxDbCommon<T extends EndpointDefinition>
@@ -112,4 +112,7 @@ public class InfluxDbEndpoint {
             super(path);
         }
     }
+    public default InfluxDbProducer toInfluxDb(String path) {
+        return new InfluxDbProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IrcEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IrcEndpoint.java
index 3876bf6..7f3d9fc 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IrcEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IrcEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class IrcEndpoint {
+public interface IrcEndpoint {
 
 
     public static class IrcCommon<T extends EndpointDefinition>
@@ -285,4 +285,10 @@ public class IrcEndpoint {
             super(path);
         }
     }
+    public default IrcConsumer fromIrc(String path) {
+        return new IrcConsumer(path);
+    }
+    public default IrcProducer toIrc(String path) {
+        return new IrcProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IronMQEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IronMQEndpoint.java
index 0cb23f7..ac873c7 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IronMQEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/IronMQEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class IronMQEndpoint {
+public interface IronMQEndpoint {
 
 
     public static class IronMQCommon<T extends EndpointDefinition>
@@ -356,4 +356,10 @@ public class IronMQEndpoint {
             return (IronMQProducer) this;
         }
     }
+    public default IronMQConsumer fromIronMQ(String path) {
+        return new IronMQConsumer(path);
+    }
+    public default IronMQProducer toIronMQ(String path) {
+        return new IronMQProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JBPMEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JBPMEndpoint.java
index 7b808d3..704a078 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JBPMEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JBPMEndpoint.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class JBPMEndpoint {
+public interface JBPMEndpoint {
 
 
     public static class JBPMCommon<T extends EndpointDefinition>
@@ -326,4 +326,10 @@ public class JBPMEndpoint {
             return (JBPMProducer) this;
         }
     }
+    public default JBPMConsumer fromJBPM(String path) {
+        return new JBPMConsumer(path);
+    }
+    public default JBPMProducer toJBPM(String path) {
+        return new JBPMProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JCacheEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JCacheEndpoint.java
index 5b7948f..43c669f 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JCacheEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JCacheEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class JCacheEndpoint {
+public interface JCacheEndpoint {
 
 
     public static class JCacheCommon<T extends EndpointDefinition>
@@ -269,4 +269,10 @@ public class JCacheEndpoint {
     public static enum EventType {
         CREATED, UPDATED, REMOVED, EXPIRED;
     }
+    public default JCacheConsumer fromJCache(String path) {
+        return new JCacheConsumer(path);
+    }
+    public default JCacheProducer toJCache(String path) {
+        return new JCacheProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JGroupsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JGroupsEndpoint.java
index 0429e02..8b97557 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JGroupsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JGroupsEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class JGroupsEndpoint {
+public interface JGroupsEndpoint {
 
 
     public static class JGroupsCommon<T extends EndpointDefinition>
@@ -135,4 +135,10 @@ public class JGroupsEndpoint {
             super(path);
         }
     }
+    public default JGroupsConsumer fromJGroups(String path) {
+        return new JGroupsConsumer(path);
+    }
+    public default JGroupsProducer toJGroups(String path) {
+        return new JGroupsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JGroupsRaftEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JGroupsRaftEndpoint.java
index 96a616f..408f1f6 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JGroupsRaftEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JGroupsRaftEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class JGroupsRaftEndpoint {
+public interface JGroupsRaftEndpoint {
 
 
     public static class JGroupsRaftCommon<T extends EndpointDefinition>
@@ -128,4 +128,10 @@ public class JGroupsRaftEndpoint {
             super(path);
         }
     }
+    public default JGroupsRaftConsumer fromJGroupsRaft(String path) {
+        return new JGroupsRaftConsumer(path);
+    }
+    public default JGroupsRaftProducer toJGroupsRaft(String path) {
+        return new JGroupsRaftProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JMXEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JMXEndpoint.java
index 07475bb..4da157e 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JMXEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JMXEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class JMXEndpoint {
+public interface JMXEndpoint {
 
 
     public static class JMXCommon<T extends EndpointDefinition>
@@ -336,4 +336,7 @@ public class JMXEndpoint {
             return (JMXConsumer) this;
         }
     }
+    public default JMXConsumer fromJMX(String path) {
+        return new JMXConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JSR356WebSocketEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JSR356WebSocketEndpoint.java
index 9e548ba..9ffad49 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JSR356WebSocketEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JSR356WebSocketEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class JSR356WebSocketEndpoint {
+public interface JSR356WebSocketEndpoint {
 
 
     public static class JSR356WebSocketCommon<T extends EndpointDefinition>
@@ -135,4 +135,10 @@ public class JSR356WebSocketEndpoint {
             super(path);
         }
     }
+    public default JSR356WebSocketConsumer fromJSR356WebSocket(String path) {
+        return new JSR356WebSocketConsumer(path);
+    }
+    public default JSR356WebSocketProducer toJSR356WebSocket(String path) {
+        return new JSR356WebSocketProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JcloudsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JcloudsEndpoint.java
index d947ffc..0ef9bf8 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JcloudsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JcloudsEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class JcloudsEndpoint {
+public interface JcloudsEndpoint {
 
 
     public static class JcloudsCommon<T extends EndpointDefinition>
@@ -216,4 +216,10 @@ public class JcloudsEndpoint {
     public static enum JcloudsCommand {
         blobstore, compute;
     }
+    public default JcloudsConsumer fromJclouds(String path) {
+        return new JcloudsConsumer(path);
+    }
+    public default JcloudsProducer toJclouds(String path) {
+        return new JcloudsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JcrEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JcrEndpoint.java
index 95f4603..9b021f3 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JcrEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JcrEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class JcrEndpoint {
+public interface JcrEndpoint {
 
 
     public static class JcrCommon<T extends EndpointDefinition>
@@ -211,4 +211,10 @@ public class JcrEndpoint {
             super(path);
         }
     }
+    public default JcrConsumer fromJcr(String path) {
+        return new JcrConsumer(path);
+    }
+    public default JcrProducer toJcr(String path) {
+        return new JcrProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JdbcEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JdbcEndpoint.java
index c5b05e3..6d5fcd6 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JdbcEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JdbcEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class JdbcEndpoint {
+public interface JdbcEndpoint {
 
 
     public static class JdbcCommon<T extends EndpointDefinition>
@@ -199,4 +199,7 @@ public class JdbcEndpoint {
     public static enum JdbcOutputType {
         SelectOne, SelectList, StreamList;
     }
+    public default JdbcProducer toJdbc(String path) {
+        return new JdbcProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JettyHttpEndpoint9.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JettyHttpEndpoint9.java
index 6a3973d..baa0efe 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JettyHttpEndpoint9.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JettyHttpEndpoint9.java
@@ -32,7 +32,7 @@ import org.apache.camel.spi.HeaderFilterStrategy;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class JettyHttpEndpoint9 {
+public interface JettyHttpEndpoint9 {
 
 
     public static class JettyHttpCommon9<T extends EndpointDefinition>
@@ -626,4 +626,10 @@ public class JettyHttpEndpoint9 {
     public static enum HttpMethods {
         GET, POST, PUT, DELETE, HEAD, OPTIONS, TRACE, PATCH;
     }
+    public default JettyHttpConsumer9 fromJettyHttp9(String path) {
+        return new JettyHttpConsumer9(path);
+    }
+    public default JettyHttpProducer9 toJettyHttp9(String path) {
+        return new JettyHttpProducer9(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JingEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JingEndpoint.java
index 02f38ee9..14c3f0f 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JingEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JingEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class JingEndpoint {
+public interface JingEndpoint {
 
 
     public static class JingCommon<T extends EndpointDefinition>
@@ -81,4 +81,7 @@ public class JingEndpoint {
             super(path);
         }
     }
+    public default JingProducer toJing(String path) {
+        return new JingProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JiraEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JiraEndpoint.java
index 9483f58..b06d7a4 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JiraEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JiraEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class JiraEndpoint {
+public interface JiraEndpoint {
 
 
     public static class JiraCommon<T extends EndpointDefinition>
@@ -210,4 +210,10 @@ public class JiraEndpoint {
     public static enum JiraType {
         ADDCOMMENT, ADDISSUE, ATTACH, DELETEISSUE, NEWISSUES, NEWCOMMENTS, UPDATEISSUE, TRANSITIONISSUE, WATCHERS;
     }
+    public default JiraConsumer fromJira(String path) {
+        return new JiraConsumer(path);
+    }
+    public default JiraProducer toJira(String path) {
+        return new JiraProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JmsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JmsEndpoint.java
index 0cafd09..9ec9746 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JmsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JmsEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.HeaderFilterStrategy;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class JmsEndpoint {
+public interface JmsEndpoint {
 
 
     public static class JmsCommon<T extends EndpointDefinition>
@@ -1119,4 +1119,10 @@ public class JmsEndpoint {
     public static enum ReplyToType {
         Temporary, Shared, Exclusive;
     }
+    public default JmsConsumer fromJms(String path) {
+        return new JmsConsumer(path);
+    }
+    public default JmsProducer toJms(String path) {
+        return new JmsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JoltEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JoltEndpoint.java
index d28f5f9..42fbdd1 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JoltEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JoltEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class JoltEndpoint {
+public interface JoltEndpoint {
 
 
     public static class JoltCommon<T extends EndpointDefinition>
@@ -117,4 +117,7 @@ public class JoltEndpoint {
     public static enum JoltTransformType {
         Chainr, Shiftr, Defaultr, Removr, Sortr;
     }
+    public default JoltProducer toJolt(String path) {
+        return new JoltProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JooqEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JooqEndpoint.java
index 4b11537..d98c02b 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JooqEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JooqEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class JooqEndpoint {
+public interface JooqEndpoint {
 
 
     public static class JooqCommon<T extends EndpointDefinition>
@@ -289,4 +289,10 @@ public class JooqEndpoint {
     public static enum JooqOperation {
         EXECUTE, FETCH, NONE;
     }
+    public default JooqConsumer fromJooq(String path) {
+        return new JooqConsumer(path);
+    }
+    public default JooqProducer toJooq(String path) {
+        return new JooqProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JpaEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JpaEndpoint.java
index 7c5a163..f11b80a 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JpaEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JpaEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class JpaEndpoint {
+public interface JpaEndpoint {
 
 
     public static class JpaCommon<T extends EndpointDefinition>
@@ -482,4 +482,10 @@ public class JpaEndpoint {
     public static enum LockModeType {
         READ, WRITE, OPTIMISTIC, OPTIMISTIC_FORCE_INCREMENT, PESSIMISTIC_READ, PESSIMISTIC_WRITE, PESSIMISTIC_FORCE_INCREMENT, NONE;
     }
+    public default JpaConsumer fromJpa(String path) {
+        return new JpaConsumer(path);
+    }
+    public default JpaProducer toJpa(String path) {
+        return new JpaProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JsonValidatorEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JsonValidatorEndpoint.java
index 3deea69..1c35c59 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JsonValidatorEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/JsonValidatorEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class JsonValidatorEndpoint {
+public interface JsonValidatorEndpoint {
 
 
     public static class JsonValidatorCommon<T extends EndpointDefinition>
@@ -126,4 +126,7 @@ public class JsonValidatorEndpoint {
             super(path);
         }
     }
+    public default JsonValidatorProducer toJsonValidator(String path) {
+        return new JsonValidatorProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/Jt400Endpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/Jt400Endpoint.java
index 4bfa2d7..8eb1755 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/Jt400Endpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/Jt400Endpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class Jt400Endpoint {
+public interface Jt400Endpoint {
 
 
     public static class Jt400Common<T extends EndpointDefinition>
@@ -389,4 +389,10 @@ public class Jt400Endpoint {
     public static enum Jt400Type {
         DTAQ, PGM, SRVPGM;
     }
+    public default Jt400Consumer fromJt400(String path) {
+        return new Jt400Consumer(path);
+    }
+    public default Jt400Producer toJt400(String path) {
+        return new Jt400Producer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KMSEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KMSEndpoint.java
index aa90192..5e42ae1 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KMSEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KMSEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class KMSEndpoint {
+public interface KMSEndpoint {
 
 
     public static class KMSCommon<T extends EndpointDefinition>
@@ -128,4 +128,7 @@ public class KMSEndpoint {
     public static enum KMSOperations {
         listKeys, createKey, disableKey, scheduleKeyDeletion, describeKey, enableKey;
     }
+    public default KMSProducer toKMS(String path) {
+        return new KMSProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KafkaEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KafkaEndpoint.java
index c63ef5b..a303ad8 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KafkaEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KafkaEndpoint.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.StateRepository;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class KafkaEndpoint {
+public interface KafkaEndpoint {
 
 
     public static class KafkaCommon<T extends EndpointDefinition>
@@ -1067,4 +1067,10 @@ public class KafkaEndpoint {
             return (KafkaProducer) this;
         }
     }
+    public default KafkaConsumer fromKafka(String path) {
+        return new KafkaConsumer(path);
+    }
+    public default KafkaProducer toKafka(String path) {
+        return new KafkaProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KeystoneEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KeystoneEndpoint.java
index 8d824d5..0a73a7d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KeystoneEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KeystoneEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class KeystoneEndpoint {
+public interface KeystoneEndpoint {
 
 
     public static class KeystoneCommon<T extends EndpointDefinition>
@@ -121,4 +121,7 @@ public class KeystoneEndpoint {
             super(path);
         }
     }
+    public default KeystoneProducer toKeystone(String path) {
+        return new KeystoneProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KinesisEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KinesisEndpoint.java
index 58e70c5..fa8eb41 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KinesisEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KinesisEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class KinesisEndpoint {
+public interface KinesisEndpoint {
 
 
     public static class KinesisCommon<T extends EndpointDefinition>
@@ -368,4 +368,10 @@ public class KinesisEndpoint {
     public static enum KinesisShardClosedStrategyEnum {
         ignore, fail, silent;
     }
+    public default KinesisConsumer fromKinesis(String path) {
+        return new KinesisConsumer(path);
+    }
+    public default KinesisProducer toKinesis(String path) {
+        return new KinesisProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KinesisFirehoseEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KinesisFirehoseEndpoint.java
index 093ed7c..188bf26 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KinesisFirehoseEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KinesisFirehoseEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class KinesisFirehoseEndpoint {
+public interface KinesisFirehoseEndpoint {
 
 
     public static class KinesisFirehoseCommon<T extends EndpointDefinition>
@@ -118,4 +118,7 @@ public class KinesisFirehoseEndpoint {
             super(path);
         }
     }
+    public default KinesisFirehoseProducer toKinesisFirehose(String path) {
+        return new KinesisFirehoseProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesConfigMapsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesConfigMapsEndpoint.java
index 4c2378c..43100da 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesConfigMapsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesConfigMapsEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class KubernetesConfigMapsEndpoint {
+public interface KubernetesConfigMapsEndpoint {
 
 
     public static class KubernetesConfigMapsCommon<T extends EndpointDefinition>
@@ -215,4 +215,8 @@ public class KubernetesConfigMapsEndpoint {
             return (KubernetesConfigMapsProducer) this;
         }
     }
+    public default KubernetesConfigMapsProducer toKubernetesConfigMaps(
+            String path) {
+        return new KubernetesConfigMapsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesDeploymentsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesDeploymentsEndpoint.java
index b2ae89e..79b0542 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesDeploymentsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesDeploymentsEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class KubernetesDeploymentsEndpoint {
+public interface KubernetesDeploymentsEndpoint {
 
 
     public static class KubernetesDeploymentsCommon<T extends EndpointDefinition>
@@ -300,4 +300,12 @@ public class KubernetesDeploymentsEndpoint {
             return (KubernetesDeploymentsProducer) this;
         }
     }
+    public default KubernetesDeploymentsConsumer fromKubernetesDeployments(
+            String path) {
+        return new KubernetesDeploymentsConsumer(path);
+    }
+    public default KubernetesDeploymentsProducer toKubernetesDeployments(
+            String path) {
+        return new KubernetesDeploymentsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesHPAEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesHPAEndpoint.java
index 5f694ed..3631a24 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesHPAEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesHPAEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class KubernetesHPAEndpoint {
+public interface KubernetesHPAEndpoint {
 
 
     public static class KubernetesHPACommon<T extends EndpointDefinition>
@@ -300,4 +300,10 @@ public class KubernetesHPAEndpoint {
             return (KubernetesHPAProducer) this;
         }
     }
+    public default KubernetesHPAConsumer fromKubernetesHPA(String path) {
+        return new KubernetesHPAConsumer(path);
+    }
+    public default KubernetesHPAProducer toKubernetesHPA(String path) {
+        return new KubernetesHPAProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesJobEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesJobEndpoint.java
index 9369e01..017049a 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesJobEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesJobEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class KubernetesJobEndpoint {
+public interface KubernetesJobEndpoint {
 
 
     public static class KubernetesJobCommon<T extends EndpointDefinition>
@@ -300,4 +300,10 @@ public class KubernetesJobEndpoint {
             return (KubernetesJobProducer) this;
         }
     }
+    public default KubernetesJobConsumer fromKubernetesJob(String path) {
+        return new KubernetesJobConsumer(path);
+    }
+    public default KubernetesJobProducer toKubernetesJob(String path) {
+        return new KubernetesJobProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesNamespacesEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesNamespacesEndpoint.java
index c757d4f..d317f47 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesNamespacesEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesNamespacesEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class KubernetesNamespacesEndpoint {
+public interface KubernetesNamespacesEndpoint {
 
 
     public static class KubernetesNamespacesCommon<T extends EndpointDefinition>
@@ -300,4 +300,12 @@ public class KubernetesNamespacesEndpoint {
             return (KubernetesNamespacesProducer) this;
         }
     }
+    public default KubernetesNamespacesConsumer fromKubernetesNamespaces(
+            String path) {
+        return new KubernetesNamespacesConsumer(path);
+    }
+    public default KubernetesNamespacesProducer toKubernetesNamespaces(
+            String path) {
+        return new KubernetesNamespacesProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesNodesEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesNodesEndpoint.java
index c97dfab..aba1a49 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesNodesEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesNodesEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class KubernetesNodesEndpoint {
+public interface KubernetesNodesEndpoint {
 
 
     public static class KubernetesNodesCommon<T extends EndpointDefinition>
@@ -300,4 +300,10 @@ public class KubernetesNodesEndpoint {
             return (KubernetesNodesProducer) this;
         }
     }
+    public default KubernetesNodesConsumer fromKubernetesNodes(String path) {
+        return new KubernetesNodesConsumer(path);
+    }
+    public default KubernetesNodesProducer toKubernetesNodes(String path) {
+        return new KubernetesNodesProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesPersistentVolumesClaimsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesPersistentVolumesClaimsEndpoint.java
index 48b0110..b080e2b 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesPersistentVolumesClaimsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesPersistentVolumesClaimsEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class KubernetesPersistentVolumesClaimsEndpoint {
+public interface KubernetesPersistentVolumesClaimsEndpoint {
 
 
     public static class KubernetesPersistentVolumesClaimsCommon<T extends EndpointDefinition>
@@ -216,4 +216,8 @@ public class KubernetesPersistentVolumesClaimsEndpoint {
             return (KubernetesPersistentVolumesClaimsProducer) this;
         }
     }
+    public default KubernetesPersistentVolumesClaimsProducer toKubernetesPersistentVolumesClaims(
+            String path) {
+        return new KubernetesPersistentVolumesClaimsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesPersistentVolumesEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesPersistentVolumesEndpoint.java
index 2ef1267..1809541 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesPersistentVolumesEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesPersistentVolumesEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class KubernetesPersistentVolumesEndpoint {
+public interface KubernetesPersistentVolumesEndpoint {
 
 
     public static class KubernetesPersistentVolumesCommon<T extends EndpointDefinition>
@@ -215,4 +215,8 @@ public class KubernetesPersistentVolumesEndpoint {
             return (KubernetesPersistentVolumesProducer) this;
         }
     }
+    public default KubernetesPersistentVolumesProducer toKubernetesPersistentVolumes(
+            String path) {
+        return new KubernetesPersistentVolumesProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesPodsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesPodsEndpoint.java
index 734b59a..4a82a1d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesPodsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesPodsEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class KubernetesPodsEndpoint {
+public interface KubernetesPodsEndpoint {
 
 
     public static class KubernetesPodsCommon<T extends EndpointDefinition>
@@ -300,4 +300,10 @@ public class KubernetesPodsEndpoint {
             return (KubernetesPodsProducer) this;
         }
     }
+    public default KubernetesPodsConsumer fromKubernetesPods(String path) {
+        return new KubernetesPodsConsumer(path);
+    }
+    public default KubernetesPodsProducer toKubernetesPods(String path) {
+        return new KubernetesPodsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesReplicationControllersEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesReplicationControllersEndpoint.java
index a7a1691..3e7ed95 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesReplicationControllersEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesReplicationControllersEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class KubernetesReplicationControllersEndpoint {
+public interface KubernetesReplicationControllersEndpoint {
 
 
     public static class KubernetesReplicationControllersCommon<T extends EndpointDefinition>
@@ -305,4 +305,12 @@ public class KubernetesReplicationControllersEndpoint {
             return (KubernetesReplicationControllersProducer) this;
         }
     }
+    public default KubernetesReplicationControllersConsumer fromKubernetesReplicationControllers(
+            String path) {
+        return new KubernetesReplicationControllersConsumer(path);
+    }
+    public default KubernetesReplicationControllersProducer toKubernetesReplicationControllers(
+            String path) {
+        return new KubernetesReplicationControllersProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesResourcesQuotaEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesResourcesQuotaEndpoint.java
index afcb0f8..cbd9994 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesResourcesQuotaEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesResourcesQuotaEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class KubernetesResourcesQuotaEndpoint {
+public interface KubernetesResourcesQuotaEndpoint {
 
 
     public static class KubernetesResourcesQuotaCommon<T extends EndpointDefinition>
@@ -215,4 +215,8 @@ public class KubernetesResourcesQuotaEndpoint {
             return (KubernetesResourcesQuotaProducer) this;
         }
     }
+    public default KubernetesResourcesQuotaProducer toKubernetesResourcesQuota(
+            String path) {
+        return new KubernetesResourcesQuotaProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesSecretsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesSecretsEndpoint.java
index 08d73fb..72779f1 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesSecretsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesSecretsEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class KubernetesSecretsEndpoint {
+public interface KubernetesSecretsEndpoint {
 
 
     public static class KubernetesSecretsCommon<T extends EndpointDefinition>
@@ -215,4 +215,7 @@ public class KubernetesSecretsEndpoint {
             return (KubernetesSecretsProducer) this;
         }
     }
+    public default KubernetesSecretsProducer toKubernetesSecrets(String path) {
+        return new KubernetesSecretsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesServiceAccountsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesServiceAccountsEndpoint.java
index 4c8962c..577a759 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesServiceAccountsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesServiceAccountsEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class KubernetesServiceAccountsEndpoint {
+public interface KubernetesServiceAccountsEndpoint {
 
 
     public static class KubernetesServiceAccountsCommon<T extends EndpointDefinition>
@@ -215,4 +215,8 @@ public class KubernetesServiceAccountsEndpoint {
             return (KubernetesServiceAccountsProducer) this;
         }
     }
+    public default KubernetesServiceAccountsProducer toKubernetesServiceAccounts(
+            String path) {
+        return new KubernetesServiceAccountsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesServicesEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesServicesEndpoint.java
index 4f9b749..55f9e35 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesServicesEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/KubernetesServicesEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class KubernetesServicesEndpoint {
+public interface KubernetesServicesEndpoint {
 
 
     public static class KubernetesServicesCommon<T extends EndpointDefinition>
@@ -300,4 +300,10 @@ public class KubernetesServicesEndpoint {
             return (KubernetesServicesProducer) this;
         }
     }
+    public default KubernetesServicesConsumer fromKubernetesServices(String path) {
+        return new KubernetesServicesConsumer(path);
+    }
+    public default KubernetesServicesProducer toKubernetesServices(String path) {
+        return new KubernetesServicesProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LambdaEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LambdaEndpoint.java
index c73db1c..5f5cf23 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LambdaEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LambdaEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class LambdaEndpoint {
+public interface LambdaEndpoint {
 
 
     public static class LambdaCommon<T extends EndpointDefinition>
@@ -129,4 +129,7 @@ public class LambdaEndpoint {
     public static enum LambdaOperations {
         listFunctions, getFunction, createFunction, deleteFunction, invokeFunction, updateFunction, createEventSourceMapping, deleteEventSourceMapping, listEventSourceMapping, listTags, tagResource, untagResource, publishVersion, listVersions;
     }
+    public default LambdaProducer toLambda(String path) {
+        return new LambdaProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LanguageEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LanguageEndpoint.java
index fe43a59..8097596 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LanguageEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LanguageEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class LanguageEndpoint {
+public interface LanguageEndpoint {
 
 
     public static class LanguageCommon<T extends EndpointDefinition>
@@ -122,4 +122,7 @@ public class LanguageEndpoint {
             super(path);
         }
     }
+    public default LanguageProducer toLanguage(String path) {
+        return new LanguageProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LdapEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LdapEndpoint.java
index 7b627de..0aa2d9b 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LdapEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LdapEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class LdapEndpoint {
+public interface LdapEndpoint {
 
 
     public static class LdapCommon<T extends EndpointDefinition>
@@ -114,4 +114,7 @@ public class LdapEndpoint {
             super(path);
         }
     }
+    public default LdapProducer toLdap(String path) {
+        return new LdapProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LdifEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LdifEndpoint.java
index 4f05f84..5a4027b 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LdifEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LdifEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class LdifEndpoint {
+public interface LdifEndpoint {
 
 
     public static class LdifCommon<T extends EndpointDefinition>
@@ -74,4 +74,7 @@ public class LdifEndpoint {
             super(path);
         }
     }
+    public default LdifProducer toLdif(String path) {
+        return new LdifProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LinkedInEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LinkedInEndpoint.java
index d5df7b3..be423da 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LinkedInEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LinkedInEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class LinkedInEndpoint {
+public interface LinkedInEndpoint {
 
 
     public static class LinkedInCommon<T extends EndpointDefinition>
@@ -253,4 +253,10 @@ public class LinkedInEndpoint {
     public static enum LinkedInApiName {
         comments, companies, groups, jobs, people, posts, search;
     }
+    public default LinkedInConsumer fromLinkedIn(String path) {
+        return new LinkedInConsumer(path);
+    }
+    public default LinkedInProducer toLinkedIn(String path) {
+        return new LinkedInProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LogEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LogEndpoint.java
index 1e3ca49..013b76d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LogEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LogEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class LogEndpoint {
+public interface LogEndpoint {
 
 
     public static class LogCommon<T extends EndpointDefinition>
@@ -278,4 +278,7 @@ public class LogEndpoint {
     public static enum OutputStyle {
         Default, Tab, Fixed;
     }
+    public default LogProducer toLog(String path) {
+        return new LogProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LuceneEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LuceneEndpoint.java
index f79e581..0d4228d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LuceneEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LuceneEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class LuceneEndpoint {
+public interface LuceneEndpoint {
 
 
     public static class LuceneCommon<T extends EndpointDefinition>
@@ -121,4 +121,7 @@ public class LuceneEndpoint {
     public static enum LuceneOperation {
         insert, query;
     }
+    public default LuceneProducer toLucene(String path) {
+        return new LuceneProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LumberjackEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LumberjackEndpoint.java
index b83a57a..7127d9c 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LumberjackEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/LumberjackEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class LumberjackEndpoint {
+public interface LumberjackEndpoint {
 
 
     public static class LumberjackCommon<T extends EndpointDefinition>
@@ -124,4 +124,7 @@ public class LumberjackEndpoint {
             return (LumberjackConsumer) this;
         }
     }
+    public default LumberjackConsumer fromLumberjack(String path) {
+        return new LumberjackConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MQEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MQEndpoint.java
index 91b9398..4f996da 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MQEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MQEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class MQEndpoint {
+public interface MQEndpoint {
 
 
     public static class MQCommon<T extends EndpointDefinition>
@@ -129,4 +129,7 @@ public class MQEndpoint {
     public static enum MQOperations {
         listBrokers, createBroker, deleteBroker, rebootBroker, updateBroker, describeBroker;
     }
+    public default MQProducer toMQ(String path) {
+        return new MQProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MQTTEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MQTTEndpoint.java
index ffe65f8..2a02b88 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MQTTEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MQTTEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class MQTTEndpoint {
+public interface MQTTEndpoint {
 
 
     public static class MQTTCommon<T extends EndpointDefinition>
@@ -440,4 +440,10 @@ public class MQTTEndpoint {
     public static enum QoS {
         AtMostOnce, AtLeastOnce, ExactlyOnce;
     }
+    public default MQTTConsumer fromMQTT(String path) {
+        return new MQTTConsumer(path);
+    }
+    public default MQTTProducer toMQTT(String path) {
+        return new MQTTProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MSKEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MSKEndpoint.java
index 12c6377..2b32f48 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MSKEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MSKEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class MSKEndpoint {
+public interface MSKEndpoint {
 
 
     public static class MSKCommon<T extends EndpointDefinition>
@@ -128,4 +128,7 @@ public class MSKEndpoint {
     public static enum MSKOperations {
         listClusters, createCluster, deleteCluster, describeCluster;
     }
+    public default MSKProducer toMSK(String path) {
+        return new MSKProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MailEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MailEndpoint.java
index ec8c013..a05cc34 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MailEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MailEndpoint.java
@@ -36,7 +36,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class MailEndpoint {
+public interface MailEndpoint {
 
 
     public static class MailCommon<T extends EndpointDefinition>
@@ -679,4 +679,10 @@ public class MailEndpoint {
             return (MailProducer) this;
         }
     }
+    public default MailConsumer fromMail(String path) {
+        return new MailConsumer(path);
+    }
+    public default MailProducer toMail(String path) {
+        return new MailProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MasterEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MasterEndpoint.java
index fc07625..854a99f 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MasterEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MasterEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class MasterEndpoint {
+public interface MasterEndpoint {
 
 
     public static class MasterCommon<T extends EndpointDefinition>
@@ -114,4 +114,7 @@ public class MasterEndpoint {
             return (MasterConsumer) this;
         }
     }
+    public default MasterConsumer fromMaster(String path) {
+        return new MasterConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MetricsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MetricsEndpoint.java
index d168509..882d469 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MetricsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MetricsEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class MetricsEndpoint {
+public interface MetricsEndpoint {
 
 
     public static class MetricsCommon<T extends EndpointDefinition>
@@ -134,4 +134,7 @@ public class MetricsEndpoint {
     public static enum MetricsTimerAction {
         start, stop;
     }
+    public default MetricsProducer toMetrics(String path) {
+        return new MetricsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MicrometerEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MicrometerEndpoint.java
index d2a0ae2..0edc5f2 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MicrometerEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MicrometerEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class MicrometerEndpoint {
+public interface MicrometerEndpoint {
 
 
     public static class MicrometerCommon<T extends EndpointDefinition>
@@ -119,4 +119,7 @@ public class MicrometerEndpoint {
             super(path);
         }
     }
+    public default MicrometerProducer toMicrometer(String path) {
+        return new MicrometerProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MiloClientEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MiloClientEndpoint.java
index 1be2b5d..bdc3b2e 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MiloClientEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MiloClientEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class MiloClientEndpoint {
+public interface MiloClientEndpoint {
 
 
     public static class MiloClientCommon<T extends EndpointDefinition>
@@ -292,4 +292,10 @@ public class MiloClientEndpoint {
             super(path);
         }
     }
+    public default MiloClientConsumer fromMiloClient(String path) {
+        return new MiloClientConsumer(path);
+    }
+    public default MiloClientProducer toMiloClient(String path) {
+        return new MiloClientProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MiloServerEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MiloServerEndpoint.java
index 5e0ef85..fd201f7 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MiloServerEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MiloServerEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class MiloServerEndpoint {
+public interface MiloServerEndpoint {
 
 
     public static class MiloServerCommon<T extends EndpointDefinition>
@@ -116,4 +116,10 @@ public class MiloServerEndpoint {
             super(path);
         }
     }
+    public default MiloServerConsumer fromMiloServer(String path) {
+        return new MiloServerConsumer(path);
+    }
+    public default MiloServerProducer toMiloServer(String path) {
+        return new MiloServerProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/Mina2Endpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/Mina2Endpoint.java
index 07d6816..e3c8364 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/Mina2Endpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/Mina2Endpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class Mina2Endpoint {
+public interface Mina2Endpoint {
 
 
     public static class Mina2Common<T extends EndpointDefinition>
@@ -341,4 +341,10 @@ public class Mina2Endpoint {
     public static enum Mina2TextLineDelimiter {
         DEFAULT, AUTO, UNIX, WINDOWS, MAC;
     }
+    public default Mina2Consumer fromMina2(String path) {
+        return new Mina2Consumer(path);
+    }
+    public default Mina2Producer toMina2(String path) {
+        return new Mina2Producer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MllpEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MllpEndpoint.java
index a478bca..1cf2b32 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MllpEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MllpEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class MllpEndpoint {
+public interface MllpEndpoint {
 
 
     public static class MllpCommon<T extends EndpointDefinition>
@@ -332,4 +332,10 @@ public class MllpEndpoint {
             return (MllpProducer) this;
         }
     }
+    public default MllpConsumer fromMllp(String path) {
+        return new MllpConsumer(path);
+    }
+    public default MllpProducer toMllp(String path) {
+        return new MllpProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MockEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MockEndpoint.java
index 2ac2c02..e379c97 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MockEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MockEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class MockEndpoint {
+public interface MockEndpoint {
 
 
     public static class MockCommon<T extends EndpointDefinition>
@@ -188,4 +188,7 @@ public class MockEndpoint {
             return (MockProducer) this;
         }
     }
+    public default MockProducer toMock(String path) {
+        return new MockProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MongoDbEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MongoDbEndpoint.java
index f8a9341..d4fec2c 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MongoDbEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MongoDbEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class MongoDbEndpoint {
+public interface MongoDbEndpoint {
 
 
     public static class MongoDbCommon<T extends EndpointDefinition>
@@ -273,4 +273,10 @@ public class MongoDbEndpoint {
     public static enum MongoDbOutputType {
         DocumentList, Document, MongoIterable;
     }
+    public default MongoDbConsumer fromMongoDb(String path) {
+        return new MongoDbConsumer(path);
+    }
+    public default MongoDbProducer toMongoDb(String path) {
+        return new MongoDbProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MsvEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MsvEndpoint.java
index bee9eff..01c9cfd 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MsvEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MsvEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class MsvEndpoint {
+public interface MsvEndpoint {
 
 
     public static class MsvCommon<T extends EndpointDefinition>
@@ -154,4 +154,7 @@ public class MsvEndpoint {
             super(path);
         }
     }
+    public default MsvProducer toMsv(String path) {
+        return new MsvProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MustacheEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MustacheEndpoint.java
index 5b1bc28..a4c6102 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MustacheEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MustacheEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class MustacheEndpoint {
+public interface MustacheEndpoint {
 
 
     public static class MustacheCommon<T extends EndpointDefinition>
@@ -107,4 +107,7 @@ public class MustacheEndpoint {
             super(path);
         }
     }
+    public default MustacheProducer toMustache(String path) {
+        return new MustacheProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MvelEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MvelEndpoint.java
index d7117c4..79390fd 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MvelEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MvelEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class MvelEndpoint {
+public interface MvelEndpoint {
 
 
     public static class MvelCommon<T extends EndpointDefinition>
@@ -91,4 +91,7 @@ public class MvelEndpoint {
             super(path);
         }
     }
+    public default MvelProducer toMvel(String path) {
+        return new MvelProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MyBatisBeanEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MyBatisBeanEndpoint.java
index d2397d5..f1ed1a6 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MyBatisBeanEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MyBatisBeanEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class MyBatisBeanEndpoint {
+public interface MyBatisBeanEndpoint {
 
 
     public static class MyBatisBeanCommon<T extends EndpointDefinition>
@@ -120,4 +120,7 @@ public class MyBatisBeanEndpoint {
     public static enum ExecutorType {
         SIMPLE, REUSE, BATCH;
     }
+    public default MyBatisBeanProducer toMyBatisBean(String path) {
+        return new MyBatisBeanProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MyBatisEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MyBatisEndpoint.java
index 56f796a..29a9193 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MyBatisEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/MyBatisEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class MyBatisEndpoint {
+public interface MyBatisEndpoint {
 
 
     public static class MyBatisCommon<T extends EndpointDefinition>
@@ -373,4 +373,10 @@ public class MyBatisEndpoint {
     public static enum StatementType {
         SelectOne, SelectList, Insert, InsertList, Update, UpdateList, Delete, DeleteList;
     }
+    public default MyBatisConsumer fromMyBatis(String path) {
+        return new MyBatisConsumer(path);
+    }
+    public default MyBatisProducer toMyBatis(String path) {
+        return new MyBatisProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NagiosEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NagiosEndpoint.java
index 92fdc5a..47e4240 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NagiosEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NagiosEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class NagiosEndpoint {
+public interface NagiosEndpoint {
 
 
     public static class NagiosCommon<T extends EndpointDefinition>
@@ -135,4 +135,7 @@ public class NagiosEndpoint {
     public static enum NagiosEncryptionMethod {
         No, Xor, TripleDes;
     }
+    public default NagiosProducer toNagios(String path) {
+        return new NagiosProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NatsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NatsEndpoint.java
index 93d3519..5bfdd91 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NatsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NatsEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class NatsEndpoint {
+public interface NatsEndpoint {
 
 
     public static class NatsCommon<T extends EndpointDefinition>
@@ -281,4 +281,10 @@ public class NatsEndpoint {
             return (NatsProducer) this;
         }
     }
+    public default NatsConsumer fromNats(String path) {
+        return new NatsConsumer(path);
+    }
+    public default NatsProducer toNats(String path) {
+        return new NatsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NetWeaverEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NetWeaverEndpoint.java
index fc22b14..cd1884e 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NetWeaverEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NetWeaverEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class NetWeaverEndpoint {
+public interface NetWeaverEndpoint {
 
 
     public static class NetWeaverCommon<T extends EndpointDefinition>
@@ -111,4 +111,7 @@ public class NetWeaverEndpoint {
             super(path);
         }
     }
+    public default NetWeaverProducer toNetWeaver(String path) {
+        return new NetWeaverProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NettyEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NettyEndpoint.java
index 48a2b3a..da40990 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NettyEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NettyEndpoint.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class NettyEndpoint {
+public interface NettyEndpoint {
 
 
     public static class NettyCommon<T extends EndpointDefinition>
@@ -784,4 +784,10 @@ public class NettyEndpoint {
     public static enum TextLineDelimiter {
         LINE, NULL;
     }
+    public default NettyConsumer fromNetty(String path) {
+        return new NettyConsumer(path);
+    }
+    public default NettyProducer toNetty(String path) {
+        return new NettyProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NettyHttpEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NettyHttpEndpoint.java
index 13a4850..d8e6a57 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NettyHttpEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NettyHttpEndpoint.java
@@ -32,7 +32,7 @@ import org.apache.camel.spi.HeaderFilterStrategy;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class NettyHttpEndpoint {
+public interface NettyHttpEndpoint {
 
 
     public static class NettyHttpCommon<T extends EndpointDefinition>
@@ -885,4 +885,10 @@ public class NettyHttpEndpoint {
             return (NettyHttpProducer) this;
         }
     }
+    public default NettyHttpConsumer fromNettyHttp(String path) {
+        return new NettyHttpConsumer(path);
+    }
+    public default NettyHttpProducer toNettyHttp(String path) {
+        return new NettyHttpProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NeutronEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NeutronEndpoint.java
index 477f2e1..6b4d905 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NeutronEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NeutronEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class NeutronEndpoint {
+public interface NeutronEndpoint {
 
 
     public static class NeutronCommon<T extends EndpointDefinition>
@@ -128,4 +128,7 @@ public class NeutronEndpoint {
             super(path);
         }
     }
+    public default NeutronProducer toNeutron(String path) {
+        return new NeutronProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NovaEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NovaEndpoint.java
index 5322832..c8ba7e8 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NovaEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NovaEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class NovaEndpoint {
+public interface NovaEndpoint {
 
 
     public static class NovaCommon<T extends EndpointDefinition>
@@ -128,4 +128,7 @@ public class NovaEndpoint {
             super(path);
         }
     }
+    public default NovaProducer toNova(String path) {
+        return new NovaProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NsqEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NsqEndpoint.java
index 725584a..168d890 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NsqEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/NsqEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class NsqEndpoint {
+public interface NsqEndpoint {
 
 
     public static class NsqCommon<T extends EndpointDefinition>
@@ -206,4 +206,10 @@ public class NsqEndpoint {
             return (NsqProducer) this;
         }
     }
+    public default NsqConsumer fromNsq(String path) {
+        return new NsqConsumer(path);
+    }
+    public default NsqProducer toNsq(String path) {
+        return new NsqProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/Olingo2Endpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/Olingo2Endpoint.java
index 70e6a28..d70e083 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/Olingo2Endpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/Olingo2Endpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class Olingo2Endpoint {
+public interface Olingo2Endpoint {
 
 
     public static class Olingo2Common<T extends EndpointDefinition>
@@ -227,4 +227,10 @@ public class Olingo2Endpoint {
     public static enum Olingo2ApiName {
         DEFAULT;
     }
+    public default Olingo2Consumer fromOlingo2(String path) {
+        return new Olingo2Consumer(path);
+    }
+    public default Olingo2Producer toOlingo2(String path) {
+        return new Olingo2Producer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/Olingo4Endpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/Olingo4Endpoint.java
index fc12b68..6002494 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/Olingo4Endpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/Olingo4Endpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class Olingo4Endpoint {
+public interface Olingo4Endpoint {
 
 
     public static class Olingo4Common<T extends EndpointDefinition>
@@ -227,4 +227,10 @@ public class Olingo4Endpoint {
     public static enum Olingo4ApiName {
         DEFAULT;
     }
+    public default Olingo4Consumer fromOlingo4(String path) {
+        return new Olingo4Consumer(path);
+    }
+    public default Olingo4Producer toOlingo4(String path) {
+        return new Olingo4Producer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/OpenshiftBuildConfigsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/OpenshiftBuildConfigsEndpoint.java
index b51f9c2..ba660a7 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/OpenshiftBuildConfigsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/OpenshiftBuildConfigsEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class OpenshiftBuildConfigsEndpoint {
+public interface OpenshiftBuildConfigsEndpoint {
 
 
     public static class OpenshiftBuildConfigsCommon<T extends EndpointDefinition>
@@ -215,4 +215,8 @@ public class OpenshiftBuildConfigsEndpoint {
             return (OpenshiftBuildConfigsProducer) this;
         }
     }
+    public default OpenshiftBuildConfigsProducer toOpenshiftBuildConfigs(
+            String path) {
+        return new OpenshiftBuildConfigsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/OpenshiftBuildsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/OpenshiftBuildsEndpoint.java
index 149675f..d5cd78d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/OpenshiftBuildsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/OpenshiftBuildsEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class OpenshiftBuildsEndpoint {
+public interface OpenshiftBuildsEndpoint {
 
 
     public static class OpenshiftBuildsCommon<T extends EndpointDefinition>
@@ -215,4 +215,7 @@ public class OpenshiftBuildsEndpoint {
             return (OpenshiftBuildsProducer) this;
         }
     }
+    public default OpenshiftBuildsProducer toOpenshiftBuilds(String path) {
+        return new OpenshiftBuildsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/OptaPlannerEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/OptaPlannerEndpoint.java
index 87fa980..52dd186 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/OptaPlannerEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/OptaPlannerEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class OptaPlannerEndpoint {
+public interface OptaPlannerEndpoint {
 
 
     public static class OptaPlannerCommon<T extends EndpointDefinition>
@@ -141,4 +141,10 @@ public class OptaPlannerEndpoint {
             return (OptaPlannerProducer) this;
         }
     }
+    public default OptaPlannerConsumer fromOptaPlanner(String path) {
+        return new OptaPlannerConsumer(path);
+    }
+    public default OptaPlannerProducer toOptaPlanner(String path) {
+        return new OptaPlannerProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PahoEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PahoEndpoint.java
index 8e0f35e..eabd4f1 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PahoEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PahoEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class PahoEndpoint {
+public interface PahoEndpoint {
 
 
     public static class PahoCommon<T extends EndpointDefinition>
@@ -203,4 +203,10 @@ public class PahoEndpoint {
     public static enum PahoPersistence {
         FILE, MEMORY;
     }
+    public default PahoConsumer fromPaho(String path) {
+        return new PahoConsumer(path);
+    }
+    public default PahoProducer toPaho(String path) {
+        return new PahoProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PaxLoggingEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PaxLoggingEndpoint.java
index 2364a3e..04d280b 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PaxLoggingEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PaxLoggingEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class PaxLoggingEndpoint {
+public interface PaxLoggingEndpoint {
 
 
     public static class PaxLoggingCommon<T extends EndpointDefinition>
@@ -109,4 +109,7 @@ public class PaxLoggingEndpoint {
             return (PaxLoggingConsumer) this;
         }
     }
+    public default PaxLoggingConsumer fromPaxLogging(String path) {
+        return new PaxLoggingConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PdfEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PdfEndpoint.java
index d967eee..4ad478f 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PdfEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PdfEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class PdfEndpoint {
+public interface PdfEndpoint {
 
 
     public static class PdfCommon<T extends EndpointDefinition>
@@ -145,4 +145,7 @@ public class PdfEndpoint {
     public static enum TextProcessingFactory {
         autoFormatting, lineTermination;
     }
+    public default PdfProducer toPdf(String path) {
+        return new PdfProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PgEventEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PgEventEndpoint.java
index 7c29cbd..699c1b4 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PgEventEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PgEventEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class PgEventEndpoint {
+public interface PgEventEndpoint {
 
 
     public static class PgEventCommon<T extends EndpointDefinition>
@@ -161,4 +161,10 @@ public class PgEventEndpoint {
             super(path);
         }
     }
+    public default PgEventConsumer fromPgEvent(String path) {
+        return new PgEventConsumer(path);
+    }
+    public default PgEventProducer toPgEvent(String path) {
+        return new PgEventProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PrinterEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PrinterEndpoint.java
index b3129e2..37331f4 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PrinterEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PrinterEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class PrinterEndpoint {
+public interface PrinterEndpoint {
 
 
     public static class PrinterCommon<T extends EndpointDefinition>
@@ -165,4 +165,7 @@ public class PrinterEndpoint {
             super(path);
         }
     }
+    public default PrinterProducer toPrinter(String path) {
+        return new PrinterProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PropertiesEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PropertiesEndpoint.java
index 63e68f6..9076067 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PropertiesEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PropertiesEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class PropertiesEndpoint {
+public interface PropertiesEndpoint {
 
 
     public static class PropertiesCommon<T extends EndpointDefinition>
@@ -137,4 +137,10 @@ public class PropertiesEndpoint {
             super(path);
         }
     }
+    public default PropertiesConsumer fromProperties(String path) {
+        return new PropertiesConsumer(path);
+    }
+    public default PropertiesProducer toProperties(String path) {
+        return new PropertiesProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PubNubEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PubNubEndpoint.java
index 486135e..fd36340 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PubNubEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PubNubEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class PubNubEndpoint {
+public interface PubNubEndpoint {
 
 
     public static class PubNubCommon<T extends EndpointDefinition>
@@ -207,4 +207,10 @@ public class PubNubEndpoint {
             return (PubNubProducer) this;
         }
     }
+    public default PubNubConsumer fromPubNub(String path) {
+        return new PubNubConsumer(path);
+    }
+    public default PubNubProducer toPubNub(String path) {
+        return new PubNubProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PulsarEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PulsarEndpoint.java
index 472dcc2..d659f5e 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PulsarEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/PulsarEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class PulsarEndpoint {
+public interface PulsarEndpoint {
 
 
     public static class PulsarCommon<T extends EndpointDefinition>
@@ -175,4 +175,10 @@ public class PulsarEndpoint {
     public static enum SubscriptionType {
         EXCLUSIVE, SHARED, FAILOVER;
     }
+    public default PulsarConsumer fromPulsar(String path) {
+        return new PulsarConsumer(path);
+    }
+    public default PulsarProducer toPulsar(String path) {
+        return new PulsarProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/QuartzEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/QuartzEndpoint.java
index 3a6c490..a73104d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/QuartzEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/QuartzEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class QuartzEndpoint {
+public interface QuartzEndpoint {
 
 
     public static class QuartzCommon<T extends EndpointDefinition>
@@ -245,4 +245,7 @@ public class QuartzEndpoint {
             return (QuartzConsumer) this;
         }
     }
+    public default QuartzConsumer fromQuartz(String path) {
+        return new QuartzConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/QueueServiceEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/QueueServiceEndpoint.java
index 52dd34d..0961f77 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/QueueServiceEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/QueueServiceEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class QueueServiceEndpoint {
+public interface QueueServiceEndpoint {
 
 
     public static class QueueServiceCommon<T extends EndpointDefinition>
@@ -169,4 +169,10 @@ public class QueueServiceEndpoint {
     public static enum QueueServiceOperations {
         listQueues, createQueue, deleteQueue, addMessage, retrieveMessage, peekMessage, updateMessage, deleteMessage;
     }
+    public default QueueServiceConsumer fromQueueService(String path) {
+        return new QueueServiceConsumer(path);
+    }
+    public default QueueServiceProducer toQueueService(String path) {
+        return new QueueServiceProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/QuickfixjEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/QuickfixjEndpoint.java
index 3d76ecb..d6b08a5 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/QuickfixjEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/QuickfixjEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class QuickfixjEndpoint {
+public interface QuickfixjEndpoint {
 
 
     public static class QuickfixjCommon<T extends EndpointDefinition>
@@ -139,4 +139,10 @@ public class QuickfixjEndpoint {
             super(path);
         }
     }
+    public default QuickfixjConsumer fromQuickfixj(String path) {
+        return new QuickfixjConsumer(path);
+    }
+    public default QuickfixjProducer toQuickfixj(String path) {
+        return new QuickfixjProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RabbitMQEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RabbitMQEndpoint.java
index de96011..f3e2403 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RabbitMQEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RabbitMQEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class RabbitMQEndpoint {
+public interface RabbitMQEndpoint {
 
 
     public static class RabbitMQCommon<T extends EndpointDefinition>
@@ -584,4 +584,10 @@ public class RabbitMQEndpoint {
             return (RabbitMQProducer) this;
         }
     }
+    public default RabbitMQConsumer fromRabbitMQ(String path) {
+        return new RabbitMQConsumer(path);
+    }
+    public default RabbitMQProducer toRabbitMQ(String path) {
+        return new RabbitMQProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ReactiveStreamsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ReactiveStreamsEndpoint.java
index 84cadf9..70f7901 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ReactiveStreamsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ReactiveStreamsEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class ReactiveStreamsEndpoint {
+public interface ReactiveStreamsEndpoint {
 
 
     public static class ReactiveStreamsCommon<T extends EndpointDefinition>
@@ -185,4 +185,10 @@ public class ReactiveStreamsEndpoint {
     public static enum ReactiveStreamsBackpressureStrategy {
         BUFFER, OLDEST, LATEST;
     }
+    public default ReactiveStreamsConsumer fromReactiveStreams(String path) {
+        return new ReactiveStreamsConsumer(path);
+    }
+    public default ReactiveStreamsProducer toReactiveStreams(String path) {
+        return new ReactiveStreamsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RedisEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RedisEndpoint.java
index 88dd691..78d41ad 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RedisEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RedisEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class RedisEndpoint {
+public interface RedisEndpoint {
 
 
     public static class RedisCommon<T extends EndpointDefinition>
@@ -181,4 +181,10 @@ public class RedisEndpoint {
     public static enum Command {
         PING, SET, GET, QUIT, EXISTS, DEL, TYPE, FLUSHDB, KEYS, RANDOMKEY, RENAME, RENAMENX, RENAMEX, DBSIZE, EXPIRE, EXPIREAT, TTL, SELECT, MOVE, FLUSHALL, GETSET, MGET, SETNX, SETEX, MSET, MSETNX, DECRBY, DECR, INCRBY, INCR, APPEND, SUBSTR, HSET, HGET, HSETNX, HMSET, HMGET, HINCRBY, HEXISTS, HDEL, HLEN, HKEYS, HVALS, HGETALL, RPUSH, LPUSH, LLEN, LRANGE, LTRIM, LINDEX, LSET, LREM, LPOP, RPOP, RPOPLPUSH, SADD, SMEMBERS, SREM, SPOP, SMOVE, SCARD, SISMEMBER, SINTER, SINTERSTORE, SUNION, SU [...]
     }
+    public default RedisConsumer fromRedis(String path) {
+        return new RedisConsumer(path);
+    }
+    public default RedisProducer toRedis(String path) {
+        return new RedisProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RefEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RefEndpoint.java
index d773971..56d710e 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RefEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RefEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class RefEndpoint {
+public interface RefEndpoint {
 
 
     public static class RefCommon<T extends EndpointDefinition>
@@ -116,4 +116,10 @@ public class RefEndpoint {
             super(path);
         }
     }
+    public default RefConsumer fromRef(String path) {
+        return new RefConsumer(path);
+    }
+    public default RefProducer toRef(String path) {
+        return new RefProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RestApiEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RestApiEndpoint.java
index 96046e0..49059cf 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RestApiEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RestApiEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class RestApiEndpoint {
+public interface RestApiEndpoint {
 
 
     public static class RestApiCommon<T extends EndpointDefinition>
@@ -136,4 +136,7 @@ public class RestApiEndpoint {
             return (RestApiConsumer) this;
         }
     }
+    public default RestApiConsumer fromRestApi(String path) {
+        return new RestApiConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RestEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RestEndpoint.java
index bae0d18..4bc4b5f 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RestEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RestEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class RestEndpoint {
+public interface RestEndpoint {
 
 
     public static class RestCommon<T extends EndpointDefinition>
@@ -230,4 +230,10 @@ public class RestEndpoint {
     public static enum RestBindingMode {
         auto, off, json, xml, json_xml;
     }
+    public default RestConsumer fromRest(String path) {
+        return new RestConsumer(path);
+    }
+    public default RestProducer toRest(String path) {
+        return new RestProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RestSwaggerEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RestSwaggerEndpoint.java
index 093d200..5ba374a 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RestSwaggerEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RestSwaggerEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class RestSwaggerEndpoint {
+public interface RestSwaggerEndpoint {
 
 
     public static class RestSwaggerCommon<T extends EndpointDefinition>
@@ -150,4 +150,7 @@ public class RestSwaggerEndpoint {
             return (RestSwaggerProducer) this;
         }
     }
+    public default RestSwaggerProducer toRestSwagger(String path) {
+        return new RestSwaggerProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RestletEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RestletEndpoint.java
index 3cc19b0..e0278b7 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RestletEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RestletEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.HeaderFilterStrategy;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class RestletEndpoint {
+public interface RestletEndpoint {
 
 
     public static class RestletCommon<T extends EndpointDefinition>
@@ -275,4 +275,10 @@ public class RestletEndpoint {
             return (RestletProducer) this;
         }
     }
+    public default RestletConsumer fromRestlet(String path) {
+        return new RestletConsumer(path);
+    }
+    public default RestletProducer toRestlet(String path) {
+        return new RestletProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RssEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RssEndpoint.java
index a42c11f..f8ae0a6 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RssEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/RssEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class RssEndpoint {
+public interface RssEndpoint {
 
 
     public static class RssCommon<T extends EndpointDefinition>
@@ -320,4 +320,7 @@ public class RssEndpoint {
             return (RssConsumer) this;
         }
     }
+    public default RssConsumer fromRss(String path) {
+        return new RssConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/S3Endpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/S3Endpoint.java
index 98563b5..9bf2fd8 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/S3Endpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/S3Endpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class S3Endpoint {
+public interface S3Endpoint {
 
 
     public static class S3Common<T extends EndpointDefinition>
@@ -553,4 +553,10 @@ public class S3Endpoint {
     public static enum S3Operations {
         copyObject, deleteBucket, listBuckets, downloadLink;
     }
+    public default S3Consumer fromS3(String path) {
+        return new S3Consumer(path);
+    }
+    public default S3Producer toS3(String path) {
+        return new S3Producer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SWFEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SWFEndpoint.java
index 3344b5b..6194867 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SWFEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SWFEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SWFEndpoint {
+public interface SWFEndpoint {
 
 
     public static class SWFCommon<T extends EndpointDefinition>
@@ -333,4 +333,10 @@ public class SWFEndpoint {
             return (SWFProducer) this;
         }
     }
+    public default SWFConsumer fromSWF(String path) {
+        return new SWFConsumer(path);
+    }
+    public default SWFProducer toSWF(String path) {
+        return new SWFProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SagaEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SagaEndpoint.java
index 4552bd2..c676a77 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SagaEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SagaEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SagaEndpoint {
+public interface SagaEndpoint {
 
 
     public static class SagaCommon<T extends EndpointDefinition>
@@ -72,4 +72,7 @@ public class SagaEndpoint {
             super(path);
         }
     }
+    public default SagaProducer toSaga(String path) {
+        return new SagaProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SalesforceEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SalesforceEndpoint.java
index d3cd93e..f915a0d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SalesforceEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SalesforceEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SalesforceEndpoint {
+public interface SalesforceEndpoint {
 
 
     public static class SalesforceCommon<T extends EndpointDefinition>
@@ -473,4 +473,10 @@ public class SalesforceEndpoint {
     public static enum NotifyForOperationsEnum {
         ALL, CREATE, EXTENDED, UPDATE;
     }
+    public default SalesforceConsumer fromSalesforce(String path) {
+        return new SalesforceConsumer(path);
+    }
+    public default SalesforceProducer toSalesforce(String path) {
+        return new SalesforceProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SchedulerEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SchedulerEndpoint.java
index 20b0717..95506a4 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SchedulerEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SchedulerEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SchedulerEndpoint {
+public interface SchedulerEndpoint {
 
 
     public static class SchedulerCommon<T extends EndpointDefinition>
@@ -263,4 +263,7 @@ public class SchedulerEndpoint {
             return (SchedulerConsumer) this;
         }
     }
+    public default SchedulerConsumer fromScheduler(String path) {
+        return new SchedulerConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SchematronEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SchematronEndpoint.java
index 34bb55b..ab33af8 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SchematronEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SchematronEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SchematronEndpoint {
+public interface SchematronEndpoint {
 
 
     public static class SchematronCommon<T extends EndpointDefinition>
@@ -95,4 +95,7 @@ public class SchematronEndpoint {
             super(path);
         }
     }
+    public default SchematronProducer toSchematron(String path) {
+        return new SchematronProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ScpEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ScpEndpoint.java
index bd18e60..fb6f7de 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ScpEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ScpEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class ScpEndpoint {
+public interface ScpEndpoint {
 
 
     public static class ScpCommon<T extends EndpointDefinition>
@@ -307,4 +307,7 @@ public class ScpEndpoint {
             return (ScpProducer) this;
         }
     }
+    public default ScpProducer toScp(String path) {
+        return new ScpProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SdbEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SdbEndpoint.java
index cc44e54..1b29ed6 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SdbEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SdbEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SdbEndpoint {
+public interface SdbEndpoint {
 
 
     public static class SdbCommon<T extends EndpointDefinition>
@@ -146,4 +146,7 @@ public class SdbEndpoint {
     public static enum SdbOperations {
         BatchDeleteAttributes, BatchPutAttributes, DeleteAttributes, DeleteDomain, DomainMetadata, GetAttributes, ListDomains, PutAttributes, Select;
     }
+    public default SdbProducer toSdb(String path) {
+        return new SdbProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SedaEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SedaEndpoint.java
index fb99e31..fcb1d4e 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SedaEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SedaEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SedaEndpoint {
+public interface SedaEndpoint {
 
 
     public static class SedaCommon<T extends EndpointDefinition>
@@ -249,4 +249,10 @@ public class SedaEndpoint {
             return (SedaProducer) this;
         }
     }
+    public default SedaConsumer fromSeda(String path) {
+        return new SedaConsumer(path);
+    }
+    public default SedaProducer toSeda(String path) {
+        return new SedaProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ServerEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ServerEndpoint.java
index ac26ac2..7d1dcb4 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ServerEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ServerEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class ServerEndpoint {
+public interface ServerEndpoint {
 
 
     public static class ServerCommon<T extends EndpointDefinition>
@@ -256,4 +256,10 @@ public class ServerEndpoint {
     public static enum InformationObjectAddressType {
         SIZE_1,  SIZE_2,  SIZE_3;
     }
+    public default ServerConsumer fromServer(String path) {
+        return new ServerConsumer(path);
+    }
+    public default ServerProducer toServer(String path) {
+        return new ServerProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ServiceEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ServiceEndpoint.java
index aa52531..890e0bf 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ServiceEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ServiceEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class ServiceEndpoint {
+public interface ServiceEndpoint {
 
 
     public static class ServiceCommon<T extends EndpointDefinition>
@@ -107,4 +107,7 @@ public class ServiceEndpoint {
             return (ServiceConsumer) this;
         }
     }
+    public default ServiceConsumer fromService(String path) {
+        return new ServiceConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ServiceNowEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ServiceNowEndpoint.java
index 3e8c193..53d10eb 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ServiceNowEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ServiceNowEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class ServiceNowEndpoint {
+public interface ServiceNowEndpoint {
 
 
     public static class ServiceNowCommon<T extends EndpointDefinition>
@@ -435,4 +435,7 @@ public class ServiceNowEndpoint {
     public static enum ServiceNowRelease {
         FUJI, GENEVA, HELSINKI;
     }
+    public default ServiceNowProducer toServiceNow(String path) {
+        return new ServiceNowProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ServletEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ServletEndpoint.java
index 2dbee0d..171ce00 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ServletEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ServletEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.HeaderFilterStrategy;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class ServletEndpoint {
+public interface ServletEndpoint {
 
 
     public static class ServletCommon<T extends EndpointDefinition>
@@ -290,4 +290,7 @@ public class ServletEndpoint {
             return (ServletConsumer) this;
         }
     }
+    public default ServletConsumer fromServlet(String path) {
+        return new ServletConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SesEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SesEndpoint.java
index fada839..37715bf 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SesEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SesEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SesEndpoint {
+public interface SesEndpoint {
 
 
     public static class SesCommon<T extends EndpointDefinition>
@@ -152,4 +152,7 @@ public class SesEndpoint {
             super(path);
         }
     }
+    public default SesProducer toSes(String path) {
+        return new SesProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SftpEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SftpEndpoint.java
index 6592faf..534be59 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SftpEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SftpEndpoint.java
@@ -40,7 +40,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SftpEndpoint {
+public interface SftpEndpoint {
 
 
     public static class SftpCommon<T extends EndpointDefinition>
@@ -1390,4 +1390,10 @@ public class SftpEndpoint {
     public static enum GenericFileExist {
         Override, Append, Fail, Ignore, Move, TryRename;
     }
+    public default SftpConsumer fromSftp(String path) {
+        return new SftpConsumer(path);
+    }
+    public default SftpProducer toSftp(String path) {
+        return new SftpProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SipEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SipEndpoint.java
index 50ebe59..c2557d2 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SipEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SipEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SipEndpoint {
+public interface SipEndpoint {
 
 
     public static class SipCommon<T extends EndpointDefinition>
@@ -460,4 +460,10 @@ public class SipEndpoint {
             super(path);
         }
     }
+    public default SipConsumer fromSip(String path) {
+        return new SipConsumer(path);
+    }
+    public default SipProducer toSip(String path) {
+        return new SipProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/Sjms2Endpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/Sjms2Endpoint.java
index 428819e..c5ad634 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/Sjms2Endpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/Sjms2Endpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.HeaderFilterStrategy;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class Sjms2Endpoint {
+public interface Sjms2Endpoint {
 
 
     public static class Sjms2Common<T extends EndpointDefinition>
@@ -434,4 +434,10 @@ public class Sjms2Endpoint {
     public static enum SessionAcknowledgementType {
         SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE;
     }
+    public default Sjms2Consumer fromSjms2(String path) {
+        return new Sjms2Consumer(path);
+    }
+    public default Sjms2Producer toSjms2(String path) {
+        return new Sjms2Producer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SjmsBatchEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SjmsBatchEndpoint.java
index 13661c6..1baf348 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SjmsBatchEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SjmsBatchEndpoint.java
@@ -32,7 +32,7 @@ import org.apache.camel.spi.HeaderFilterStrategy;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SjmsBatchEndpoint {
+public interface SjmsBatchEndpoint {
 
 
     public static class SjmsBatchCommon<T extends EndpointDefinition>
@@ -317,4 +317,7 @@ public class SjmsBatchEndpoint {
             return (SjmsBatchConsumer) this;
         }
     }
+    public default SjmsBatchConsumer fromSjmsBatch(String path) {
+        return new SjmsBatchConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SjmsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SjmsEndpoint.java
index 69579ac..18b6c7f 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SjmsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SjmsEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.HeaderFilterStrategy;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SjmsEndpoint {
+public interface SjmsEndpoint {
 
 
     public static class SjmsCommon<T extends EndpointDefinition>
@@ -411,4 +411,10 @@ public class SjmsEndpoint {
     public static enum SessionAcknowledgementType {
         SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE;
     }
+    public default SjmsConsumer fromSjms(String path) {
+        return new SjmsConsumer(path);
+    }
+    public default SjmsProducer toSjms(String path) {
+        return new SjmsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SlackEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SlackEndpoint.java
index 77c9855..1741099 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SlackEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SlackEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SlackEndpoint {
+public interface SlackEndpoint {
 
 
     public static class SlackCommon<T extends EndpointDefinition>
@@ -317,4 +317,10 @@ public class SlackEndpoint {
             return (SlackProducer) this;
         }
     }
+    public default SlackConsumer fromSlack(String path) {
+        return new SlackConsumer(path);
+    }
+    public default SlackProducer toSlack(String path) {
+        return new SlackProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SmppEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SmppEndpoint.java
index bd89bde..69dd646 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SmppEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SmppEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SmppEndpoint {
+public interface SmppEndpoint {
 
 
     public static class SmppCommon<T extends EndpointDefinition>
@@ -462,4 +462,10 @@ public class SmppEndpoint {
     public static enum SmppSplittingPolicy {
         ALLOW, REJECT, TRUNCATE;
     }
+    public default SmppConsumer fromSmpp(String path) {
+        return new SmppConsumer(path);
+    }
+    public default SmppProducer toSmpp(String path) {
+        return new SmppProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SnmpEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SnmpEndpoint.java
index 52d252c..af8765d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SnmpEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SnmpEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SnmpEndpoint {
+public interface SnmpEndpoint {
 
 
     public static class SnmpCommon<T extends EndpointDefinition>
@@ -413,4 +413,7 @@ public class SnmpEndpoint {
     public static enum SnmpActionType {
         TRAP, POLL, GET_NEXT;
     }
+    public default SnmpConsumer fromSnmp(String path) {
+        return new SnmpConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SnsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SnsEndpoint.java
index 5bab67f..d664c3a 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SnsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SnsEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.HeaderFilterStrategy;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SnsEndpoint {
+public interface SnsEndpoint {
 
 
     public static class SnsCommon<T extends EndpointDefinition>
@@ -195,4 +195,7 @@ public class SnsEndpoint {
             super(path);
         }
     }
+    public default SnsProducer toSns(String path) {
+        return new SnsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SolrEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SolrEndpoint.java
index 104a08f..e40d798 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SolrEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SolrEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SolrEndpoint {
+public interface SolrEndpoint {
 
 
     public static class SolrCommon<T extends EndpointDefinition>
@@ -169,4 +169,7 @@ public class SolrEndpoint {
             super(path);
         }
     }
+    public default SolrProducer toSolr(String path) {
+        return new SolrProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SoroushBotEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SoroushBotEndpoint.java
index 296bd18..dd202f8 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SoroushBotEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SoroushBotEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SoroushBotEndpoint {
+public interface SoroushBotEndpoint {
 
 
     public static class SoroushBotCommon<T extends EndpointDefinition>
@@ -283,4 +283,10 @@ public class SoroushBotEndpoint {
     public static enum Endpoint {
         sendMessage, getMessage, uploadFile, downloadFile;
     }
+    public default SoroushBotConsumer fromSoroushBot(String path) {
+        return new SoroushBotConsumer(path);
+    }
+    public default SoroushBotProducer toSoroushBot(String path) {
+        return new SoroushBotProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SparkEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SparkEndpoint.java
index 9926c90..a33a8bb 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SparkEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SparkEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SparkEndpoint {
+public interface SparkEndpoint {
 
 
     public static class SparkCommon<T extends EndpointDefinition>
@@ -190,4 +190,7 @@ public class SparkEndpoint {
             return (SparkConsumer) this;
         }
     }
+    public default SparkConsumer fromSpark(String path) {
+        return new SparkConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SplunkEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SplunkEndpoint.java
index ef76099..176b324 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SplunkEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SplunkEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SplunkEndpoint {
+public interface SplunkEndpoint {
 
 
     public static class SplunkCommon<T extends EndpointDefinition>
@@ -439,4 +439,10 @@ public class SplunkEndpoint {
     public static enum SSLSecurityProtocol {
         TLSv1_2, TLSv1_1, TLSv1, SSLv3;
     }
+    public default SplunkConsumer fromSplunk(String path) {
+        return new SplunkConsumer(path);
+    }
+    public default SplunkProducer toSplunk(String path) {
+        return new SplunkProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SpringBatchEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SpringBatchEndpoint.java
index 3a505c7..72e31b6 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SpringBatchEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SpringBatchEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SpringBatchEndpoint {
+public interface SpringBatchEndpoint {
 
 
     public static class SpringBatchCommon<T extends EndpointDefinition>
@@ -96,4 +96,7 @@ public class SpringBatchEndpoint {
             super(path);
         }
     }
+    public default SpringBatchProducer toSpringBatch(String path) {
+        return new SpringBatchProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SpringIntegrationEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SpringIntegrationEndpoint.java
index eba8c3a..deabe25 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SpringIntegrationEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SpringIntegrationEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SpringIntegrationEndpoint {
+public interface SpringIntegrationEndpoint {
 
 
     public static class SpringIntegrationCommon<T extends EndpointDefinition>
@@ -148,4 +148,10 @@ public class SpringIntegrationEndpoint {
             return (SpringIntegrationProducer) this;
         }
     }
+    public default SpringIntegrationConsumer fromSpringIntegration(String path) {
+        return new SpringIntegrationConsumer(path);
+    }
+    public default SpringIntegrationProducer toSpringIntegration(String path) {
+        return new SpringIntegrationProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SpringLdapEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SpringLdapEndpoint.java
index d256aaf..4933ce8 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SpringLdapEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SpringLdapEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SpringLdapEndpoint {
+public interface SpringLdapEndpoint {
 
 
     public static class SpringLdapCommon<T extends EndpointDefinition>
@@ -92,4 +92,7 @@ public class SpringLdapEndpoint {
     public static enum LdapOperation {
         SEARCH, BIND, UNBIND, AUTHENTICATE, MODIFY_ATTRIBUTES, FUNCTION_DRIVEN;
     }
+    public default SpringLdapProducer toSpringLdap(String path) {
+        return new SpringLdapProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SpringWebserviceEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SpringWebserviceEndpoint.java
index d34743a..e2f7627 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SpringWebserviceEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SpringWebserviceEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SpringWebserviceEndpoint {
+public interface SpringWebserviceEndpoint {
 
 
     public static class SpringWebserviceCommon<T extends EndpointDefinition>
@@ -345,4 +345,10 @@ public class SpringWebserviceEndpoint {
     public static enum EndpointMappingType {
         ROOT_QNAME, ACTION, TO, SOAP_ACTION, XPATHRESULT, URI, URI_PATH, BEANNAME;
     }
+    public default SpringWebserviceConsumer fromSpringWebservice(String path) {
+        return new SpringWebserviceConsumer(path);
+    }
+    public default SpringWebserviceProducer toSpringWebservice(String path) {
+        return new SpringWebserviceProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SqlEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SqlEndpoint.java
index 028e676..d231cc9 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SqlEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SqlEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SqlEndpoint {
+public interface SqlEndpoint {
 
 
     public static class SqlCommon<T extends EndpointDefinition>
@@ -516,4 +516,10 @@ public class SqlEndpoint {
     public static enum SqlOutputType {
         SelectOne, SelectList, StreamList;
     }
+    public default SqlConsumer fromSql(String path) {
+        return new SqlConsumer(path);
+    }
+    public default SqlProducer toSql(String path) {
+        return new SqlProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SqlStoredEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SqlStoredEndpoint.java
index a63ea60..693ec03 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SqlStoredEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SqlStoredEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SqlStoredEndpoint {
+public interface SqlStoredEndpoint {
 
 
     public static class SqlStoredCommon<T extends EndpointDefinition>
@@ -124,4 +124,7 @@ public class SqlStoredEndpoint {
             super(path);
         }
     }
+    public default SqlStoredProducer toSqlStored(String path) {
+        return new SqlStoredProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SqsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SqsEndpoint.java
index da62643..e4cb7c5 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SqsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SqsEndpoint.java
@@ -35,7 +35,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SqsEndpoint {
+public interface SqsEndpoint {
 
 
     public static class SqsCommon<T extends EndpointDefinition>
@@ -570,4 +570,10 @@ public class SqsEndpoint {
     public static enum SqsOperations {
         sendBatchMessage, deleteMessage, listQueues;
     }
+    public default SqsConsumer fromSqs(String path) {
+        return new SqsConsumer(path);
+    }
+    public default SqsProducer toSqs(String path) {
+        return new SqsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SshEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SshEndpoint.java
index 0ed7434..5aba13e 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SshEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SshEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SshEndpoint {
+public interface SshEndpoint {
 
 
     public static class SshCommon<T extends EndpointDefinition>
@@ -378,4 +378,10 @@ public class SshEndpoint {
             super(path);
         }
     }
+    public default SshConsumer fromSsh(String path) {
+        return new SshConsumer(path);
+    }
+    public default SshProducer toSsh(String path) {
+        return new SshProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/StAXEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/StAXEndpoint.java
index 6c8c7f6..8a08e60 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/StAXEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/StAXEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class StAXEndpoint {
+public interface StAXEndpoint {
 
 
     public static class StAXCommon<T extends EndpointDefinition>
@@ -72,4 +72,7 @@ public class StAXEndpoint {
             super(path);
         }
     }
+    public default StAXProducer toStAX(String path) {
+        return new StAXProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/StompEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/StompEndpoint.java
index 5e234cf..5f3e9c4 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/StompEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/StompEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.HeaderFilterStrategy;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class StompEndpoint {
+public interface StompEndpoint {
 
 
     public static class StompCommon<T extends EndpointDefinition>
@@ -162,4 +162,10 @@ public class StompEndpoint {
             super(path);
         }
     }
+    public default StompConsumer fromStomp(String path) {
+        return new StompConsumer(path);
+    }
+    public default StompProducer toStomp(String path) {
+        return new StompProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/StreamEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/StreamEndpoint.java
index e6c8cd4..86d7360 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/StreamEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/StreamEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class StreamEndpoint {
+public interface StreamEndpoint {
 
 
     public static class StreamCommon<T extends EndpointDefinition>
@@ -284,4 +284,10 @@ public class StreamEndpoint {
             return (StreamProducer) this;
         }
     }
+    public default StreamConsumer fromStream(String path) {
+        return new StreamConsumer(path);
+    }
+    public default StreamProducer toStream(String path) {
+        return new StreamProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/StringTemplateEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/StringTemplateEndpoint.java
index 83b848b..0ff0138 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/StringTemplateEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/StringTemplateEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class StringTemplateEndpoint {
+public interface StringTemplateEndpoint {
 
 
     public static class StringTemplateCommon<T extends EndpointDefinition>
@@ -97,4 +97,7 @@ public class StringTemplateEndpoint {
             super(path);
         }
     }
+    public default StringTemplateProducer toStringTemplate(String path) {
+        return new StringTemplateProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/StubEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/StubEndpoint.java
index 0de3d8d..8ffc710 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/StubEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/StubEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class StubEndpoint {
+public interface StubEndpoint {
 
 
     public static class StubCommon<T extends EndpointDefinition>
@@ -249,4 +249,10 @@ public class StubEndpoint {
             return (StubProducer) this;
         }
     }
+    public default StubConsumer fromStub(String path) {
+        return new StubConsumer(path);
+    }
+    public default StubProducer toStub(String path) {
+        return new StubProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SwiftEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SwiftEndpoint.java
index 34ac344..9efe666 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SwiftEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/SwiftEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class SwiftEndpoint {
+public interface SwiftEndpoint {
 
 
     public static class SwiftCommon<T extends EndpointDefinition>
@@ -128,4 +128,7 @@ public class SwiftEndpoint {
             super(path);
         }
     }
+    public default SwiftProducer toSwift(String path) {
+        return new SwiftProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TelegramEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TelegramEndpoint.java
index 729798e..6242f21 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TelegramEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TelegramEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class TelegramEndpoint {
+public interface TelegramEndpoint {
 
 
     public static class TelegramCommon<T extends EndpointDefinition>
@@ -319,4 +319,10 @@ public class TelegramEndpoint {
             return (TelegramProducer) this;
         }
     }
+    public default TelegramConsumer fromTelegram(String path) {
+        return new TelegramConsumer(path);
+    }
+    public default TelegramProducer toTelegram(String path) {
+        return new TelegramProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ThriftEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ThriftEndpoint.java
index a36ef66..143855c 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ThriftEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ThriftEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class ThriftEndpoint {
+public interface ThriftEndpoint {
 
 
     public static class ThriftCommon<T extends EndpointDefinition>
@@ -207,4 +207,10 @@ public class ThriftEndpoint {
     public static enum ThriftNegotiationType {
         PLAINTEXT, SSL, SASL;
     }
+    public default ThriftConsumer fromThrift(String path) {
+        return new ThriftConsumer(path);
+    }
+    public default ThriftProducer toThrift(String path) {
+        return new ThriftProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TikaEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TikaEndpoint.java
index 20c95d8..d23f03c 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TikaEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TikaEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class TikaEndpoint {
+public interface TikaEndpoint {
 
 
     public static class TikaCommon<T extends EndpointDefinition>
@@ -116,4 +116,7 @@ public class TikaEndpoint {
     public static enum TikaParseOutputFormat {
         xml, html, text, textMain;
     }
+    public default TikaProducer toTika(String path) {
+        return new TikaProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TimerEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TimerEndpoint.java
index 034028a..40c9333 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TimerEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TimerEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class TimerEndpoint {
+public interface TimerEndpoint {
 
 
     public static class TimerCommon<T extends EndpointDefinition>
@@ -179,4 +179,7 @@ public class TimerEndpoint {
             return (TimerConsumer) this;
         }
     }
+    public default TimerConsumer fromTimer(String path) {
+        return new TimerConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TwilioEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TwilioEndpoint.java
index 8aa86c3f..3f827a0 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TwilioEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TwilioEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class TwilioEndpoint {
+public interface TwilioEndpoint {
 
 
     public static class TwilioCommon<T extends EndpointDefinition>
@@ -136,4 +136,10 @@ public class TwilioEndpoint {
     public static enum TwilioApiName {
         ACCOUNT, ADDRESS, APPLICATION, AVAILABLE_PHONE_NUMBER_COUNTRY, CALL, CONFERENCE, CONNECT_APP, INCOMING_PHONE_NUMBER, KEY, MESSAGE, NEW_KEY, NEW_SIGNING_KEY, NOTIFICATION, OUTGOING_CALLER_ID, QUEUE, RECORDING, SHORT_CODE, SIGNING_KEY, TOKEN, TRANSCRIPTION, VALIDATION_REQUEST, ADDRESS_DEPENDENT_PHONE_NUMBER, AVAILABLE_PHONE_NUMBER_COUNTRY_LOCAL, AVAILABLE_PHONE_NUMBER_COUNTRY_MOBILE, AVAILABLE_PHONE_NUMBER_COUNTRY_TOLL_FREE, CALL_FEEDBACK, CALL_FEEDBACK_SUMMARY, CALL_NOTIFICATION,  [...]
     }
+    public default TwilioConsumer fromTwilio(String path) {
+        return new TwilioConsumer(path);
+    }
+    public default TwilioProducer toTwilio(String path) {
+        return new TwilioProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TwitterDirectMessageEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TwitterDirectMessageEndpoint.java
index 56f01c4..414b39b 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TwitterDirectMessageEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TwitterDirectMessageEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class TwitterDirectMessageEndpoint {
+public interface TwitterDirectMessageEndpoint {
 
 
     public static class TwitterDirectMessageCommon<T extends EndpointDefinition>
@@ -473,4 +473,12 @@ public class TwitterDirectMessageEndpoint {
     public static enum EndpointType {
         polling, direct, event;
     }
+    public default TwitterDirectMessageConsumer fromTwitterDirectMessage(
+            String path) {
+        return new TwitterDirectMessageConsumer(path);
+    }
+    public default TwitterDirectMessageProducer toTwitterDirectMessage(
+            String path) {
+        return new TwitterDirectMessageProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TwitterSearchEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TwitterSearchEndpoint.java
index 623522a..b2a44cb 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TwitterSearchEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TwitterSearchEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class TwitterSearchEndpoint {
+public interface TwitterSearchEndpoint {
 
 
     public static class TwitterSearchCommon<T extends EndpointDefinition>
@@ -470,4 +470,10 @@ public class TwitterSearchEndpoint {
     public static enum EndpointType {
         polling, direct, event;
     }
+    public default TwitterSearchConsumer fromTwitterSearch(String path) {
+        return new TwitterSearchConsumer(path);
+    }
+    public default TwitterSearchProducer toTwitterSearch(String path) {
+        return new TwitterSearchProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TwitterStreamingEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TwitterStreamingEndpoint.java
index 649d694..6433ff7 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TwitterStreamingEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TwitterStreamingEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class TwitterStreamingEndpoint {
+public interface TwitterStreamingEndpoint {
 
 
     public static class TwitterStreamingCommon<T extends EndpointDefinition>
@@ -473,4 +473,7 @@ public class TwitterStreamingEndpoint {
     public static enum EndpointType {
         polling, direct, event;
     }
+    public default TwitterStreamingConsumer fromTwitterStreaming(String path) {
+        return new TwitterStreamingConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TwitterTimelineEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TwitterTimelineEndpoint.java
index 19caab8..f3a10c1 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TwitterTimelineEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/TwitterTimelineEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class TwitterTimelineEndpoint {
+public interface TwitterTimelineEndpoint {
 
 
     public static class TwitterTimelineCommon<T extends EndpointDefinition>
@@ -483,4 +483,10 @@ public class TwitterTimelineEndpoint {
     public static enum EndpointType {
         polling, direct, event;
     }
+    public default TwitterTimelineConsumer fromTwitterTimeline(String path) {
+        return new TwitterTimelineConsumer(path);
+    }
+    public default TwitterTimelineProducer toTwitterTimeline(String path) {
+        return new TwitterTimelineProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/UndertowEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/UndertowEndpoint.java
index 632689d..b5e6724 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/UndertowEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/UndertowEndpoint.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.HeaderFilterStrategy;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class UndertowEndpoint {
+public interface UndertowEndpoint {
 
 
     public static class UndertowCommon<T extends EndpointDefinition>
@@ -281,4 +281,10 @@ public class UndertowEndpoint {
             return (UndertowProducer) this;
         }
     }
+    public default UndertowConsumer fromUndertow(String path) {
+        return new UndertowConsumer(path);
+    }
+    public default UndertowProducer toUndertow(String path) {
+        return new UndertowProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ValidatorEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ValidatorEndpoint.java
index 7c08de2..0a4f5ab 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ValidatorEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ValidatorEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class ValidatorEndpoint {
+public interface ValidatorEndpoint {
 
 
     public static class ValidatorCommon<T extends EndpointDefinition>
@@ -154,4 +154,7 @@ public class ValidatorEndpoint {
             super(path);
         }
     }
+    public default ValidatorProducer toValidator(String path) {
+        return new ValidatorProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/VelocityEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/VelocityEndpoint.java
index e29b266..9c1af90 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/VelocityEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/VelocityEndpoint.java
@@ -25,7 +25,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class VelocityEndpoint {
+public interface VelocityEndpoint {
 
 
     public static class VelocityCommon<T extends EndpointDefinition>
@@ -107,4 +107,7 @@ public class VelocityEndpoint {
             super(path);
         }
     }
+    public default VelocityProducer toVelocity(String path) {
+        return new VelocityProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/VertxEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/VertxEndpoint.java
index 6d94a39..ef24a0c 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/VertxEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/VertxEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class VertxEndpoint {
+public interface VertxEndpoint {
 
 
     public static class VertxCommon<T extends EndpointDefinition>
@@ -124,4 +124,10 @@ public class VertxEndpoint {
             super(path);
         }
     }
+    public default VertxConsumer fromVertx(String path) {
+        return new VertxConsumer(path);
+    }
+    public default VertxProducer toVertx(String path) {
+        return new VertxProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/VmEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/VmEndpoint.java
index 3198b05..dd480b3 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/VmEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/VmEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class VmEndpoint {
+public interface VmEndpoint {
 
 
     public static class VmCommon<T extends EndpointDefinition>
@@ -249,4 +249,10 @@ public class VmEndpoint {
             return (VmProducer) this;
         }
     }
+    public default VmConsumer fromVm(String path) {
+        return new VmConsumer(path);
+    }
+    public default VmProducer toVm(String path) {
+        return new VmProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/WeatherEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/WeatherEndpoint.java
index 279761c..86699af 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/WeatherEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/WeatherEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class WeatherEndpoint {
+public interface WeatherEndpoint {
 
 
     public static class WeatherCommon<T extends EndpointDefinition>
@@ -501,4 +501,10 @@ public class WeatherEndpoint {
     public static enum WeatherApi {
         Current, Station, Hourly, Daily;
     }
+    public default WeatherConsumer fromWeather(String path) {
+        return new WeatherConsumer(path);
+    }
+    public default WeatherProducer toWeather(String path) {
+        return new WeatherProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/Web3jEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/Web3jEndpoint.java
index f503be9..a668429 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/Web3jEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/Web3jEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class Web3jEndpoint {
+public interface Web3jEndpoint {
 
 
     public static class Web3jCommon<T extends EndpointDefinition>
@@ -389,4 +389,10 @@ public class Web3jEndpoint {
             return (Web3jProducer) this;
         }
     }
+    public default Web3jConsumer fromWeb3j(String path) {
+        return new Web3jConsumer(path);
+    }
+    public default Web3jProducer toWeb3j(String path) {
+        return new Web3jProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/WebhookEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/WebhookEndpoint.java
index 57b212e..d3892b1 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/WebhookEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/WebhookEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class WebhookEndpoint {
+public interface WebhookEndpoint {
 
 
     public static class WebhookCommon<T extends EndpointDefinition>
@@ -150,4 +150,7 @@ public class WebhookEndpoint {
             return (WebhookConsumer) this;
         }
     }
+    public default WebhookConsumer fromWebhook(String path) {
+        return new WebhookConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/WebsocketEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/WebsocketEndpoint.java
index bcccadb..0cdadf8 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/WebsocketEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/WebsocketEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class WebsocketEndpoint {
+public interface WebsocketEndpoint {
 
 
     public static class WebsocketCommon<T extends EndpointDefinition>
@@ -260,4 +260,10 @@ public class WebsocketEndpoint {
             return (WebsocketProducer) this;
         }
     }
+    public default WebsocketConsumer fromWebsocket(String path) {
+        return new WebsocketConsumer(path);
+    }
+    public default WebsocketProducer toWebsocket(String path) {
+        return new WebsocketProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/WordpressEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/WordpressEndpoint.java
index d12e5f0..d14fe07 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/WordpressEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/WordpressEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class WordpressEndpoint {
+public interface WordpressEndpoint {
 
 
     public static class WordpressCommon<T extends EndpointDefinition>
@@ -189,4 +189,10 @@ public class WordpressEndpoint {
             super(path);
         }
     }
+    public default WordpressConsumer fromWordpress(String path) {
+        return new WordpressConsumer(path);
+    }
+    public default WordpressProducer toWordpress(String path) {
+        return new WordpressProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/WsEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/WsEndpoint.java
index 0640411..3dae771 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/WsEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/WsEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.HeaderFilterStrategy;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class WsEndpoint {
+public interface WsEndpoint {
 
 
     public static class WsCommon<T extends EndpointDefinition>
@@ -220,4 +220,10 @@ public class WsEndpoint {
             return (WsProducer) this;
         }
     }
+    public default WsConsumer fromWs(String path) {
+        return new WsConsumer(path);
+    }
+    public default WsProducer toWs(String path) {
+        return new WsProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/XChangeEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/XChangeEndpoint.java
index d208892..93569a5 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/XChangeEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/XChangeEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class XChangeEndpoint {
+public interface XChangeEndpoint {
 
 
     public static class XChangeCommon<T extends EndpointDefinition>
@@ -104,4 +104,7 @@ public class XChangeEndpoint {
             super(path);
         }
     }
+    public default XChangeProducer toXChange(String path) {
+        return new XChangeProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/XQueryEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/XQueryEndpoint.java
index 8192916..1de06b2 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/XQueryEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/XQueryEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class XQueryEndpoint {
+public interface XQueryEndpoint {
 
 
     public static class XQueryCommon<T extends EndpointDefinition>
@@ -364,4 +364,10 @@ public class XQueryEndpoint {
     public static enum ResultFormat {
         Bytes, BytesSource, DOM, DOMSource, List, String, StringSource;
     }
+    public default XQueryConsumer fromXQuery(String path) {
+        return new XQueryConsumer(path);
+    }
+    public default XQueryProducer toXQuery(String path) {
+        return new XQueryProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/XmlSignatureEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/XmlSignatureEndpoint.java
index cfe99dc..c00bc57 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/XmlSignatureEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/XmlSignatureEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class XmlSignatureEndpoint {
+public interface XmlSignatureEndpoint {
 
 
     public static class XmlSignatureCommon<T extends EndpointDefinition>
@@ -496,4 +496,7 @@ public class XmlSignatureEndpoint {
     public static enum XmlCommand {
         sign, verify;
     }
+    public default XmlSignatureProducer toXmlSignature(String path) {
+        return new XmlSignatureProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/XmppEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/XmppEndpoint.java
index 85363e3..6991182 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/XmppEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/XmppEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.HeaderFilterStrategy;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class XmppEndpoint {
+public interface XmppEndpoint {
 
 
     public static class XmppCommon<T extends EndpointDefinition>
@@ -260,4 +260,10 @@ public class XmppEndpoint {
             super(path);
         }
     }
+    public default XmppConsumer fromXmpp(String path) {
+        return new XmppConsumer(path);
+    }
+    public default XmppProducer toXmpp(String path) {
+        return new XmppProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/XsltEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/XsltEndpoint.java
index d0cd26c..6cae7e2 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/XsltEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/XsltEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.EndpointDefinition;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class XsltEndpoint {
+public interface XsltEndpoint {
 
 
     public static class XsltCommon<T extends EndpointDefinition>
@@ -225,4 +225,7 @@ public class XsltEndpoint {
     public static enum XsltOutput {
         string, bytes, DOM, file;
     }
+    public default XsltProducer toXslt(String path) {
+        return new XsltProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/YammerEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/YammerEndpoint.java
index 36a5494..8b6d69f 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/YammerEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/YammerEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.ScheduledPollConsumerScheduler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class YammerEndpoint {
+public interface YammerEndpoint {
 
 
     public static class YammerCommon<T extends EndpointDefinition>
@@ -345,4 +345,10 @@ public class YammerEndpoint {
     public static enum YammerFunctionType {
         MESSAGES, MY_FEED, ALGO, FOLLOWING, SENT, PRIVATE, RECEIVED, USERS, CURRENT;
     }
+    public default YammerConsumer fromYammer(String path) {
+        return new YammerConsumer(path);
+    }
+    public default YammerProducer toYammer(String path) {
+        return new YammerProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ZendeskEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ZendeskEndpoint.java
index e190eaa..7293e99 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ZendeskEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ZendeskEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class ZendeskEndpoint {
+public interface ZendeskEndpoint {
 
 
     public static class ZendeskCommon<T extends EndpointDefinition>
@@ -158,4 +158,10 @@ public class ZendeskEndpoint {
             super(path);
         }
     }
+    public default ZendeskConsumer fromZendesk(String path) {
+        return new ZendeskConsumer(path);
+    }
+    public default ZendeskProducer toZendesk(String path) {
+        return new ZendeskProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ZooKeeperEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ZooKeeperEndpoint.java
index 6731484..d12484b 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ZooKeeperEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ZooKeeperEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class ZooKeeperEndpoint {
+public interface ZooKeeperEndpoint {
 
 
     public static class ZooKeeperCommon<T extends EndpointDefinition>
@@ -189,4 +189,10 @@ public class ZooKeeperEndpoint {
             return (ZooKeeperProducer) this;
         }
     }
+    public default ZooKeeperConsumer fromZooKeeper(String path) {
+        return new ZooKeeperConsumer(path);
+    }
+    public default ZooKeeperProducer toZooKeeper(String path) {
+        return new ZooKeeperProducer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ZooKeeperMasterEndpoint.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ZooKeeperMasterEndpoint.java
index 419f7da..e46e4a9 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ZooKeeperMasterEndpoint.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ZooKeeperMasterEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.ExceptionHandler;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public class ZooKeeperMasterEndpoint {
+public interface ZooKeeperMasterEndpoint {
 
 
     public static class ZooKeeperMasterCommon<T extends EndpointDefinition>
@@ -117,4 +117,7 @@ public class ZooKeeperMasterEndpoint {
             return (ZooKeeperMasterConsumer) this;
         }
     }
+    public default ZooKeeperMasterConsumer fromZooKeeperMaster(String path) {
+        return new ZooKeeperMasterConsumer(path);
+    }
 }
\ No newline at end of file
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeCharsetTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeCharsetTest.java
index c8e7d45..c69ad65 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeCharsetTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeCharsetTest.java
@@ -21,13 +21,16 @@ import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.model.endpoint.EndpointBuilder;
 import org.junit.Before;
 import org.junit.Test;
 
 /**
  *
  */
-public class FileConsumeCharsetTest extends ContextTestSupport {
+public class FileConsumeCharsetTest extends ContextTestSupport
+    implements EndpointBuilder
+        {
 
     @Override
     @Before
@@ -54,17 +57,11 @@ public class FileConsumeCharsetTest extends ContextTestSupport {
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                from(file("target/data/files/").initialDelay(0).delay(10).fileName(constant("report.txt")).delete(true).charset("UTF-8"))
+                from(fromFile("target/data/files/").initialDelay(0).delay(10).fileName(constant("report.txt")).delete(true).charset("UTF-8"))
                     .convertBodyTo(String.class)
-                    .to(mock("result"));
+                    .to(toMock("result"));
             }
         };
     }
 
-    static org.apache.camel.model.endpoint.FileEndpoint.FileConsumer file(String path) {
-        return new org.apache.camel.model.endpoint.FileEndpoint.FileConsumer(path);
-    }
-    static org.apache.camel.model.endpoint.MockEndpoint.MockProducer mock(String name) {
-        return new org.apache.camel.model.endpoint.MockEndpoint.MockProducer(name);
-    }
 }
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java
index b412fe5..c480be2 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java
@@ -186,6 +186,7 @@ public class EndpointDslMojo extends AbstractMojo {
         final JavaClass javaClass = new JavaClass(getProjectClassLoader());
         javaClass.setPackage(packageName);
         javaClass.setName(endpointName);
+        javaClass.setClass(false);
         javaClass.addImport("org.apache.camel.model.EndpointDefinition");
 
         Map<String, JavaClass> enumClasses = new HashMap<>();
@@ -214,6 +215,13 @@ public class EndpointDslMojo extends AbstractMojo {
                     .addParameter(String.class, "path")
                     .setBody("super(path);");
             generateDummyClass(consumerClass.getCanonicalName());
+
+            javaClass.addMethod()
+                    .setPublic().setDefault()
+                    .setName("from" + endpointName.replace("Endpoint", ""))
+                    .addParameter(String.class, "path")
+                    .setReturnType(new GenericType(loadClass(consumerClass.getCanonicalName())))
+                    .setBody("return new " + consumerClass.getName() + "(path);");
         }
 
         JavaClass producerClass;
@@ -230,6 +238,13 @@ public class EndpointDslMojo extends AbstractMojo {
                     .addParameter(String.class, "path")
                     .setBody("super(path);");
             generateDummyClass(producerClass.getCanonicalName());
+
+            javaClass.addMethod()
+                    .setPublic().setDefault()
+                    .setName("to" + endpointName.replace("Endpoint", ""))
+                    .addParameter(String.class, "path")
+                    .setReturnType(new GenericType(loadClass(producerClass.getCanonicalName())))
+                    .setBody("return new " + producerClass.getName() + "(path);");
         }
 
         generateDummyClass(packageName + ".T");
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/srcgen/JavaClass.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/srcgen/JavaClass.java
index d8f77db..037b2ec 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/srcgen/JavaClass.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/srcgen/JavaClass.java
@@ -282,12 +282,12 @@ public class JavaClass {
         if (isStatic) {
             sb2.append("static ");
         }
-        sb2.append("class ").append(name);
+        sb2.append(isClass ? "class " : "interface ").append(name);
         if (extendsName != null && !"java.lang.Object".equals(extendsName)) {
             sb2.append(" extends ").append(extendsName);
         }
         if (!implementNames.isEmpty()) {
-            sb2.append(" implements ")
+            sb2.append(isClass ? " implements " : " extends ")
                     .append(Strings.join(implementNames, ", "));
         }
         sb2.append(" {");
@@ -301,7 +301,7 @@ public class JavaClass {
             if (isStatic) {
                 sb.append("static ");
             }
-            sb.append("class ").append(name);
+            sb.append(isClass ? "class " : "interface ").append(name);
             if (extendsName != null && !"java.lang.Object".equals(extendsName)) {
                 sb.append("\n");
                 sb.append(indent).append("        extends\n");
@@ -309,7 +309,7 @@ public class JavaClass {
             }
             if (!implementNames.isEmpty()) {
                 sb.append("\n");
-                sb.append(indent).append("        implements\n");
+                sb.append(indent).append(isClass ? "        implements\n" : "        extends\n");
                 sb.append(indent).append("            ").append(Strings.join(implementNames, ", "));
             }
             sb.append(" {\n");
@@ -419,6 +419,9 @@ public class JavaClass {
         if (method.isPublic) {
             sb2.append("public ");
         }
+        if (method.isDefault) {
+            sb2.append("default ");
+        }
         if (!method.isConstructor) {
             sb2.append(method.returnType != null ? shortName(method.returnType) : "void");
             sb2.append(" ");
@@ -440,6 +443,9 @@ public class JavaClass {
             if (method.isPublic) {
                 sb.append("public ");
             }
+            if (method.isDefault) {
+                sb.append("default ");
+            }
             sb.append(shortName(method.returnType));
             sb.append(" ");
             sb.append(method.name);
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/srcgen/Method.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/srcgen/Method.java
index 3377753..6c869f5 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/srcgen/Method.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/srcgen/Method.java
@@ -24,6 +24,7 @@ import java.util.Objects;
 public class Method {
     String name;
     GenericType returnType;
+    boolean isDefault;
     boolean isPublic;
     boolean isConstructor;
     String body;
@@ -37,6 +38,11 @@ public class Method {
         return this;
     }
 
+    public Method setDefault() {
+        isDefault = true;
+        return this;
+    }
+
     public String getName() {
         return name;
     }