Menu

#26 HeaderColumnNameMappingStrategy should support subtypes of r

Unstable (example)
closed
None
5
2016-06-06
2010-10-29
No

limiting the 'type' field only to 'Class<T>' only is a little too restrictive; the attached patch, testcase included, extends it to 'Class<? extends T>' to support also T subtypes.

scenarios: users need to parse list of abstract class 'MyAbstractBean' extended by 'MyBean1' and 'MyBean2', it can be easily supported by:

{{{
List<MyAbstractBean> list;

CsvToBean<MyAbstractBean> csv = new CsvToBean<MyAbstractBean>();

ColumnPositionMappingStrategy<MyAbstractBean> strat = new ColumnPositionMappingStrategy<MockBean>();
strat.setType(MyBean1.class);
strat.setColumnMapping(new String[]{ "a", "b", "c" });
list = csv.parse(strat, new StringReader("..."));

strat.setType(MyBean2.class);
strat.setColumnMapping(new String[]{ "d", "e", "f" });
list = csv.parse(strat, new StringReader("..."));
}}}

same concept extended to interfaces/implementations

Discussion

  • Andrew Rucker Jones

    • assigned_to: Andrew Rucker Jones
    • Group: --> Unstable (example)
     
  • Andrew Rucker Jones

    • status: open --> pending
     
  • Andrew Rucker Jones

    I have a patch ready for version 3.8, and will submit once the master branch is stable.

     
  • Andrew Rucker Jones

    • status: pending --> closed
     
  • Andrew Rucker Jones

    Included in version 3.8, which was released yesterday.

     

Log in to post a comment.