KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > codehaus > aspectwerkz > aspect > AspectContainer


1 /**************************************************************************************
2  * Copyright (c) Jonas BonŽr, Alexandre Vasseur. All rights reserved. *
3  * http://aspectwerkz.codehaus.org *
4  * ---------------------------------------------------------------------------------- *
5  * The software in this package is published under the terms of the LGPL license *
6  * a copy of which has been included with this distribution in the license.txt file. *
7  **************************************************************************************/

8 package org.codehaus.aspectwerkz.aspect;
9
10
11 import org.codehaus.aspectwerkz.AspectContext;
12
13 /**
14  * Interface for that all aspect container implementations must implement.
15  *
16  * @author <a HREF="mailto:jboner@codehaus.org">Jonas BonŽr </a>
17  */

18 public interface AspectContainer {
19
20     /**
21      * Creates a new perJVM cross-cutting instance, if it already exists then return it.
22      *
23      * @return the cross-cutting instance
24      */

25     Object JavaDoc aspectOf();
26
27     /**
28      * Creates a new perClass cross-cutting instance, if it already exists then return it.
29      *
30      * @param klass
31      * @return the cross-cutting instance
32      */

33     Object JavaDoc aspectOf(Class JavaDoc klass);
34
35     /**
36      * Creates a new perInstance cross-cutting instance, if it already exists then return it.
37      *
38      * @param instance
39      * @return the cross-cutting instance
40      */

41     Object JavaDoc aspectOf(Object JavaDoc instance);
42
43     /**
44      * Creates a new perThread cross-cutting instance, if it already exists then return it.
45      *
46      * @param thread the thread for the aspect
47      * @return the cross-cutting instance
48      */

49     Object JavaDoc aspectOf(Thread JavaDoc thread);
50
51     /**
52      * Returns the context.
53      *
54      * @return the context
55      */

56     AspectContext getContext();
57 }
Popular Tags