Mercurial > dive4elements > gnv-client
comparison geo-backend/src/main/java/de/intevation/gnv/geobackend/base/DefaultResultDescriptor.java @ 271:8aad9d098b08
Integrated Patch of issue57 to get some Memoryusage-improvements
geo-backend/trunk@248 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Tue, 20 Oct 2009 09:57:52 +0000 |
parents | b02310d7ffee |
children | 4a874c664123 |
comparison
equal
deleted
inserted
replaced
270:1fe93e3c80c0 | 271:8aad9d098b08 |
---|---|
2 * | 2 * |
3 */ | 3 */ |
4 package de.intevation.gnv.geobackend.base; | 4 package de.intevation.gnv.geobackend.base; |
5 | 5 |
6 import java.util.ArrayList; | 6 import java.util.ArrayList; |
7 import java.util.HashMap; | |
7 import java.util.List; | 8 import java.util.List; |
9 import java.util.Map; | |
8 | 10 |
9 /** | 11 /** |
10 * This Class is the DefaultImplementation of the | 12 * This Class is the DefaultImplementation of the |
11 * Interface ResultDescriptor | 13 * Interface ResultDescriptor |
12 * @author Tim Englich <tim.englich@intevation.de> | 14 * @author Tim Englich <tim.englich@intevation.de> |
27 /** | 29 /** |
28 * The Name of the Classes of the Values of one Result. | 30 * The Name of the Classes of the Values of one Result. |
29 */ | 31 */ |
30 private List<String> columnClassNames = new ArrayList<String>(); | 32 private List<String> columnClassNames = new ArrayList<String>(); |
31 | 33 |
32 | 34 /** |
35 * | |
36 */ | |
37 private Map<String, Integer> columnIndexLookup = new HashMap<String, Integer>(); | |
33 | 38 |
34 /** | 39 /** |
35 * Constructor | 40 * Constructor |
36 */ | 41 */ |
37 public DefaultResultDescriptor() { | 42 public DefaultResultDescriptor() { |
63 * @see de.intevation.gnv.geobackend.base.ResultDescriptor#addColumn(java.lang.String, java.lang.String) | 68 * @see de.intevation.gnv.geobackend.base.ResultDescriptor#addColumn(java.lang.String, java.lang.String) |
64 */ | 69 */ |
65 public void addColumn(String name, String className) { | 70 public void addColumn(String name, String className) { |
66 this.columnClassNames.add(className); | 71 this.columnClassNames.add(className); |
67 this.columnNames.add(name); | 72 this.columnNames.add(name); |
73 this.columnIndexLookup.put(name,this.columnNames.size()-1); | |
68 } | 74 } |
69 | 75 |
76 /** | |
77 * @see de.intevation.gnv.geobackend.base.ResultDescriptor#getColumnIndices(java.lang.String[]) | |
78 */ | |
79 public int [] getColumnIndices(String [] columnNames) { | |
80 if (columnNames == null) { | |
81 return null; | |
82 } | |
83 | |
84 int [] indices = new int[columnNames.length]; | |
85 | |
86 for (int i = 0; i < indices.length; ++i) { | |
87 indices[i] = this.getColumnIndex(columnNames[i]); | |
88 } | |
89 | |
90 return indices; | |
91 } | |
92 | |
93 /** | |
94 * @see de.intevation.gnv.geobackend.base.ResultDescriptor#getColumnIndex(java.lang.String) | |
95 */ | |
96 public int getColumnIndex(String columnName) { | |
97 | |
98 Integer value = this.columnIndexLookup.get(columnName); | |
99 if (value != null){ | |
100 return value.intValue(); | |
101 } | |
102 return -1; | |
103 } | |
70 } | 104 } |