1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.jdo.impl.enhancer;
19
20 import java.io.InputStream;
21 import java.io.OutputStream;
22
23 import org.apache.jdo.impl.enhancer.util.Support;
24
25
26
27 /***
28 * Timer-wrapper for ClassFileEnhancer instances.
29 *
30 * @author Martin Zaun
31 */
32 public final class ClassFileEnhancerTimer
33 extends Support
34 implements ClassFileEnhancer
35 {
36
37 final protected ClassFileEnhancer delegate;
38
39 /***
40 * Creates an instance.
41 */
42 public ClassFileEnhancerTimer(ClassFileEnhancer delegate)
43 {
44 affirm(delegate);
45 this.delegate = delegate;
46 }
47
48 public boolean enhanceClassFile(InputStream inClassFile,
49 OutputStream outClassFile)
50 throws EnhancerUserException, EnhancerFatalError
51 {
52 try {
53 timer.push("ClassFileEnhancer.enhanceClassFile(InputStream,OutputStream)");
54 return delegate.enhanceClassFile(inClassFile, outClassFile);
55 } finally {
56 timer.pop();
57 }
58 }
59
60 public boolean enhanceClassFile(InputStream inClassFile,
61 OutputStreamWrapper outClassFile)
62 throws EnhancerUserException, EnhancerFatalError
63 {
64 try {
65 timer.push("ClassFileEnhancer.enhanceClassFile(InputStream,OutputStreamWrapper)");
66 return delegate.enhanceClassFile(inClassFile, outClassFile);
67 } finally {
68 timer.pop();
69 }
70 }
71 }