de.tsl2.nano.util.MultipleInheritanceProxy Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of tsl2.nano.common Show documentation
Show all versions of tsl2.nano.common Show documentation
TSL2 Framework Commons (Collections, Actions/Excecution, Readers, Xml, Print, Mail, FuzzyFinder, Proxies, Network-Structure)
/*
* Copyright © 2002-2008 Thomas Schneider
* Alle Rechte vorbehalten.
* Weiterverbreitung, Benutzung, Vervielfältigung oder Offenlegung,
* auch auszugsweise, nur mit Genehmigung.
*
*/
package de.tsl2.nano.util;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
import java.util.LinkedList;
import org.apache.commons.logging.Log;
import de.tsl2.nano.core.log.LogFactory;
/**
* simple proxy mechanism to enhance implemenations through additional interfaces and their delegates. the order of the
* delegates will define the priority of the delegates. each delegate will be asked, if it implement the
* interface-method.
*
*
* To work on delegator not directly implementing this interfaces, use {@link DelegatorProxy}.
*
* @author ts 26.02.2010
* @version $Revision: 1.0 $
*/
public class MultipleInheritanceProxy implements InvocationHandler {
/** implementation instances. the order will define the priority! */
Collection