KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > jfun > yan > xml > nuts > spring > SpringCtorNut


1 package jfun.yan.xml.nuts.spring;
2
3
4 import java.util.Properties JavaDoc;
5
6 import org.springframework.beans.factory.DisposableBean;
7 import org.springframework.context.ApplicationContext;
8 import org.springframework.transaction.PlatformTransactionManager;
9
10 import jfun.yan.Component;
11 import jfun.yan.spring.SpringAdapter;
12 import jfun.yan.spring.SpringContext;
13 import jfun.yan.xml.SingletonMode;
14 import jfun.yan.xml.nuts.ConstructorNut;
15
16 /**
17  * A spring-aware ctor tag.
18  * <p>
19  * @author Ben Yu
20  * Nov 17, 2005 12:07:08 AM
21  */

22 public class SpringCtorNut extends ConstructorNut
23 implements SpringContext{
24   private final SpringService spring;
25   private Component tx;
26   private Component transaction_attrs;
27   private String JavaDoc[] interfaces;
28   public void setInit_method(String JavaDoc name){
29     setInitializer(name);
30   }
31   public void setDestroy_method(String JavaDoc name){
32     setDisposer(name);
33   }
34   public void setStart_method(String JavaDoc name){
35     setStarter(name);
36   }
37   public void setStop_method(String JavaDoc name){
38     setStopper(name);
39   }
40
41
42   public String JavaDoc[] getInterfaces() {
43     return interfaces;
44   }
45
46   public void setInterfaces(String JavaDoc[] interfaces) {
47     this.interfaces = interfaces;
48   }
49
50   public Component getTransactionAttributes() {
51     return transaction_attrs;
52   }
53
54   public void setTransactionAttributes(Component transaction_attrs) {
55     this.transaction_attrs =
56       cast(Properties JavaDoc.class, transaction_attrs);
57   }
58
59   public Component getTransactionManager() {
60     return tx;
61   }
62
63   public void setTransactionManager(Component tx) {
64     this.tx = cast(PlatformTransactionManager.class, tx);
65   }
66
67   public SpringCtorNut(SpringService service) {
68     this.spring = service;
69   }
70
71   public void manageDisposableBean(DisposableBean instance){
72     spring.manageDisposableBean(instance);
73   }
74
75   public ApplicationContext getApplicationContext() {
76     return spring.getApplicationContext();
77   }
78
79   public Component eval(){
80     final Component r = super.eval();
81     return SpringAdapter.adapt(r, this, tx, transaction_attrs, interfaces);
82   }
83
84   public void addBeanPostProcessor(String JavaDoc key, Component bpp) {
85     spring.addBeanPostProcessor(key, bpp.getType(), bpp);
86   }
87   
88   private boolean singleton_attribute_set = false;
89   private SingletonMode singleton;
90   public SingletonMode getSingleton() {
91     return singleton;
92   }
93   public void setSingleton(SingletonMode singleton) {
94     singleton_attribute_set = true;
95     this.singleton = singleton;
96   }
97   public boolean isSingletonAttributeSet() {
98     return singleton_attribute_set;
99   }
100 }
101
Popular Tags