01: /*
02: * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
03: */
04: package com.tc.aspectwerkz.aspect;
05:
06: /**
07: * Interface for that all mixin factories must implement.
08: *
09: * @author <a href="mailto:jboner@codehaus.org">Jonas BonŽr </a>
10: */
11: public interface MixinFactory {
12:
13: /**
14: * Creates a new perJVM mixin instance, if it already exists then return it.
15: *
16: * @return the mixin instance
17: */
18: Object mixinOf();
19:
20: /**
21: * Creates a new perClass mixin instance, if it already exists then return it.
22: *
23: * @param klass
24: * @return the mixin instance
25: */
26: Object mixinOf(Class klass);
27:
28: /**
29: * Creates a new perInstance mixin instance, if it already exists then return it.
30: *
31: * @param instance
32: * @return the mixin instance
33: */
34: Object mixinOf(Object instance);
35: }
|