1 /** 2 * EasyBeans 3 * Copyright (C) 2006 Bull S.A.S. 4 * Contact: easybeans@objectweb.org 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 2.1 of the License, or any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library; if not, write to the Free Software 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 19 * USA 20 * 21 * -------------------------------------------------------------------------- 22 * $Id: BaseInvocationParameter00.java 880 2006-07-17 11:51:17Z studzine $ 23 * -------------------------------------------------------------------------- 24 */ 25 package org.objectweb.easybeans.tests.common.ejbs.base.invocationcontext; 26 27 28 import javax.interceptor.Interceptors; 29 30 import org.objectweb.easybeans.log.JLog; 31 import org.objectweb.easybeans.log.JLogFactory; 32 import org.objectweb.easybeans.tests.common.interceptors.invocationcontext.ComplexObject00; 33 import org.objectweb.easybeans.tests.common.interceptors.invocationcontext.ICParamInterceptorCheckNull; 34 import org.objectweb.easybeans.tests.common.interceptors.invocationcontext.ICParamInterceptorModifiedParam; 35 import org.objectweb.easybeans.tests.common.interceptors.invocationcontext.ICParamInterceptorNewArray; 36 import org.objectweb.easybeans.tests.common.interceptors.invocationcontext.ICParamInterceptorNull; 37 38 /** 39 * Used to manipulate the invocation context object. 40 * @author Eduardo Studzinski Estima de Castro 41 * @author Gisele Pinheiro Souza 42 */ 43 public class BaseInvocationParameter00 implements ItfInvocationParameter00 { 44 45 /** 46 * Logger. 47 */ 48 private JLog logger = JLogFactory.getLog(BaseInvocationParameter00.class); 49 50 /** 51 * Returns objects passed as parameters with null references. There are two interceptors 52 * that set to null the parameters reference. 53 * @param objCP complex object 54 * @return array with the objects passed as parameters. 55 * @throws Exception if a problem occurs. 56 */ 57 @Interceptors({ICParamInterceptorNull.class, ICParamInterceptorCheckNull.class}) 58 public Object[] getObjects00(ComplexObject00 objCP) throws Exception{ 59 Object[] arObjs = {objCP}; 60 logger.debug("after interceptors, parameters: {0}", objCP); 61 return arObjs; 62 } 63 64 /** 65 * Returns objects passed as parameters without modification.There are two interceptors 66 * that create a new array to return, but it doesn't modify the objects passed as parameters. 67 * @param objCP complex object 68 * @return array with the objects passed as parameters. 69 * @throws Exception if a problem occurs. 70 */ 71 @Interceptors({ICParamInterceptorNewArray.class, ICParamInterceptorNewArray.class}) 72 public Object[] getObjects01(ComplexObject00 objCP) throws Exception{ 73 Object[] arObjs = {objCP}; 74 logger.debug("after interceptors, parameters: {0}, {1}", objCP); 75 return arObjs; 76 } 77 78 /** 79 * Returns objects passed as parameters with modifications. 80 * There is an interceptor that modifies the parameters. 81 * @param objCP complex object 82 * @return array with the objects passed as parameters. 83 * @throws Exception if a problem occurs. 84 */ 85 @Interceptors({ICParamInterceptorModifiedParam.class}) 86 public Object[] getObjects02(ComplexObject00 objCP) throws Exception{ 87 Object[] arObjs = {objCP}; 88 logger.debug("after interceptors, parameters: {0}", objCP); 89 return arObjs; 90 } 91 } 92