Mercurial > dive4elements > river
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(); |