by Guest » 28 Dec 2024, 15:48
Laut Camels Dokument verfügt die Bean-Komponente über einen Abfrageparameter
parameters. Wenn ich die Parameterbindung richtig verstehe, funktioniert das nur mit Bean-Handler-Methoden, oder?
Jetzt mit einer Klasse:
Code: Select all
class MyBean implements Consumer {
String id;
MyBean( final String id ) {
this.id = id;
}
MyBean setId( final String id ) {
this.id = id;
return this;
}
@Override
@Handler
public void accept(Object o) {
// ...
}
Ist es möglich, so etwas zu tun:
- Attribute mit einem assoziativen Array oder einer Karte festzulegen:
Code: Select all
String[] attributes = { "id", "My bean's id.", "attr2", "value2", ... };
.bean( MyBean.class, attributes )
.bean( MyBean.class, Map.of( "id", "My bean's id.", "attr2", "value2", ... ) )
- oder über (positionelle) Konstruktorparameter:
Code: Select all
.bean( MyBean.class, { "MyBean()", "My bean's id." } )
- oder durch Aufrufen von Methoden:
Code: Select all
.bean( MyBean.class, { "setId(\"My bean's id.\")" } )
Code: Select all
.to( "bean:MyBean?id=\"My bean's id.\"&ctorArgs=\"My bean's id.\"&method=setId(\"My bean's id.\")" )
Laut Camels Dokument verfügt die Bean-Komponente über einen Abfrageparameter [b]parameters[/b]. Wenn ich die Parameterbindung richtig verstehe, funktioniert das nur mit Bean-Handler-Methoden, oder?
Jetzt mit einer Klasse:
[code]class MyBean implements Consumer {
String id;
MyBean( final String id ) {
this.id = id;
}
MyBean setId( final String id ) {
this.id = id;
return this;
}
@Override
@Handler
public void accept(Object o) {
// ...
}
[/code]
Ist es möglich, so etwas zu tun:
[list]
[*]Attribute mit einem assoziativen Array oder einer Karte festzulegen:
[/list]
[code]String[] attributes = { "id", "My bean's id.", "attr2", "value2", ... };
.bean( MyBean.class, attributes )
.bean( MyBean.class, Map.of( "id", "My bean's id.", "attr2", "value2", ... ) )
[/code]
[list]
oder über (positionelle) Konstruktorparameter:
[/list]
[code].bean( MyBean.class, { "MyBean()", "My bean's id." } )
[/code]
[list]
[*]oder durch Aufrufen von Methoden:
[/list]
[code].bean( MyBean.class, { "setId(\"My bean's id.\")" } )
[/code]
[list]
[*]oder mit URIs:
[/list]
[code].to( "bean:MyBean?id=\"My bean's id.\"&ctorArgs=\"My bean's id.\"&method=setId(\"My bean's id.\")" )
[/code]