Interface RuntimeCamelCatalog

All Superinterfaces:
AutoCloseable, CamelContextAware, HasCamelContext, Service, StaticService

public interface RuntimeCamelCatalog extends StaticService, CamelContextAware
Runtime catalog which limited API needed by components that supports ComponentVerifierExtension.
Since:
3.1
  • Field Details

  • Method Details

    • componentJSonSchema

      @Nullable String componentJSonSchema(String name)
      Returns the component information as JSON format.

      This API is needed by ComponentVerifierExtension.

      Parameters:
      name - the component name
      Returns:
      component details in JSon
    • endpointProperties

      Map<String,String> endpointProperties(String uri) throws URISyntaxException
      Parses the endpoint uri and constructs a key/value properties of each option.

      This API is needed by SendDynamicAware.

      Parameters:
      uri - the endpoint uri
      Returns:
      properties as key value pairs of each endpoint option
      Throws:
      URISyntaxException
    • endpointLenientProperties

      Map<String,String> endpointLenientProperties(String uri) throws URISyntaxException
      Parses the endpoint uri and constructs a key/value properties of only the lenient properties (eg custom options)

      For example using the HTTP components to provide query parameters in the endpoint uri.

      This API is needed by SendDynamicAware.

      Parameters:
      uri - the endpoint uri
      Returns:
      properties as key value pairs of each lenient properties
      Throws:
      URISyntaxException
    • validateProperties

      EndpointValidationResult validateProperties(String scheme, Map<String,String> properties)
      Validates the properties for the given scheme against component and endpoint

      This API is needed by ComponentVerifierExtension.

      Parameters:
      scheme - the endpoint scheme
      properties - the endpoint properties
      Returns:
      validation result
    • asEndpointUri

      String asEndpointUri(String scheme, Map<String,String> properties, boolean encode) throws URISyntaxException
      Creates an endpoint uri in Java style from the information from the properties

      This API is needed by SendDynamicAware.

      Parameters:
      scheme - the endpoint schema
      properties - the properties as key value pairs
      encode - whether to URL encode the returned uri or not
      Returns:
      the constructed endpoint uri
      Throws:
      URISyntaxException - is thrown if there is encoding error
    • matchEndpointIdentity

      boolean matchEndpointIdentity(String uri1, String uri2)
      Checks whether two endpoint URIs refer to the same logical endpoint.

      Two URIs match when they share the same scheme, context-path, and — if the component declares any query parameters as endpointIdentity — the same values for those identity parameters. Non-identity query parameters (timeouts, buffer sizes, etc.) are ignored.

      Parameters:
      uri1 - the first endpoint uri
      uri2 - the second endpoint uri
      Returns:
      true if both URIs identify the same destination
      Since:
      4.21