Revision 569
tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java (revision 569) | ||
---|---|---|
93 | 93 |
*/ |
94 | 94 |
protected HashMap<String, Object> lastComputingParameters = new HashMap<String, Object>(); |
95 | 95 |
|
96 |
public HashMap<String, Object> getLastComputingParameters() { |
|
97 |
return lastComputingParameters; |
|
98 |
} |
|
96 | 99 |
|
97 | 100 |
/** |
98 | 101 |
* Creates a new TXMResult, child of the specified parent. |
... | ... | |
165 | 168 |
} |
166 | 169 |
} |
167 | 170 |
|
171 |
protected Object getParameterForKey(String key) { |
|
172 |
Field[] fields = this.getClass().getDeclaredFields(); |
|
173 |
for (Field f : fields) { |
|
174 |
Parameter parameter = f.getAnnotation(Parameter.class); |
|
175 |
if (parameter == null || parameter.type() != Parameter.COMPUTING) { |
|
176 |
continue; |
|
177 |
} |
|
178 |
f.setAccessible(true); |
|
179 |
if (parameter.key().equals(key)) { |
|
180 |
try { |
|
181 |
return f.get(this); |
|
182 |
} catch (Exception e) { |
|
183 |
e.printStackTrace(); |
|
184 |
} |
|
185 |
} |
|
186 |
} |
|
187 |
return null; |
|
188 |
} |
|
189 |
|
|
190 |
protected boolean hasParameterChanged(String key) { |
|
191 |
if ("".equals(key)) { |
|
192 |
return false; |
|
193 |
} |
|
194 |
Object o = lastComputingParameters.get(key); |
|
195 |
Object newValue = getParameterForKey(key); |
|
196 |
if (o == null && newValue != null) { |
|
197 |
return true; |
|
198 |
} else { |
|
199 |
return o.equals(newValue); |
|
200 |
} |
|
201 |
} |
|
202 |
|
|
168 | 203 |
/** |
169 | 204 |
* Updates the dirty states by comparing TXMResult @Parameter with previously used parameters in the compute() method. |
170 | 205 |
* |
tmp/org.txm.core/src/java/org/txm/core/results/Parameter.java (revision 569) | ||
---|---|---|
21 | 21 |
public final int COMPUTING = 0, RENDERING = 1; |
22 | 22 |
|
23 | 23 |
// FIXME: could be used to automate saveParameters(), loadParameters(), etc. for accessing the preferences node value of a key in TXMResult class |
24 |
//public String preferenceName() default "";
|
|
24 |
public String key() default "";
|
|
25 | 25 |
|
26 | 26 |
|
27 | 27 |
public int type() default Parameter.COMPUTING; |
Also available in: Unified diff