bindy csv Dataformat (Camel 2.13.1) を使用していくつかの継承を試みています。抽象クラスと 2 つの具象クラスがあり、それぞれが基本クラスを継承しています。
元
@CsvRecord(separator=";",generateHeaderColumns=true,skipFirstLine=true)
public abstract class AbstractBaseFormat {
@DataField(columnName="FIELD1",pos=1)
protected String field1;
@DataField(columnName="FIELD2",pos=2)
protected String field2;
// getter/setter
}
public class Format1 extends AbstractBaseFormat {
@DataField(columnName="FIELD3",pos=3)
private String field3;
// getter / setter
}
public class Format2 extends AbstractBaseFormat {
@DataField(columnName="FIELD3",pos=3)
private Long field3;
// getter / setter
}
ルートで具象クラスを使用すると、キャメルがエラーをスローします
java.lang.IllegalArgumentException: The separator has not been defined in the annotation @CsvRecord or not instantiated during initModel. must be specified
OK、@CsvRecord アノテーションは抽象クラスにあり、Bindy Factory によって認識されません。
しかし、この注釈を各具象クラスに付けると、Bindy が最初のフィールド (pos = 1) を見つけられなかったため、別の例外が発生します。
この種のモデルを Bindy csv Dataformat で使用できますか?