001 /*****************************************************************************
002 * Copyright (C) PicoContainer Organization. All rights reserved. *
003 * ------------------------------------------------------------------------- *
004 * The software in this package is published under the terms of the BSD *
005 * style license a copy of which has been included with this distribution in *
006 * the LICENSE.txt file. *
007 * *
008 * Original code by Paul Hammant & Obie Fernandez & Aslak Hellesøy *
009 *****************************************************************************/
010
011 package org.picocontainer.monitors;
012
013 import java.io.Serializable;
014 import java.lang.reflect.Constructor;
015 import java.lang.reflect.Method;
016
017 import org.picocontainer.ComponentMonitor;
018
019 /**
020 * A {@link ComponentMonitor} which does nothing.
021 *
022 * @author Paul Hammant
023 * @author Obie Fernandez
024 * @version $Revision: 2971 $
025 */
026 public class NullComponentMonitor implements ComponentMonitor, Serializable {
027
028 private static NullComponentMonitor instance;
029
030 public void instantiating(Constructor constructor) {
031 }
032
033 public void instantiated(Constructor constructor, long duration) {
034 }
035
036 public void instantiationFailed(Constructor constructor, Exception e) {
037 }
038
039 public void instantiated(Constructor constructor, Object instantiated, Object[] injected, long duration) {
040 }
041
042 public void invoking(Method method, Object instance) {
043 }
044
045 public void invoked(Method method, Object instance, long duration) {
046 }
047
048 public void invocationFailed(Method method, Object instance, Exception e) {
049 }
050
051 public void lifecycleInvocationFailed(Method method, Object instance, RuntimeException cause) {
052 }
053
054 public static synchronized NullComponentMonitor getInstance() {
055 if (instance == null) {
056 instance = new NullComponentMonitor();
057 }
058 return instance;
059 }
060 }