KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tctest > spring > bean > SimpleBean


1 /*
2  * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
3  */

4 package com.tctest.spring.bean;
5
6 import org.springframework.beans.factory.BeanNameAware;
7
8 import com.tc.aspectwerkz.proxy.Uuid;
9
10 public class SimpleBean implements ISimpleBean, BeanNameAware {
11   private transient long id = System.identityHashCode(this) + Uuid.newUuid();
12   
13   private transient long timeStamp = System.currentTimeMillis();
14   private long sharedId = 0;
15   
16   private static int instanceCnt = 0;
17   
18   private static String JavaDoc staticField = null;
19   private transient String JavaDoc transientField = null;
20   private String JavaDoc field = null;
21   private String JavaDoc dsoTransientField = null;
22   
23   private ISimpleBean sharedRef = null;
24   private transient ISimpleBean transientRef = null;
25   private transient ISimpleBean dsoTransientRef = null;
26
27   private transient String JavaDoc beanName;
28     
29   public SimpleBean() {
30     synchronized(SimpleBean.class) {
31       instanceCnt ++; // this should have the number of instance in one CL, assuming constructor is invoked
32
sharedId = timeStamp;
33     }
34   }
35   
36   public int getInstanceCnt() {
37     synchronized(SimpleBean.class) {
38       return instanceCnt;
39     }
40   }
41   
42   synchronized public String JavaDoc getStaticField() {
43     return staticField;
44   }
45   
46   synchronized public void setStaticField(String JavaDoc staticField) {
47     SimpleBean.staticField = staticField;
48   }
49   
50   synchronized public String JavaDoc getDsoTransientField() {
51     return dsoTransientField;
52   }
53   
54   synchronized public void setDsoTransientField(String JavaDoc dsoTransientField) {
55     this.dsoTransientField = dsoTransientField;
56   }
57   
58   synchronized public String JavaDoc getField() {
59     return field;
60   }
61   
62   synchronized public void setField(String JavaDoc field) {
63     this.field = field;
64   }
65   
66   synchronized public ISimpleBean getTransientRef() {
67     return transientRef;
68   }
69   
70   synchronized public void setTransientRef(ISimpleBean transientChild) {
71     this.transientRef = transientChild;
72   }
73   
74   synchronized public String JavaDoc getTransientField() {
75     return transientField;
76   }
77   
78   synchronized public void setTransientField(String JavaDoc transientField) {
79     this.transientField = transientField;
80   }
81
82   public int getHashCode() {
83     return hashCode();
84   }
85   
86   synchronized public long getId() {
87     return id;
88   }
89
90   synchronized public long getSharedId() {
91     return sharedId;
92   }
93
94   synchronized public void setSharedId(long sharedId) {
95     this.sharedId = sharedId;
96   }
97
98   synchronized public ISimpleBean getDsoTransientRef() {
99     return dsoTransientRef;
100   }
101
102   synchronized public void setDsoTransientRef(ISimpleBean dsoTransientRef) {
103     this.dsoTransientRef = dsoTransientRef;
104   }
105
106   synchronized public long getSharedRefId() {
107     return this.sharedRef == null ? -1 : sharedRef.getId();
108   }
109     
110   synchronized public ISimpleBean getSharedRef() {
111     return sharedRef;
112   }
113
114   synchronized public void setSharedRef(ISimpleBean sharedRef) {
115     this.sharedRef = sharedRef;
116   }
117
118   public long getTimeStamp() {
119     return timeStamp;
120   }
121
122   public static class SBParent extends SimpleBean {
123     static private int myInstanceCnt = 0;
124     public SBParent() {
125       synchronized(SimpleBean.class) {
126         myInstanceCnt ++; // this should have the number of instance of this subtype in one CL, assuming constructor is invoked
127
}
128     }
129    
130     public int getInstanceCnt() {
131       synchronized(SimpleBean.class) {
132         return myInstanceCnt;
133       }
134     }
135   }
136
137   public String JavaDoc getBeanName() {
138     return beanName;
139   }
140
141   public void setBeanName(String JavaDoc beanName) {
142     this.beanName = beanName;
143   }
144 }
145
Popular Tags