KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > aop > joinpoint > ConstructorCalledByMethodInvocationWrapper


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.joinpoint;
23
24 import org.jboss.aop.Advisor;
25 import org.jboss.aop.advice.Interceptor;
26 import org.jboss.aop.metadata.MetaDataResolver;
27 import org.jboss.aop.metadata.SimpleMetaData;
28
29 import java.lang.reflect.Constructor JavaDoc;
30 import java.lang.reflect.Method JavaDoc;
31 import java.util.Map JavaDoc;
32
33 /**
34  * Comment
35  *
36  * @author <a HREF="mailto:bill@jboss.org">Bill Burke</a>
37  * @version $Revision: 44098 $
38  */

39 public class ConstructorCalledByMethodInvocationWrapper extends ConstructorCalledByMethodInvocation
40 {
41    private static final long serialVersionUID = 3704470177577877004L;
42    
43    ConstructorCalledByMethodInvocation wrapped;
44
45    public ConstructorCalledByMethodInvocationWrapper(ConstructorCalledByMethodInvocation wrapped, Interceptor[] interceptors)
46    {
47       super(interceptors);
48       this.wrapped = wrapped;
49    }
50
51    public Object JavaDoc getMetaData(Object JavaDoc group, Object JavaDoc attr)
52    {
53       return wrapped.getMetaData(group, attr);
54    }
55
56    public Object JavaDoc invokeNext() throws Throwable JavaDoc
57    {
58       if (interceptors != null && currentInterceptor < interceptors.length)
59       {
60          try
61          {
62             return interceptors[currentInterceptor++].invoke(this);
63          }
64          finally
65          {
66             // so that interceptors like clustering can reinvoke down the chain
67
currentInterceptor--;
68          }
69       }
70       return wrapped.invokeNext();
71    }
72
73    public MetaDataResolver getInstanceResolver()
74    {
75       return wrapped.getInstanceResolver();
76    }
77
78    public Class JavaDoc getCallingClass()
79    {
80       return wrapped.getCallingClass();
81    }
82
83    public Method JavaDoc getCallingMethod()
84    {
85       return wrapped.getCallingMethod();
86    }
87
88    public Constructor JavaDoc getCalledConstructor()
89    {
90       return wrapped.getCalledConstructor();
91    }
92
93    public boolean isWrapped()
94    {
95       return wrapped.isWrapped();
96    }
97
98    public Method JavaDoc getWrappingMethod()
99    {
100       return wrapped.getWrappingMethod();
101    }
102
103    public Invocation copy()
104    {
105       ConstructorCalledByMethodInvocationWrapper invocation = new ConstructorCalledByMethodInvocationWrapper((ConstructorCalledByMethodInvocation) wrapped.copy(), interceptors);
106       invocation.currentInterceptor = this.currentInterceptor;
107       return invocation;
108    }
109
110    public Advisor getAdvisor()
111    {
112       return wrapped.getAdvisor();
113    }
114
115    public Object JavaDoc getTargetObject()
116    {
117       return wrapped.getTargetObject();
118    }
119
120    public void setTargetObject(Object JavaDoc targetObject)
121    {
122       wrapped.setTargetObject(targetObject);
123    }
124
125    public Map JavaDoc getResponseContextInfo()
126    {
127       return wrapped.getResponseContextInfo();
128    }
129
130    public void setResponseContextInfo(Map JavaDoc responseContextInfo)
131    {
132       wrapped.setResponseContextInfo(responseContextInfo);
133    }
134
135    public void addResponseAttachment(Object JavaDoc key, Object JavaDoc val)
136    {
137       wrapped.addResponseAttachment(key, val);
138    }
139
140    public Object JavaDoc getResponseAttachment(Object JavaDoc key)
141    {
142       return wrapped.getResponseAttachment(key);
143    }
144
145    public SimpleMetaData getMetaData()
146    {
147       return wrapped.getMetaData();
148    }
149
150    public void setMetaData(SimpleMetaData data)
151    {
152       wrapped.setMetaData(data);
153    }
154
155    public Object JavaDoc[] getArguments()
156    {
157       return wrapped.getArguments();
158    }
159
160    public void setArguments(Object JavaDoc[] arguments)
161    {
162       wrapped.setArguments(arguments);
163    }
164
165    public Object JavaDoc getCallingObject()
166    {
167       return wrapped.getCallingObject();
168    }
169 }
170
Popular Tags