Mercurial > hg > de.mpg.mpiwg.itgroup.digilib.plugin
comparison src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiImageParameter.java @ 20:2f47c136b8a6
added property view
author | dwinter |
---|---|
date | Tue, 04 Jan 2011 16:35:41 +0100 |
parents | e63a64652f4d |
children | 643fa1daa70c |
comparison
equal
deleted
inserted
replaced
19:2bb7d0aea33f | 20:2f47c136b8a6 |
---|---|
1 package de.mpg.mpiwg.itgroup.digilib.digiImage; | 1 package de.mpg.mpiwg.itgroup.digilib.digiImage; |
2 | |
3 import java.lang.reflect.Field; | |
4 import java.lang.reflect.InvocationTargetException; | |
5 import java.lang.reflect.Method; | |
6 import java.util.HashMap; | |
7 import java.util.List; | |
8 import java.util.Map; | |
9 | |
10 import com.sun.xml.xsom.impl.parser.DelayedRef.Type; | |
11 | |
12 import de.mpg.mpiwg.itgroup.digilib.plugin.editors.DigilibLinkEditorObservable; | |
2 | 13 |
3 /** | 14 /** |
4 * Parameter which describe the state of an Digilib-Image, | 15 * Parameter which describe the state of an Digilib-Image, |
5 * settings and parameter names are described in @see {@link http://developer.berlios.de/docman/?group_id=251} | 16 * settings and parameter names are described in @see {@link http://developer.berlios.de/docman/?group_id=251} |
6 * @author dwinter | 17 * @author dwinter |
7 * | 18 * |
8 */ | 19 */ |
9 public class DigiImageParameter { | 20 public class DigiImageParameter { |
10 | 21 |
11 private String fn; | 22 public String fn; |
12 | 23 |
13 private int pn=1; | 24 public int pn=1; |
14 | 25 |
15 private int dw=-1; | 26 public int dw=-1; |
16 private int dh=-1; | 27 public int dh=-1; |
17 | 28 |
18 private float wx=0; | 29 public float wx=0; |
19 private float wy=0; | 30 public float wy=0; |
20 | 31 |
21 private float ww=1; | 32 public float ww=1; |
22 private float wh=1; | 33 public float wh=1; |
23 private float ws=1; | 34 public float ws=1; |
24 | 35 |
25 private String mo="fit"; | 36 public String mo="fit"; |
26 | 37 |
27 private float cont=0; | 38 public float cont=0; |
28 private float brgt=0; | 39 public float brgt=0; |
29 | 40 |
30 private float rot=0; | 41 public float rot=0; |
31 | 42 |
32 private String rgbm="0/0/0"; | 43 public String rgbm="0/0/0"; |
33 private String rgba="0/0/0"; | 44 public String rgba="0/0/0"; |
34 | 45 |
35 private int ddpi=-1; | 46 public int ddpi=-1; |
36 private int ddpix=-1; | 47 public int ddpix=-1; |
37 private int ddpiy=-1; | 48 public int ddpiy=-1; |
38 | 49 |
39 public DigiImageParameter(String fn){ | 50 public DigiImageParameter(String fn){ |
40 this.fn = fn; | 51 this.fn = fn; |
41 } | 52 } |
53 | |
54 public DigiImageParameter(Map<String,String> params){ | |
55 | |
56 for(String key: params.keySet()){ | |
57 Field f; | |
58 try { | |
59 f = this.getClass().getField(key); | |
60 } catch (SecurityException e) { | |
61 continue; | |
62 } catch (NoSuchFieldException e) { | |
63 continue; | |
64 } | |
65 if (f!=null){ | |
66 try { | |
67 Class<?> T = f.getType(); | |
68 String name= T.getName(); | |
69 String valueString = params.get(key); | |
70 Object value = valueString; | |
71 if (name.equals("float")){ | |
72 value = Float.valueOf(valueString); | |
73 } else if (name.equals("double")){ | |
74 value = Double.valueOf(valueString); | |
75 } else if (name.equals("int")){ | |
76 value = Integer.valueOf(valueString); | |
77 } else if (name.equals("Float")){ | |
78 value = Float.valueOf(valueString); | |
79 } else if (name.equals("Double")){ | |
80 value = Double.valueOf(valueString); | |
81 } else if (name.equals("Integer")){ | |
82 value = Integer.valueOf(valueString); | |
83 } | |
84 | |
85 | |
86 f.set(this, value); | |
87 | |
88 } catch (IllegalArgumentException e) { | |
89 // TODO Auto-generated catch block | |
90 e.printStackTrace(); | |
91 continue; | |
92 } catch (IllegalAccessException e) { | |
93 // TODO Auto-generated catch block | |
94 e.printStackTrace(); | |
95 continue; | |
96 | |
97 } | |
98 } | |
99 } | |
100 } | |
101 | |
102 | |
42 public String getFn() { | 103 public String getFn() { |
43 return fn; | 104 return fn; |
44 } | 105 } |
45 public void setFn(String fn) { | 106 public void setFn(String fn) { |
46 this.fn = fn; | 107 this.fn = fn; |
148 this.ddpiy = ddpiy; | 209 this.ddpiy = ddpiy; |
149 } | 210 } |
150 | 211 |
151 | 212 |
152 | 213 |
153 | 214 public Map<String, String> createMapFromParameters(List<String> omitIfNegative) { |
154 | 215 |
216 | |
217 Map<String,String> qa= new HashMap<String,String>(); | |
218 | |
219 setPm(qa,"fn",getFn(),omitIfNegative); | |
220 setPm(qa,"pn",getPn(),omitIfNegative); | |
221 | |
222 setPm(qa,"dw",getDw(),omitIfNegative); | |
223 setPm(qa,"dh",getDh(),omitIfNegative); | |
224 | |
225 setPm(qa,"wx",getWx(),omitIfNegative); | |
226 setPm(qa,"wy",getWy(),omitIfNegative); | |
227 setPm(qa,"ws",getWs(),omitIfNegative); | |
228 setPm(qa,"ww",getWw(),omitIfNegative); | |
229 setPm(qa,"wh",getWh(),omitIfNegative); | |
230 | |
231 | |
232 setPm(qa,"mo",getMo(),omitIfNegative); | |
233 | |
234 setPm(qa,"cont",getCont(),omitIfNegative); | |
235 setPm(qa,"brgt",getBrgt(),omitIfNegative); | |
236 | |
237 setPm(qa,"rot",getRot(),omitIfNegative); | |
238 | |
239 setPm(qa,"rgba",getRgba(),omitIfNegative); | |
240 setPm(qa,"rgbm",getRgbm(),omitIfNegative); | |
241 | |
242 setPm(qa,"ddpi",getDdpi(),omitIfNegative); | |
243 setPm(qa,"ddpix",getDdpix(),omitIfNegative); | |
244 setPm(qa,"ddpiy",getDdpiy(),omitIfNegative); | |
245 return qa; | |
246 } | |
247 | |
248 | |
249 | |
250 | |
251 /** | |
252 * Puts the parameter as key-value into the map repecting the setting in @see {@link #omitIfNegativeArray}. | |
253 * @param qa | |
254 * @param key | |
255 * @param value | |
256 * @param omitIfNegative | |
257 */ | |
258 private void setPm(Map<String, String> qa, String key, Object value, List<String> omitIfNegative){ | |
259 String v; | |
260 | |
261 if (omitIfNegative==null){ | |
262 qa.put(key, String.valueOf(value)); | |
263 return; | |
264 } | |
265 if (String.class.isInstance(value)){ | |
266 v=(String)value; | |
267 qa.put(key, v); | |
268 } else if (Integer.class.isInstance(value)){ | |
269 if (!((Integer)value==-1 & omitIfNegative.indexOf(key)>-1)) { // nicht vernachlaessigen | |
270 v=String.valueOf(value); | |
271 qa.put(key, v); | |
272 } | |
273 } else { | |
274 v=String.valueOf(value); | |
275 qa.put(key, v); | |
276 } | |
155 | 277 |
156 } | 278 } |
279 | |
280 | |
281 | |
282 } |