Apache Camel Bindy

Я хотел бы знать о записи объектов в CSV с использованием Camel Bindy, но мой класс имеет типы данных, определенные пользователем. Я вижу исходный код Bindy, дает исключение для типов данных, отличных от предопределенных, Любая опция в Bindy для выполнения подобных действий Если @Link может помочь здесь? Спасибо:)

вот мой класс

@CsvRecord
Public class Myclass{
@DataField(pos = 1)
 private RefClass refOne;
@DataField(pos = 2)
 private String createdOn; 
}

public class RefClass{
private RefClassTwo refTwo;
private String createdBy;
}

2 ответа

@Link может помочь инкапсулировать двух связанных демонов в отдельный класс. Так, например, для CSV

Заказ, Имя, Фамилия

1, Фрэнк Смит

Вы могли бы сделать что-то вроде этого

public class Order {

@DataField(pos = 1)
private int orderNr;
@Link
private Client client;
}

@Link
public class Client {
@DataField(pos = 2)
private String firstname;
@DataField(pos = 3)
private String lastname;
}

Для полного примера @Link проверьте этот модульный тест из тестов компонентов верблюда Бинди, используя эту сложную модель

Если вы хотите получить информацию из одного поля CSV для нескольких типов полей в ваших классах, используйте bindy для анализа информации в строке

@CsvRecord
Public class Myclass{
@DataField(pos = 1)
 private String refOne;
@DataField(pos = 2)
 private String createdOn; 
}

и затем используйте процессор на вашем маршруте, проанализируйте содержимое позиции 1 и сгенерируйте нужные типы данных.

Объекты, связанные с @Link помогите сгруппировать атрибуты. Но также эти связанные классы должны быть аннотированы Бинди.

Другие вопросы по тегам