KickJava   Java API By Example, From Geeks To Geeks.

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


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.Field JavaDoc;
30 import java.util.Map JavaDoc;
31
32 /**
33  * Comment
34  *
35  * @author <a HREF="mailto:bill@jboss.org">Bill Burke</a>
36  * @version $Revision: 37406 $
37  *
38  **/

39 public class FieldReadInvocationWrapper extends FieldReadInvocation
40 {
41    static final long serialVersionUID = 7595351292713886213L;
42
43    FieldReadInvocation wrapped;
44
45    public FieldReadInvocationWrapper(FieldReadInvocation 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       try
71       {
72          return wrapped.invokeNext();
73       }
74       finally
75       {
76          responseContextInfo = wrapped.getResponseContextInfo();
77       }
78    }
79
80    public MetaDataResolver getInstanceResolver()
81    {
82       return wrapped.getInstanceResolver();
83    }
84
85    public Invocation copy()
86    {
87       FieldReadInvocationWrapper invocation = new FieldReadInvocationWrapper((FieldReadInvocation)wrapped.copy(), interceptors);
88       invocation.currentInterceptor = this.currentInterceptor;
89       return invocation;
90    }
91
92    public Field JavaDoc getField()
93    {
94       return wrapped.getField();
95    }
96
97    public int getIndex()
98    {
99       return wrapped.getIndex();
100    }
101
102    public Map JavaDoc getResponseContextInfo()
103    {
104       return wrapped.getResponseContextInfo();
105    }
106
107    public void setResponseContextInfo(Map JavaDoc responseContextInfo)
108    {
109       wrapped.setResponseContextInfo(responseContextInfo);
110    }
111
112    public void addResponseAttachment(Object JavaDoc key, Object JavaDoc val)
113    {
114       wrapped.addResponseAttachment(key, val);
115    }
116
117    public Object JavaDoc getResponseAttachment(Object JavaDoc key)
118    {
119       return wrapped.getResponseAttachment(key);
120    }
121
122    public SimpleMetaData getMetaData()
123    {
124       return wrapped.getMetaData();
125    }
126
127    public void setMetaData(SimpleMetaData data)
128    {
129       wrapped.setMetaData(data);
130    }
131
132    public Advisor getAdvisor()
133    {
134       return wrapped.getAdvisor();
135    }
136
137    public Object JavaDoc getTargetObject()
138    {
139       return wrapped.getTargetObject();
140    }
141
142    public void setTargetObject(Object JavaDoc targetObject)
143    {
144       wrapped.setTargetObject(targetObject);
145    }
146 }
147
Popular Tags