xml ファイルから文字列を取得し、その値をオブジェクトに設定しようとしていますが、これを行う方法がわかりません。これまでに行ったことは次のとおりです。
public class Converter {
public static void main(String[] args) throws Exception {
final XmlJsonDataFormat xmlJsonFormat = new XmlJsonDataFormat();
xmlJsonFormat.setTypeHints(String.valueOf("YES"));
CamelContext context = new DefaultCamelContext();
context.getTypeConverterRegistry().addTypeConverter(User.class, String.class, new UserConverter());
context.addRoutes(new RouteBuilder() {
public void configure() {
from("ftp://Mike@localhost")
.to("seda:input").marshal(xmlJsonFormat).to("seda:out");
}
});
User user = context.getTypeConverter().convertTo(User.class, "seda:out"); // Here i need to access string from "seda:out"
context.start();
Thread.sleep(5000);
System.out.println(user.getLogin());
}
private static class UserConverter extends TypeConverterSupport {
@SuppressWarnings("unchecked")
public <T> T convertTo(Class<T> type, Exchange exchange, Object value) {
User user = new User();
user.setLogin(String.valueOf(value.toString()));
return (T) user;
}
}
}
私の出力はseda:outですが、出力を文字列、つまり in にする必要がありますseda:out
。
これはどのように行うことができますか?