1
2
3
4
5
6
7 package org.weda.tapestry.component;
8
9 import org.apache.hivemind.ApplicationRuntimeException;
10 import org.apache.tapestry.BaseComponent;
11 import org.apache.tapestry.annotations.ComponentClass;
12 import org.apache.tapestry.annotations.InjectObject;
13 import org.apache.tapestry.annotations.Parameter;
14 import org.weda.converter.ValueTypeConverter;
15 import org.weda.model.EditorModel;
16
17 /**
18 *
19 * @author Mikhail Titov
20 */
21 public abstract class AbstractEditor extends EditorGroupComponent {
22 @InjectObject("service:org.weda.converter.ValueTypeConverter")
23 public abstract ValueTypeConverter getConverterService();
24 /**Данный метод должен производить изменения в модели данных и вернуть
25 * <code>NULL</code> если изменения прошли успешно или сообщение
26 * указывающее на то почему изменения провести не удалось.
27 */
28 public abstract void makeUpdate() throws Exception;
29 /**Метод возвращает значение претиндента на значение модели
30 * если он установлен, иначе значение модели.
31 */
32 public Object getModelValue(){
33 try{
34 if (getModel().isValuePretenderSetted())
35 return getModel().getValuePretender();
36 else
37 return getModel().getValue();
38 }catch(Exception e){
39 throw new ApplicationRuntimeException(e);
40 }
41
42 }
43 }