You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2015/07/11 08:38:04 UTC

[jira] [Commented] (CAMEL-6768) @Header @Body @Property bean parameter binding - add mandatory option

    [ https://issues.apache.org/jira/browse/CAMEL-6768?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14623267#comment-14623267 ] 

Claus Ibsen commented on CAMEL-6768:
------------------------------------

The problem is that

public @interface Header {
    String value();
}

Is a single value so you can just do @Header("foo") but if you add another option like

public @interface Header {
    String value();
    boolean required() default false;
}

Then you must specify the header as @Header(value = "foo") or change the name of value to name

public @interface Header {
    String name();
    boolean required() default false;
}

so you can do @Header(name = "foo")

In all cases its a api breaking change, and also its more verbose.


> @Header @Body @Property bean parameter binding - add mandatory option
> ---------------------------------------------------------------------
>
>                 Key: CAMEL-6768
>                 URL: https://issues.apache.org/jira/browse/CAMEL-6768
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-core
>            Reporter: Claus Ibsen
>            Priority: Minor
>             Fix For: Future
>
>
> See
> http://stackoverflow.com/questions/18874641/add-string-to-camel-exchange-header-from-route?noredirect=1#comment27863978_18874641
> We could have an attribute mandatory = true, which is default true for these bean parameter annotations. Then people can set it to false, if a @Header is not mandatory (eg do not fail if the header is not present).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)