KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > jac > aspects > tracing > RecordingWrapper


1 /*
2   Copyright (C) 2001 Renaud Pawlak
3
4   This program is free software; you can redistribute it and/or modify
5   it under the terms of the GNU Lesser General Public License as
6   published by the Free Software Foundation; either version 2 of the
7   License, or (at your option) any later version.
8
9   This program is distributed in the hope that it will be useful,
10   but WITHOUT ANY WARRANTY; without even the implied warranty of
11   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12   GNU Lesser General Public License for more details.
13
14   You should have received a copy of the GNU Lesser General Public License
15   along with this program; if not, write to the Free Software
16   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */

17
18 package org.objectweb.jac.aspects.tracing;
19
20 import org.aopalliance.intercept.ConstructorInvocation;
21 import org.aopalliance.intercept.MethodInvocation;
22 import org.objectweb.jac.core.*;
23
24 public class RecordingWrapper extends Wrapper {
25     public RecordingWrapper(AspectComponent ac) {
26         super(ac);
27     }
28
29     public Object JavaDoc record(Interaction interaction) {
30         Object JavaDoc ret = proceed(interaction);
31         if(Recorder.get().isRecording()) {
32             Recorder.get().recordMethodCall(interaction.wrappee,
33                                             interaction.method.getName(),
34                                             interaction.args);
35         }
36         return ret;
37     }
38
39     public Object JavaDoc invoke(MethodInvocation invocation) throws Throwable JavaDoc {
40         return record((Interaction)invocation);
41     }
42     public Object JavaDoc construct(ConstructorInvocation invocation) throws Throwable JavaDoc {
43         return record((Interaction)invocation);
44     }
45 }
46
Popular Tags