1 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 staticField = null; 19 private transient String transientField = null; 20 private String field = null; 21 private String 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 beanName; 28 29 public SimpleBean() { 30 synchronized(SimpleBean.class) { 31 instanceCnt ++; sharedId = timeStamp; 33 } 34 } 35 36 public int getInstanceCnt() { 37 synchronized(SimpleBean.class) { 38 return instanceCnt; 39 } 40 } 41 42 synchronized public String getStaticField() { 43 return staticField; 44 } 45 46 synchronized public void setStaticField(String staticField) { 47 SimpleBean.staticField = staticField; 48 } 49 50 synchronized public String getDsoTransientField() { 51 return dsoTransientField; 52 } 53 54 synchronized public void setDsoTransientField(String dsoTransientField) { 55 this.dsoTransientField = dsoTransientField; 56 } 57 58 synchronized public String getField() { 59 return field; 60 } 61 62 synchronized public void setField(String 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 getTransientField() { 75 return transientField; 76 } 77 78 synchronized public void setTransientField(String 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 ++; } 128 } 129 130 public int getInstanceCnt() { 131 synchronized(SimpleBean.class) { 132 return myInstanceCnt; 133 } 134 } 135 } 136 137 public String getBeanName() { 138 return beanName; 139 } 140 141 public void setBeanName(String beanName) { 142 this.beanName = beanName; 143 } 144 } 145 | Popular Tags |