KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > picocontainer > monitors > WriterComponentMonitor


1 /*****************************************************************************
2  * Copyright (C) PicoContainer Organization. All rights reserved. *
3  * ------------------------------------------------------------------------- *
4  * The software in this package is published under the terms of the BSD *
5  * style license a copy of which has been included with this distribution in *
6  * the LICENSE.txt file. *
7  * *
8  * Original code by Paul Hammaant *
9  *****************************************************************************/

10
11 package org.picocontainer.monitors;
12
13 import java.io.PrintWriter JavaDoc;
14 import java.io.Writer JavaDoc;
15 import java.lang.reflect.Constructor JavaDoc;
16 import java.lang.reflect.Method JavaDoc;
17
18 import org.picocontainer.ComponentMonitor;
19
20 /**
21  * A {@link ComponentMonitor} which writes to a {@link Writer}.
22  *
23  * @author Paul Hammant
24  * @author Aslak Hellesøy
25  * @author Mauro Talevi
26  * @version $Revision: 1882 $
27  */

28 public class WriterComponentMonitor extends AbstractComponentMonitor {
29
30     private PrintWriter JavaDoc out;
31     private final ComponentMonitor delegate;
32
33     public WriterComponentMonitor(Writer JavaDoc out) {
34         this.out = new PrintWriter JavaDoc(out);
35         delegate = new DefaultComponentMonitor();
36     }
37
38     public WriterComponentMonitor(Writer JavaDoc out, ComponentMonitor delegate) {
39         this.out = new PrintWriter JavaDoc(out);
40         this.delegate = delegate;
41     }
42
43     public void instantiating(Constructor JavaDoc constructor) {
44         out.println(format(INSTANTIATING, new Object JavaDoc[]{toString(constructor)}));
45         delegate.instantiating(constructor);
46     }
47
48     public void instantiated(Constructor JavaDoc constructor, long duration) {
49         out.println(format(INSTANTIATED, new Object JavaDoc[]{toString(constructor), new Long JavaDoc(duration)}));
50         delegate.instantiated(constructor, duration);
51     }
52
53     public void instantiated(Constructor JavaDoc constructor, Object JavaDoc instantiated, Object JavaDoc[] injected, long duration) {
54         out.println(format(INSTANTIATED2, new Object JavaDoc[]{toString(constructor), new Long JavaDoc(duration), instantiated.getClass().getName(), toString(injected)}));
55         delegate.instantiated(constructor, instantiated, injected, duration);
56     }
57
58     public void instantiationFailed(Constructor JavaDoc constructor, Exception JavaDoc cause) {
59         out.println(format(INSTANTIATION_FAILED, new Object JavaDoc[]{toString(constructor), cause.getMessage()}));
60         delegate.instantiationFailed(constructor, cause);
61     }
62
63     public void invoking(Method JavaDoc method, Object JavaDoc instance) {
64         out.println(format(INVOKING, new Object JavaDoc[]{toString(method), instance}));
65         delegate.invoking(method, instance);
66     }
67
68     public void invoked(Method JavaDoc method, Object JavaDoc instance, long duration) {
69         out.println(format(INVOKED, new Object JavaDoc[]{toString(method), instance, new Long JavaDoc(duration)}));
70         delegate.invoked(method, instance, duration);
71     }
72
73     public void invocationFailed(Method JavaDoc method, Object JavaDoc instance, Exception JavaDoc cause) {
74         out.println(format(INVOCATION_FAILED, new Object JavaDoc[]{toString(method), instance, cause.getMessage()}));
75         delegate.invocationFailed(method, instance, cause);
76     }
77
78     public void lifecycleInvocationFailed(Method JavaDoc method, Object JavaDoc instance, RuntimeException JavaDoc cause) {
79         out.println(format(LIFECYCLE_INVOCATION_FAILED, new Object JavaDoc[]{toString(method), instance, cause.getMessage()}));
80         delegate.lifecycleInvocationFailed(method, instance, cause);
81     }
82
83 }
84
Popular Tags