comparison backend/src/main/java/org/dive4elements/river/importer/ImportWst.java @ 6336:c4fbd85a33ee

Backend: Added factory to ImportWst to create columns which are derived from ImportWstColumns. This will be handy when creating columns for the official lines.
author Sascha L. Teichmann <teichmann@intevation.de>
date Fri, 14 Jun 2013 13:25:23 +0200
parents 6c41a4ca2876
children 3d83a4cf33ba 0fe00824bd96
comparison
equal deleted inserted replaced
6335:b2a470c148a7 6336:c4fbd85a33ee
22 /** Not (yet) db-mapped WST object. */ 22 /** Not (yet) db-mapped WST object. */
23 public class ImportWst 23 public class ImportWst
24 { 24 {
25 private static Logger log = Logger.getLogger(ImportWst.class); 25 private static Logger log = Logger.getLogger(ImportWst.class);
26 26
27 public interface ImportWstColumnFactory {
28 ImportWstColumn create(ImportWst iw, int position);
29 }
30
31 public static final ImportWstColumnFactory COLUMN_FACTORY =
32 new ImportWstColumnFactory() {
33 @Override
34 public ImportWstColumn create(ImportWst importWst, int position) {
35 return new ImportWstColumn(importWst, null, null, position);
36 }
37 };
38
27 protected String description; 39 protected String description;
28 40
29 protected Integer kind; 41 protected Integer kind;
30 42
31 protected List<ImportWstColumn> columns; 43 protected List<ImportWstColumn> columns;
32 44
33 protected ImportUnit unit; 45 protected ImportUnit unit;
34 46
47 protected ImportWstColumnFactory columnFactory;
48
35 /** Wst as in db. */ 49 /** Wst as in db. */
36 protected Wst peer; 50 protected Wst peer;
37 51
38 public ImportWst() { 52 public ImportWst() {
53 this(COLUMN_FACTORY);
54 }
55
56 public ImportWst(ImportWstColumnFactory columnFactory) {
57 this.columnFactory = columnFactory;
39 kind = 0; 58 kind = 0;
40 columns = new ArrayList<ImportWstColumn>(); 59 columns = new ArrayList<ImportWstColumn>();
41 } 60 }
42 61
43 public ImportWst(String description) { 62 public ImportWst(String description) {
44 this(); 63 this(description, COLUMN_FACTORY);
64 }
65
66 public ImportWst(String description, ImportWstColumnFactory columnFactory) {
67 this(columnFactory);
45 this.description = description; 68 this.description = description;
46 } 69 }
47 70
48 public String getDescription() { 71 public String getDescription() {
49 return description; 72 return description;
63 } 86 }
64 87
65 /** Create columns that can be accessed with getColumn. */ 88 /** Create columns that can be accessed with getColumn. */
66 public void setNumberColumns(int numColumns) { 89 public void setNumberColumns(int numColumns) {
67 for (int i = 0; i < numColumns; ++i) { 90 for (int i = 0; i < numColumns; ++i) {
68 columns.add(new ImportWstColumn(this, null, null, i)); 91 columns.add(columnFactory.create(this, i));
69 } 92 }
70 } 93 }
71 94
72 public int getNumberColumns() { 95 public int getNumberColumns() {
73 return columns.size(); 96 return columns.size();

http://dive4elements.wald.intevation.org