View Javadoc

1   /*
2    * AbstractEditor.java
3    *
4    * Created on 4 Март 2006 г., 14:31
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  }