/************************************************************************************** * Copyright (c) Jonas Bon�r, Alexandre Vasseur. All rights reserved. * * http://aspectwerkz.codehaus.org * * ---------------------------------------------------------------------------------- * * The software in this package is published under the terms of the LGPL license * * a copy of which has been included with this distribution in the license.txt file. * **************************************************************************************/ package org.codehaus.aspectwerkz.aspect; /** * Interface for that all mixin factories must implement. * * @author <a href="mailto:jboner@codehaus.org">Jonas Bon�r </a> */ public interface MixinFactory { /** * Creates a new perJVM mixin instance, if it already exists then return it. * * @return the mixin instance */ Object mixinOf(); /** * Creates a new perClass mixin instance, if it already exists then return it. * * @param klass * @return the mixin instance */ Object mixinOf(Class klass); /** * Creates a new perInstance mixin instance, if it already exists then return it. * * @param instance * @return the mixin instance */ Object mixinOf(Object instance); }