KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > aop > InstanceAdvisor


1 /*
2   * JBoss, Home of Professional Open Source
3   * Copyright 2005, JBoss Inc., and individual contributors as indicated
4   * by the @authors tag. See the copyright.txt in the distribution for a
5   * full listing of individual contributors.
6   *
7   * This is free software; you can redistribute it and/or modify it
8   * under the terms of the GNU Lesser General Public License as
9   * published by the Free Software Foundation; either version 2.1 of
10   * the License, or (at your option) any later version.
11   *
12   * This software is distributed in the hope that it will be useful,
13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15   * Lesser General Public License for more details.
16   *
17   * You should have received a copy of the GNU Lesser General Public
18   * License along with this software; if not, write to the Free
19   * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20   * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21   */

22 package org.jboss.aop;
23
24 import org.jboss.aop.advice.AspectDefinition;
25 import org.jboss.aop.advice.Interceptor;
26 import org.jboss.aop.joinpoint.Joinpoint;
27 import org.jboss.aop.metadata.SimpleMetaData;
28
29 /**
30  * Holds an object instance's metadata and attached interceptors
31  *
32  * @author <a HREF="mailto:bill@jboss.org">Bill Burke</a>
33  * @version $Revision: 37406 $
34  */

35 public interface InstanceAdvisor
36 {
37    public SimpleMetaData getMetaData();
38
39    public boolean hasInterceptors();
40    
41    public Interceptor[] getInterceptors();
42
43    public Interceptor[] getInterceptors(Interceptor[] baseChain);
44
45    public boolean hasAspects();
46
47    public void insertInterceptor(Interceptor interceptor);
48
49    public void removeInterceptor(String JavaDoc name);
50
51    public void appendInterceptor(Interceptor interceptor);
52
53    public void insertInterceptorStack(String JavaDoc stackName);
54
55    public void removeInterceptorStack(String JavaDoc name);
56
57    public void appendInterceptorStack(String JavaDoc stackName);
58
59    /**
60     * Get the instance of an aspect. An aspect encapsulates
61     * a set of advices.
62     *
63     * @param aspectName
64     * @return
65     */

66    public Object JavaDoc getPerInstanceAspect(String JavaDoc aspectName);
67
68    void insertInterceptor(int index, Interceptor interceptor);
69
70    void appendInterceptor(int index, Interceptor interceptor);
71    
72    public Object JavaDoc getPerInstanceAspect(AspectDefinition def);
73
74    public Object JavaDoc getPerInstanceJoinpointAspect(Joinpoint joinpoint, AspectDefinition def);
75    
76    public Domain getDomain();
77 }
78
Popular Tags