1
2
3
4
5
6
7 package org.weda.tapestry.component;
8
9 import org.apache.tapestry.BaseComponent;
10 import org.apache.tapestry.annotations.InjectObject;
11 import org.weda.message.Messages;
12 import org.weda.message.MessagesRegistry;
13 import org.weda.message.impl.MessagesSubset;
14
15 /**Цель: предоставить общую функциональность для всех компонентов
16 *
17 * @author Mikhail Titov
18 */
19 public abstract class AbstractComponent extends BaseComponent {
20 private Messages componentMessages = null;
21
22 @InjectObject("service:org.weda.message.MessagesRegistry")
23 public abstract MessagesRegistry getAllMessages();
24
25 public Messages getComponentMessages(){
26 if (componentMessages==null){
27 synchronized(this){
28 if (componentMessages==null)
29 componentMessages =
30 new MessagesSubset(
31 new MessagesSubset(getAllMessages(), "components")
32 , this.getClass().getSuperclass().getName());
33 }
34 }
35 return componentMessages;
36 }
37 }