KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tc > util > ClassUtilsTest


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

5 package com.tc.util;
6
7 import com.tc.asm.ClassAdapter;
8 import com.tc.asm.ClassVisitor;
9 import com.tc.asm.ClassWriter;
10 import com.tc.aspectwerkz.reflect.ClassInfo;
11 import com.tc.aspectwerkz.reflect.MemberInfo;
12 import com.tc.config.schema.NewCommonL1Config;
13 import com.tc.config.schema.builder.DSOApplicationConfigBuilder;
14 import com.tc.exception.ImplementMe;
15 import com.tc.object.Portability;
16 import com.tc.object.PortabilityImpl;
17 import com.tc.object.bytecode.ClassAdapterFactory;
18 import com.tc.object.bytecode.TransparencyClassAdapter;
19 import com.tc.object.bytecode.TransparentAccess;
20 import com.tc.object.config.ConfigLockLevel;
21 import com.tc.object.config.DSOClientConfigHelper;
22 import com.tc.object.config.DSOSpringConfigHelper;
23 import com.tc.object.config.DistributedMethodSpec;
24 import com.tc.object.config.Lock;
25 import com.tc.object.config.LockDefinition;
26 import com.tc.object.config.ModuleSpec;
27 import com.tc.object.config.TransparencyClassSpec;
28 import com.tc.object.config.schema.DSOInstrumentationLoggingOptions;
29 import com.tc.object.config.schema.DSORuntimeLoggingOptions;
30 import com.tc.object.config.schema.DSORuntimeOutputOptions;
31 import com.tc.object.config.schema.InstrumentedClass;
32 import com.tc.object.logging.InstrumentationLogger;
33 import com.tc.util.ClassUtils.ClassSpec;
34 import com.terracottatech.config.Modules;
35
36 import java.io.ByteArrayOutputStream JavaDoc;
37 import java.io.OutputStream JavaDoc;
38 import java.net.Socket JavaDoc;
39 import java.text.ParseException JavaDoc;
40 import java.util.Arrays JavaDoc;
41 import java.util.Collection JavaDoc;
42 import java.util.Collections JavaDoc;
43 import java.util.HashMap JavaDoc;
44 import java.util.HashSet JavaDoc;
45 import java.util.Iterator JavaDoc;
46 import java.util.Map JavaDoc;
47 import java.util.Set JavaDoc;
48
49 import junit.framework.TestCase;
50
51 public class ClassUtilsTest extends TestCase {
52
53   // private StringWriter stringWriter;
54
// private PrintWriter printWriter;
55
// private NonPortableReasonFormatter reasonFormatter;
56

57   public void setUp() {
58     // stringWriter = new StringWriter();
59
// printWriter = new PrintWriter(stringWriter);
60
// reasonFormatter = newFormatter(printWriter);
61
}
62
63   public void testArrayMethods() {
64     assertEquals(int.class, ClassUtils.baseComponetType(int[][][][][].class));
65     assertEquals(Object JavaDoc.class, ClassUtils.baseComponetType(Object JavaDoc[].class));
66
67     try {
68       ClassUtils.baseComponetType(null);
69       fail();
70     } catch (NullPointerException JavaDoc e) {
71       // expected
72
}
73
74     try {
75       ClassUtils.baseComponetType(int.class);
76       fail();
77     } catch (IllegalArgumentException JavaDoc e) {
78       // expected
79
}
80
81     assertEquals(5, ClassUtils.arrayDimensions(int[][][][][].class));
82     assertEquals(1, ClassUtils.arrayDimensions(Object JavaDoc[].class));
83
84     try {
85       ClassUtils.arrayDimensions(null);
86       fail();
87     } catch (NullPointerException JavaDoc e) {
88       // expected
89
}
90
91     try {
92       ClassUtils.arrayDimensions(int.class);
93       fail();
94     } catch (IllegalArgumentException JavaDoc e) {
95       // expected
96
}
97
98   }
99
100   public void testNonPortableReason() {
101     NonPortableReason reason = null;
102     Config config;
103     Portability p;
104
105     // NonPortableReason.CLASS_NOT_ADAPTABLE
106
config = new Config();
107     p = new PortabilityImpl(config);
108     config.isNeverAdaptable.add(NotAdaptable.class.getName());
109     reason = p.getNonPortableReason(NotAdaptable.class);
110     assertEquals(NonPortableReason.CLASS_NOT_ADAPTABLE, reason.getReason());
111     assertEquals(NotAdaptable.class.getName(), reason.getClassName());
112     assertEquals(Collections.EMPTY_LIST, reason.getErroneousBootJarSuperClasses());
113     assertEquals(Collections.EMPTY_LIST, reason.getErroneousSuperClasses());
114     // This is here for visual inspection of the output.
115
// printReason(reason);
116

117     // NonPortableReason.SUPER_CLASS_NOT_ADAPTABLE
118
config = new Config();
119     p = new PortabilityImpl(config);
120     config.isNeverAdaptable.add(NotAdaptable.class.getName());
121     reason = p.getNonPortableReason(ExtendsNotAdaptable.class);
122     assertEquals(NonPortableReason.SUPER_CLASS_NOT_ADAPTABLE, reason.getReason());
123     assertEquals(ExtendsNotAdaptable.class.getName(), reason.getClassName());
124     assertEquals(Collections.EMPTY_LIST, reason.getErroneousBootJarSuperClasses());
125     assertEquals(Arrays.asList(new Object JavaDoc[] { NotAdaptable.class.getName() }), reason.getErroneousSuperClasses());
126     // printReason(reason);
127

128     // NonPortableReason.SUBCLASS_OF_LOGICALLY_MANAGED_CLASS
129
config = new Config();
130     p = new PortabilityImpl(config);
131     reason = p.getNonPortableReason(LogicalSubclass.class);
132     assertEquals(NonPortableReason.SUBCLASS_OF_LOGICALLY_MANAGED_CLASS, reason.getReason());
133     assertEquals(LogicalSubclass.class.getName(), reason.getClassName());
134     assertEquals(Arrays.asList(new Object JavaDoc[] { HashMap JavaDoc.class.getName() }), reason.getErroneousBootJarSuperClasses());
135     assertEquals(Collections.EMPTY_LIST, reason.getErroneousSuperClasses());
136     // printReason(reason);
137

138     // NonPortableReason.CLASS_NOT_IN_BOOT_JAR
139
// -- no supers
140
config = new Config();
141     p = new PortabilityImpl(config);
142     reason = p.getNonPortableReason(OutputStream JavaDoc.class);
143     assertEquals(NonPortableReason.CLASS_NOT_IN_BOOT_JAR, reason.getReason());
144     assertEquals(OutputStream JavaDoc.class.getName(), reason.getClassName());
145     assertEquals(Collections.EMPTY_LIST, reason.getErroneousBootJarSuperClasses());
146     assertEquals(Collections.EMPTY_LIST, reason.getErroneousSuperClasses());
147     // printReason(reason);
148

149     // NonPortableReason.CLASS_NOT_IN_BOOT_JAR
150
// -- boot jar supers
151
config = new Config();
152     p = new PortabilityImpl(config);
153     reason = p.getNonPortableReason(ByteArrayOutputStream JavaDoc.class);
154     assertEquals(NonPortableReason.CLASS_NOT_IN_BOOT_JAR, reason.getReason());
155     assertEquals(ByteArrayOutputStream JavaDoc.class.getName(), reason.getClassName());
156     assertEquals(Arrays.asList(new Object JavaDoc[] { OutputStream JavaDoc.class.getName() }), reason.getErroneousBootJarSuperClasses());
157     assertEquals(Collections.EMPTY_LIST, reason.getErroneousSuperClasses());
158     // printReason(reason);
159

160     // NOTE: NonPortableReason.CLASS_NOT_IN_BOOT_JAR cannot have non-boot jar super classes
161
// (or a mix of boot-jar and non-boot-jar supers)
162

163     // NonPortableReason.CLASS_NOT_INCLUDED_IN_CONFIG
164
// -- no supers
165
config = new Config();
166     p = new PortabilityImpl(config);
167     reason = p.getNonPortableReason(Pojo.class);
168     assertEquals(NonPortableReason.CLASS_NOT_INCLUDED_IN_CONFIG, reason.getReason());
169     assertEquals(Pojo.class.getName(), reason.getClassName());
170     assertEquals(Collections.EMPTY_LIST, reason.getErroneousBootJarSuperClasses());
171     assertEquals(Collections.EMPTY_LIST, reason.getErroneousSuperClasses());
172     // printReason(reason);
173

174     // NonPortableReason.CLASS_NOT_INCLUDED_IN_CONFIG
175
// -- regular supers
176
config = new Config();
177     p = new PortabilityImpl(config);
178     reason = p.getNonPortableReason(SubPojo.class);
179     assertEquals(NonPortableReason.CLASS_NOT_INCLUDED_IN_CONFIG, reason.getReason());
180     assertEquals(SubPojo.class.getName(), reason.getClassName());
181     assertEquals(Collections.EMPTY_LIST, reason.getErroneousBootJarSuperClasses());
182     assertEquals(Arrays.asList(new Object JavaDoc[] { Pojo.class.getName() }), reason.getErroneousSuperClasses());
183     // printReason(reason);
184

185     // NonPortableReason.CLASS_NOT_INCLUDED_IN_CONFIG
186
// -- boot jar supers
187
config = new Config();
188     p = new PortabilityImpl(config);
189     reason = p.getNonPortableReason(SubClassOfBootJarClass.class);
190     assertEquals(NonPortableReason.CLASS_NOT_INCLUDED_IN_CONFIG, reason.getReason());
191     assertEquals(SubClassOfBootJarClass.class.getName(), reason.getClassName());
192     assertEquals(Arrays.asList(new Object JavaDoc[] { ByteArrayOutputStream JavaDoc.class.getName(), OutputStream JavaDoc.class.getName() }),
193                  reason.getErroneousBootJarSuperClasses());
194     assertEquals(Collections.EMPTY_LIST, reason.getErroneousSuperClasses());
195     // printReason(reason);
196

197     // NonPortableReason.CLASS_NOT_INCLUDED_IN_CONFIG
198
// -- both regular and non-boot jar supers
199
config = new Config();
200     p = new PortabilityImpl(config);
201     reason = p.getNonPortableReason(PojoExtendsBootJar.class);
202     assertEquals(NonPortableReason.CLASS_NOT_INCLUDED_IN_CONFIG, reason.getReason());
203     assertEquals(PojoExtendsBootJar.class.getName(), reason.getClassName());
204     assertEquals(Arrays.asList(new Object JavaDoc[] { ByteArrayOutputStream JavaDoc.class.getName(), OutputStream JavaDoc.class.getName() }),
205                  reason.getErroneousBootJarSuperClasses());
206     assertEquals(Arrays.asList(new Object JavaDoc[] { SubClassOfBootJarClass.class.getName() }), reason
207         .getErroneousSuperClasses());
208     // printReason(reason);
209

210     // NonPortableReason.SUPER_CLASS_NOT_INSTRUMENTED
211
// -- regular supers
212
config = new Config();
213     p = new PortabilityImpl(config);
214     reason = p.getNonPortableReason(InstrumentedExtendsRegularNotInstrumented.class);
215     assertEquals(NonPortableReason.SUPER_CLASS_NOT_INSTRUMENTED, reason.getReason());
216     assertEquals(InstrumentedExtendsRegularNotInstrumented.class.getName(), reason.getClassName());
217     assertEquals(Collections.EMPTY_LIST, reason.getErroneousBootJarSuperClasses());
218     assertEquals(Arrays.asList(new Object JavaDoc[] { Pojo.class.getName() }), reason.getErroneousSuperClasses());
219     // printReason(reason);
220

221     // NonPortableReason.SUPER_CLASS_NOT_INSTRUMENTED
222
// -- boot jar supers
223
config = new Config();
224     p = new PortabilityImpl(config);
225     reason = p.getNonPortableReason(InstrumentedExtendsBootJarNotInstrumented.class);
226     assertEquals(NonPortableReason.SUPER_CLASS_NOT_INSTRUMENTED, reason.getReason());
227     assertEquals(InstrumentedExtendsBootJarNotInstrumented.class.getName(), reason.getClassName());
228     assertEquals(Arrays.asList(new Object JavaDoc[] { OutputStream JavaDoc.class.getName() }), reason.getErroneousBootJarSuperClasses());
229     assertEquals(Collections.EMPTY_LIST, reason.getErroneousSuperClasses());
230     // printReason(reason);
231

232     // NonPortableReason.SUPER_CLASS_NOT_INSTRUMENTED
233
// -- both regular and non-boot jar supers
234
config = new Config();
235     p = new PortabilityImpl(config);
236     reason = p.getNonPortableReason(InstrumentedExtendsBothNotInstrumented.class);
237     assertEquals(NonPortableReason.SUPER_CLASS_NOT_INSTRUMENTED, reason.getReason());
238     assertEquals(InstrumentedExtendsBothNotInstrumented.class.getName(), reason.getClassName());
239     assertEquals(Arrays.asList(new Object JavaDoc[] { ByteArrayOutputStream JavaDoc.class.getName(), OutputStream JavaDoc.class.getName() }),
240                  reason.getErroneousBootJarSuperClasses());
241     assertEquals(Arrays.asList(new Object JavaDoc[] { SubClassOfBootJarClass.class.getName() }), reason
242         .getErroneousSuperClasses());
243     // printReason(reason);
244

245   }
246
247   // private void printReason(NonPortableReason reason) {
248
// reasonFormatter.formatReasonTypeName(reason.getReason());
249
// printWriter.println();
250
// reason.accept(reasonFormatter);
251
// reasonFormatter.flush();
252
// printWriter.flush();
253
//
254
// System.err.println("******************************************************************");
255
// System.err.println(stringWriter.getBuffer());
256
// System.err.println();
257
// stringWriter.getBuffer().delete(0, stringWriter.getBuffer().length());
258
// }
259

260   // private NonPortableReasonFormatter newFormatter(PrintWriter out) {
261
// ConsoleParagraphFormatter paragraphFormatter = new ConsoleParagraphFormatter(120, new StringFormatter());
262
// NonPortableReasonFormatter formatter = new ConsoleNonPortableReasonFormatter(out, ": ", new StringFormatter(),
263
// paragraphFormatter);
264
// return formatter;
265
// }
266

267   public void testIsPrimitiveArray() {
268
269     assertTrue(ClassUtils.isPrimitiveArray(new byte[0]));
270     assertTrue(ClassUtils.isPrimitiveArray(new boolean[1]));
271     assertTrue(ClassUtils.isPrimitiveArray(new char[2]));
272     assertTrue(ClassUtils.isPrimitiveArray(new double[3]));
273     assertTrue(ClassUtils.isPrimitiveArray(new float[4]));
274     assertTrue(ClassUtils.isPrimitiveArray(new int[5]));
275     assertTrue(ClassUtils.isPrimitiveArray(new long[6]));
276     assertTrue(ClassUtils.isPrimitiveArray(new short[7]));
277
278     assertFalse(ClassUtils.isPrimitiveArray(new Object JavaDoc[0]));
279     assertFalse(ClassUtils.isPrimitiveArray(new TestCase[42]));
280     assertFalse(ClassUtils.isPrimitiveArray(new Socket JavaDoc[][] { {} }));
281     assertFalse(ClassUtils.isPrimitiveArray(new byte[][] { {} }));
282
283     assertFalse(ClassUtils.isPrimitiveArray(null));
284     assertFalse(ClassUtils.isPrimitiveArray(new Object JavaDoc()));
285   }
286
287   public void testParseFullyQualifiedFieldName() throws Exception JavaDoc {
288     String JavaDoc shortFieldName = "baz";
289     String JavaDoc fullyQualifiedClassname = "foo.Bar";
290     String JavaDoc fullyQualifiedFieldname = fullyQualifiedClassname + "." + shortFieldName;
291     ClassUtils.parseFullyQualifiedFieldName(fullyQualifiedFieldname);
292
293     ClassSpec spec = ClassUtils.parseFullyQualifiedFieldName(fullyQualifiedFieldname);
294     assertEquals(shortFieldName, spec.getShortFieldName());
295     assertEquals(fullyQualifiedClassname, spec.getFullyQualifiedClassName());
296
297     try {
298       spec = ClassUtils.parseFullyQualifiedFieldName(shortFieldName);
299       fail("Expected a ParseException");
300     } catch (ParseException JavaDoc e) {
301       // expected
302
}
303
304     try {
305       spec = ClassUtils.parseFullyQualifiedFieldName("foo.");
306       fail("Excpected a ParseException");
307     } catch (ParseException JavaDoc e) {
308       // expected
309
}
310
311     try {
312       spec = ClassUtils.parseFullyQualifiedFieldName(".foo");
313       fail("Excpected a ParseException");
314     } catch (ParseException JavaDoc e) {
315       // expected
316
}
317
318   }
319
320   private static class NotAdaptable {
321     //
322
}
323
324   private static class ExtendsNotAdaptable extends NotAdaptable {
325     //
326
}
327
328   private static class LogicalSubclass extends java.util.HashMap JavaDoc {
329     //
330
}
331
332   private static class SubClassOfBootJarClass extends ByteArrayOutputStream JavaDoc {
333     //
334
}
335
336   private static class Pojo extends Object JavaDoc {
337     //
338
}
339
340   private static class SubPojo extends Pojo {
341     //
342
}
343
344   private static class PojoExtendsBootJar extends SubClassOfBootJarClass {
345     //
346
}
347
348   private static class InstrumentedExtendsBothNotInstrumented extends SubClassOfBootJarClass implements
349       TransparentAccess {
350     public void __tc_getallfields(Map JavaDoc map) {
351       throw new ImplementMe();
352     }
353
354     public void __tc_setfield(String JavaDoc name, Object JavaDoc value) {
355       throw new ImplementMe();
356     }
357
358     public Object JavaDoc __tc_getmanagedfield(String JavaDoc name) {
359       throw new ImplementMe();
360     }
361
362     public void __tc_setmanagedfield(String JavaDoc name, Object JavaDoc value) {
363       throw new ImplementMe();
364     }
365   }
366
367   private static class InstrumentedExtendsBootJarNotInstrumented extends OutputStream JavaDoc implements TransparentAccess {
368
369     public void write(int b) {
370       throw new ImplementMe();
371     }
372
373     public void __tc_getallfields(Map JavaDoc map) {
374       throw new ImplementMe();
375     }
376
377     public void __tc_setfield(String JavaDoc name, Object JavaDoc value) {
378       throw new ImplementMe();
379     }
380
381     public Object JavaDoc __tc_getmanagedfield(String JavaDoc name) {
382       throw new ImplementMe();
383     }
384
385     public void __tc_setmanagedfield(String JavaDoc name, Object JavaDoc value) {
386       throw new ImplementMe();
387     }
388   }
389
390   private static class InstrumentedExtendsRegularNotInstrumented extends Pojo implements TransparentAccess {
391     public void __tc_getallfields(Map JavaDoc map) {
392       throw new ImplementMe();
393     }
394
395     public void __tc_setfield(String JavaDoc name, Object JavaDoc value) {
396       throw new ImplementMe();
397     }
398
399     public Object JavaDoc __tc_getmanagedfield(String JavaDoc name) {
400       throw new ImplementMe();
401     }
402
403     public void __tc_setmanagedfield(String JavaDoc name, Object JavaDoc value) {
404       throw new ImplementMe();
405     }
406   }
407
408   private static class Config implements DSOClientConfigHelper {
409
410     final Set JavaDoc isNeverAdaptable = new HashSet JavaDoc();
411
412     public NewCommonL1Config getNewCommonL1Config() {
413       return null;
414     }
415
416     public boolean shouldBeAdapted(ClassInfo classInfo) {
417       return true;
418     }
419
420     public boolean isNeverAdaptable(ClassInfo classInfo) {
421       return isNeverAdaptable.contains(classInfo.getName());
422     }
423
424     public boolean isLogical(String JavaDoc theClass) {
425       return theClass.startsWith("java.util.");
426     }
427
428     public boolean isPhysical(String JavaDoc className) {
429       throw new ImplementMe();
430     }
431
432     public DSOInstrumentationLoggingOptions getInstrumentationLoggingOptions() {
433       throw new ImplementMe();
434     }
435
436     public TransparencyClassSpec[] getAllSpecs() {
437       throw new ImplementMe();
438     }
439
440     public void verifyBootJarContents() {
441       throw new ImplementMe();
442     }
443
444     public Iterator JavaDoc getAllUserDefinedBootSpecs() {
445       throw new ImplementMe();
446     }
447
448     public ClassAdapter createClassAdapterFor(ClassWriter writer, ClassInfo classInfo, InstrumentationLogger lgr,
449                                               ClassLoader JavaDoc caller) {
450       throw new ImplementMe();
451     }
452
453     public ClassAdapter createClassAdapterFor(ClassWriter writer, ClassInfo classInfo, InstrumentationLogger lgr,
454                                               ClassLoader JavaDoc caller, boolean disableSuperClassTypeChecking) {
455       throw new ImplementMe();
456     }
457
458     public boolean isCallConstructorOnLoad(String JavaDoc className) {
459       throw new ImplementMe();
460     }
461
462     public String JavaDoc getChangeApplicatorClassNameFor(String JavaDoc className) {
463       throw new ImplementMe();
464     }
465
466     public TransparencyClassSpec getOrCreateSpec(String JavaDoc className) {
467       throw new ImplementMe();
468     }
469
470     public TransparencyClassSpec getOrCreateSpec(String JavaDoc className, String JavaDoc applicator) {
471       throw new ImplementMe();
472     }
473
474     public LockDefinition[] lockDefinitionsFor(int access, String JavaDoc className, String JavaDoc methodName, String JavaDoc description,
475                                                String JavaDoc[] exceptions) {
476       throw new ImplementMe();
477     }
478
479     public boolean isRoot(String JavaDoc className, String JavaDoc fieldName) {
480       throw new ImplementMe();
481     }
482
483     public boolean isTransient(int modifiers, String JavaDoc classname, String JavaDoc field) {
484       throw new ImplementMe();
485     }
486
487     public String JavaDoc rootNameFor(String JavaDoc className, String JavaDoc fieldName) {
488       throw new ImplementMe();
489     }
490
491     public boolean isLockMethod(int access, String JavaDoc className, String JavaDoc methodName, String JavaDoc description, String JavaDoc[] exceptions) {
492       throw new ImplementMe();
493     }
494
495     public DistributedMethodSpec getDmiSpec(int modifiers, String JavaDoc className, String JavaDoc methodName, String JavaDoc description,
496                                             String JavaDoc[] exceptions) {
497       throw new ImplementMe();
498     }
499
500     public TransparencyClassSpec getSpec(String JavaDoc className) {
501       throw new ImplementMe();
502     }
503
504     public boolean isDSOSessions(String JavaDoc name) {
505       throw new ImplementMe();
506     }
507
508     public DSORuntimeLoggingOptions runtimeLoggingOptions() {
509       throw new ImplementMe();
510     }
511
512     public DSORuntimeOutputOptions runtimeOutputOptions() {
513       throw new ImplementMe();
514     }
515
516     public DSOInstrumentationLoggingOptions instrumentationLoggingOptions() {
517       throw new ImplementMe();
518     }
519
520     public int getClientInMemoryObjectCount() {
521       throw new ImplementMe();
522     }
523
524     public int getFaultCount() {
525       throw new ImplementMe();
526     }
527
528     public void addWriteAutolock(String JavaDoc methodPattern) {
529       throw new ImplementMe();
530     }
531
532     public void addLock(String JavaDoc methodPattern, LockDefinition lockDefinition) {
533       throw new ImplementMe();
534     }
535
536     public void addReadAutolock(String JavaDoc methodPattern) {
537       throw new ImplementMe();
538     }
539
540     public void addAutolock(String JavaDoc methodPattern, ConfigLockLevel type) {
541       throw new ImplementMe();
542     }
543
544     public void setFaultCount(int count) {
545       throw new ImplementMe();
546     }
547
548     public void addRoot(String JavaDoc className, String JavaDoc fieldName, String JavaDoc rootName, boolean addSpecForClass) {
549       throw new ImplementMe();
550     }
551
552     public boolean matches(Lock lock, MemberInfo methodInfo) {
553       throw new ImplementMe();
554     }
555
556     public boolean matches(String JavaDoc expression, MemberInfo methodInfo) {
557       throw new ImplementMe();
558     }
559
560     public void addTransient(String JavaDoc className, String JavaDoc fieldName) {
561       throw new ImplementMe();
562     }
563
564     public void addTransientType(String JavaDoc className, String JavaDoc fieldName) {
565       throw new ImplementMe();
566     }
567
568     public String JavaDoc getOnLoadScriptIfDefined(String JavaDoc className) {
569       throw new ImplementMe();
570     }
571
572     public String JavaDoc getOnLoadMethodIfDefined(String JavaDoc className) {
573       throw new ImplementMe();
574     }
575
576     public boolean isUseNonDefaultConstructor(Class JavaDoc clazz) {
577       throw new ImplementMe();
578     }
579
580     public void addIncludePattern(String JavaDoc expression) {
581       throw new ImplementMe();
582     }
583
584     public void addIncludePattern(String JavaDoc expression, boolean honorTransient) {
585       throw new ImplementMe();
586     }
587
588     public void addExcludePattern(String JavaDoc expression) {
589       throw new ImplementMe();
590     }
591
592     public boolean hasIncludeExcludePatterns() {
593       throw new ImplementMe();
594     }
595
596     public boolean hasIncludeExcludePattern(ClassInfo classInfo) {
597       throw new ImplementMe();
598     }
599
600     public void addAspectModule(String JavaDoc pattern, String JavaDoc moduleName) {
601       throw new ImplementMe();
602     }
603
604     public Map JavaDoc getAspectModules() {
605       throw new ImplementMe();
606     }
607
608     public void addDSOSpringConfig(DSOSpringConfigHelper config) {
609       throw new ImplementMe();
610     }
611
612     public Collection JavaDoc getDSOSpringConfigs() {
613       throw new ImplementMe();
614     }
615
616     public void addIncludePattern(String JavaDoc expression, boolean honorTransient, boolean oldStyleCallConstructorOnLoad) {
617       throw new ImplementMe();
618     }
619
620     public void addIncludePattern(String JavaDoc expression, boolean honorTransient, boolean oldStyleCallConstructorOnLoad,
621                                   boolean honorVolatile) {
622       throw new ImplementMe();
623     }
624
625     public void addIncludeAndLockIfRequired(String JavaDoc expression, boolean honorTransient,
626                                             boolean oldStyleCallConstructorOnLoad, boolean honorVolatile,
627                                             String JavaDoc lockExpression) {
628       throw new ImplementMe();
629     }
630
631     public boolean isVolatile(int modifiers, String JavaDoc classname, String JavaDoc field) {
632       throw new ImplementMe();
633     }
634
635     public void addRoot(String JavaDoc rootName, String JavaDoc rootFieldName) {
636       throw new ImplementMe();
637
638     }
639
640     public void writeTo(DSOApplicationConfigBuilder appConfigBuilder) {
641       throw new ImplementMe();
642
643     }
644
645     public boolean isRootDSOFinal(String JavaDoc className, String JavaDoc fieldName, boolean isPrimitive) {
646       throw new ImplementMe();
647     }
648
649     public void addRoot(String JavaDoc className, String JavaDoc fieldName, String JavaDoc rootName, boolean dsoFinal, boolean addSpecForClass) {
650       throw new ImplementMe();
651     }
652
653     public String JavaDoc getPostCreateMethodIfDefined(String JavaDoc className) {
654       throw new ImplementMe();
655     }
656
657     public Portability getPortability() {
658       throw new ImplementMe();
659     }
660
661     public void removeSpec(String JavaDoc className) {
662       throw new ImplementMe();
663
664     }
665
666     public String JavaDoc getLogicalExtendingClassName(String JavaDoc className) {
667       return null;
668     }
669
670     public TransparencyClassAdapter createDsoClassAdapterFor(ClassVisitor writer, ClassInfo classInfo,
671                                                              InstrumentationLogger lgr, ClassLoader JavaDoc caller,
672                                                              boolean forcePortable) {
673       return null;
674     }
675
676     public void addSynchronousWriteAutolock(String JavaDoc methodPattern) {
677       throw new ImplementMe();
678     }
679
680     public void addApplicationName(String JavaDoc name) {
681       throw new ImplementMe();
682     }
683
684     public void addInstrumentationDescriptor(InstrumentedClass classDesc) {
685       throw new ImplementMe();
686     }
687
688     public void addUserDefinedBootSpec(String JavaDoc className, TransparencyClassSpec spec) {
689       throw new ImplementMe();
690     }
691
692     public boolean hasCustomAdapter(String JavaDoc fullName) {
693       throw new ImplementMe();
694     }
695
696     public Class JavaDoc getChangeApplicator(Class JavaDoc clazz) {
697       throw new ImplementMe();
698     }
699
700     public void setModuleSpecs(ModuleSpec[] pluginSpecs) {
701       throw new ImplementMe();
702     }
703
704     public void addNewModule(String JavaDoc name, String JavaDoc version) {
705       throw new ImplementMe();
706     }
707
708     public Modules getModulesForInitialization() {
709       return null;
710     }
711
712     public boolean isPortableModuleClass(Class JavaDoc clazz) {
713       return false;
714     }
715
716     public void addCustomAdapter(String JavaDoc name, ClassAdapterFactory factory) {
717       throw new ImplementMe();
718     }
719
720     public int getSessionLockType(String JavaDoc appName) {
721       throw new ImplementMe();
722     }
723
724     public void addSynchronousWriteApplication(String JavaDoc name) {
725       throw new ImplementMe();
726     }
727
728     public void addDistributedMethodCall(DistributedMethodSpec dms) {
729       throw new ImplementMe();
730     }
731
732     public Class JavaDoc getTCPeerClass(Class JavaDoc clazz) {
733       throw new ImplementMe();
734     }
735   }
736
737 }
738
Popular Tags