| 1 16 package com.j2biz.pencil.test.scenario.refCall; 17 18 import com.j2biz.log.LOG; 19 import com.j2biz.pencil.test.additional.DotCallTestObject; 20 21 26 public class DotCall extends DotCallTestObject { 27 public static DotCallTestObject object = new DotCallTestObject(); 28 29 public DotCallTestObjectSamePackage packageWideObj = new DotCallTestObjectSamePackage(); 30 31 public static DotCall referenceMe = new DotCall(1); 32 33 public static int publicStaticField = new Integer (1).intValue(); 34 35 public int publicField = new Integer (2).intValue(); 36 37 protected int protectedField = new Integer (3).intValue(); 38 39 private int privateField = new Integer (4).intValue(); 40 41 public class ExtendsClass3 extends DotCallTestObjectSamePackage { 42 ; 43 } 44 45 public class ExtendsClass extends DotCallTestObject { 46 ; 47 } 48 49 public class ExtendsClass2 extends NestedClass { 50 ; 51 } 52 53 public class TypeTestClass { 54 public int intField = new Integer (1).intValue(); 55 public short shortField = new Short ((short) 2).shortValue(); 56 public byte byteField = new Byte ((byte) 3).byteValue(); 57 public char charField = new Character ('a').charValue(); 58 public long longField = new Long (1).longValue(); 59 public float floatField = new Float (2).floatValue(); 60 public double doubleField = new Double (3).doubleValue(); 61 } 62 63 private class InnerClass { 64 private class InnerClass2 { 65 private int privateField = new Integer (1).intValue(); 66 } 67 } 68 69 private class NestedClass { 70 private int privateField = new Integer (12).intValue(); 71 protected int protectedField = new Integer (13).intValue(); 72 public int publicField = new Integer (14).intValue(); 73 74 public void testSubClass() { 75 ExtendsClass2 subClassCalledInSuper = new ExtendsClass2(); 76 LOG.debug("DotCall.NestedClass.<init>.subClassCalledInSuper.public = ${subClassCalledInSuper.publicField}"); 77 LOG.debug("DotCall.NestedClass.<init>.subClassCalledInSuper.protected = ${subClassCalledInSuper.protectedField}" ); 78 LOG.debug("DotCall.NestedClass.<init>.subClassCalledInSuper.private = ${subClassCalledInSuper.privateField}" ); 79 } 80 } 81 82 private class ExtendsClass4 extends NestedClass2 { 83 private int privateField = new Integer (12).intValue(); 84 protected int protectedField = new Integer (13).intValue(); 85 public int publicField = new Integer (14).intValue(); 86 } 87 88 private class NestedClass2 { 89 public void testSubClass() { 90 ExtendsClass4 subClassCalledInSuper = new ExtendsClass4(); 91 LOG.debug("DotCall.NestedClass2.<init>.subClassCalledInSuper.public = ${subClassCalledInSuper.publicField}"); 92 LOG.debug("DotCall.NestedClass2.<init>.subClassCalledInSuper.protected = ${subClassCalledInSuper.protectedField}" ); 93 LOG.debug("DotCall.NestedClass2.<init>.subClassCalledInSuper.private = ${subClassCalledInSuper.privateField}" ); 94 } 95 } 96 97 static { 98 LOG.debug("DotCall.<clinit>.field1 = ${object.field1}"); 99 LOG.debug("DotCall.<clinit>.field2 = ${object.field2}"); 100 101 LOG 102 .debug("DotCall.<clinit>.field1.privateField = ${object.field1.privateField}"); 103 LOG 104 .debug("DotCall.<clinit>.field1.protectedField = ${object.field1.protectedField}"); 105 LOG 106 .debug("DotCall.<clinit>.field1.publicField = ${object.field1.publicField}"); 107 108 LOG.debug("DotCall.<clinit>.field2 = ${object.field2}"); 109 LOG.debug("DotCall.<clinit>.fieldNotExist = ${object.fieldNotExist}"); 110 111 DotCallTestObject objectLocal = new DotCallTestObject(); 112 LOG 113 .debug("DotCall.<clinit>.objectLocal.field1 = ${objectLocal.field1}"); 114 } 115 116 { 117 LOG 118 .debug("DotCall.<init>.packageWideObj = ${packageWideObj.publicField}"); 119 LOG 120 .debug("DotCall.<init>.packageWideObj.protected = ${packageWideObj.protectedField}"); 121 122 LOG.debug("DotCall.<init>.field1 = ${object.field1}"); 123 LOG.debug("DotCall.<init>.this.field1 = ${this.object.field1}"); 124 125 LOG 126 .debug("DotCall.<init>.field1.privateField = ${object.field1.privateField}"); 127 LOG 128 .debug("DotCall.<init>.field1.protectedField = ${object.field1.protectedField}"); 129 LOG 130 .debug("DotCall.<init>.field1.publicField = ${object.field1.publicField}"); 131 132 LOG.debug("DotCall.<init>.field2 = ${object.field2}"); 133 LOG.debug("DotCall.<init>.fieldNotExist = ${object.fieldNotExist}"); 134 135 DotCallTestObject objectLocal = new DotCallTestObject(); 136 LOG.debug("DotCall.<init>.objectLocal.field1 = ${objectLocal.field1}"); 137 138 } 139 140 public DotCall() { 141 class EmbeddedClass { 142 private int privateField = new Integer (42).intValue(); 143 } 144 145 LOG 146 .debug("DotCall.<constructor>.referenceMe.public = ${referenceMe.publicField}"); 147 LOG 148 .debug("DotCall.<constructor>.referenceMe.protected = ${referenceMe.protectedField}"); 149 LOG 150 .debug("DotCall.<constructor>.referenceMe.private = ${referenceMe.privateField}"); 151 152 153 LOG.debug("DotCall.<constructor>.parentClass.public = ${referenceMe.field1}"); 154 LOG.debug("DotCall.<constructor>.parentClass.protected = ${referenceMe.field2}"); 155 LOG.debug("DotCall.<constructor>.parentClass.private = ${referenceMe.field3}"); 156 157 158 InnerClass.InnerClass2 subClass = new InnerClass().new InnerClass2(); 159 LOG 160 .debug("DotCall.<constructor>.subClass.private = ${subClass.privateField}"); 161 162 NestedClass nestedClass = new NestedClass(); 163 LOG 164 .debug("DotCall.<constructor>.nestedClass.private = ${nestedClass.privateField}"); 165 166 nestedClass.testSubClass(); 167 168 EmbeddedClass embeddedClass = new EmbeddedClass(); 169 LOG.debug("DotCall.<constructor>.embeddedClass.private = ${embeddedClass.privateField}"); 170 171 TypeTestClass typeTest = new TypeTestClass(); 172 LOG.debug("DotCall.<constructor>.typeTest.intField = ${typeTest.intField.value}"); 173 LOG.debug("DotCall.<constructor>.typeTest.shortField = ${typeTest.shortField.value}"); 174 LOG.debug("DotCall.<constructor>.typeTest.byteField = ${typeTest.byteField.value}"); 175 LOG.debug("DotCall.<constructor>.typeTest.charField = ${typeTest.charField.value}"); 176 LOG.debug("DotCall.<constructor>.typeTest.longField = ${typeTest.longField.value}"); 177 LOG.debug("DotCall.<constructor>.typeTest.doubleField = ${typeTest.doubleField.value}"); 178 LOG.debug("DotCall.<constructor>.typeTest.floatField = ${typeTest.floatField.value}"); 179 180 ExtendsClass extendsClass = new ExtendsClass(); 181 LOG.debug("DotCall.<constructor>.extendsClass.public = ${extendsClass.field1}"); 182 LOG.debug("DotCall.<constructor>.extendsClass.protected = ${extendsClass.field2}"); 183 LOG.debug("DotCall.<constructor>.extendsClass.private = ${extendsClass.field3}"); 184 185 ExtendsClass2 extendsClass2 = new ExtendsClass2(); 186 LOG.debug("DotCall.<constructor>.extendsClass2.public = ${extendsClass2.publicField}"); 187 LOG.debug("DotCall.<constructor>.extendsClass2.protected = ${extendsClass2.protectedField}"); 188 LOG.debug("DotCall.<constructor>.extendsClass2.private = ${extendsClass2.privateField}" ); 189 190 ExtendsClass3 extendsClass3 = new ExtendsClass3(); 191 LOG.debug("DotCall.<constructor>.extendsClass3.public = ${extendsClass3.publicField}" ); 192 LOG.debug("DotCall.<constructor>.extendsClass3.protected = ${extendsClass3.protectedField}"); 193 LOG.debug("DotCall.<constructor>.extendsClass3.private = ${extendsClass3.privateField}" ); 194 195 ExtendsClass4 extendsClass4 = new ExtendsClass4(); 196 extendsClass4.testSubClass(); 197 } 198 199 public DotCall(int test) { 200 ; } 202 203 public static void main(String [] args) { 204 new DotCall(); 205 } 206 } 207 | Popular Tags |