001 //$HeadURL: svn+ssh://rbezema@svn.wald.intevation.org/deegree/base/tags/2.1/src/org/deegree/framework/util/Interceptor.java $
002 /*
003 * Created on 21.06.2004
004 *
005 * TODO To change the template for this generated file go to Window -
006 * Preferences - Java - Code Generation - Code and Comments
007 */
008 package org.deegree.framework.util;
009
010 import java.lang.reflect.InvocationTargetException;
011 import java.lang.reflect.Method;
012
013 import org.deegree.framework.log.ILogger;
014 import org.deegree.framework.log.LoggerFactory;
015
016 /**
017 * @author <a href="mailto:tfr@users.sourceforge.net">Torsten Friebe </A>
018 *
019 * @author last edited by: $Author: apoth $
020 *
021 * @version 2.0, $Revision: 6696 $, $Date: 2007-04-25 21:57:05 +0200 (Mi, 25 Apr 2007) $
022 *
023 * @see <a href="http://www.dofactory.com/patterns/PatternChain.aspx">Chain of
024 * Responsibility Design Pattern </a>
025 *
026 * @since 2.0
027 */
028 public abstract class Interceptor {
029
030 protected static final ILogger LOG = LoggerFactory.getLogger(Interceptor.class);
031
032 protected abstract Object handleInvocation(Method method, Object[] params)
033 throws IllegalAccessException, InvocationTargetException;
034
035 /**
036 *
037 */
038 protected Interceptor nextInterceptor;
039
040 protected Object getTarget() {
041 return this.nextInterceptor.getTarget();
042 }
043 }