/************************************************************************************** * Copyright (c) Jonas Bon�r, Alexandre Vasseur. All rights reserved. * * http://aspectwerkz.codehaus.org * * ---------------------------------------------------------------------------------- * * The software in this package is published under the terms of the LGPL license * * a copy of which has been included with this distribution in the license.txt file. * **************************************************************************************/ package test.staticinitialization; import org.codehaus.aspectwerkz.definition.Pointcut; import org.codehaus.aspectwerkz.joinpoint.JoinPoint; import org.codehaus.aspectwerkz.joinpoint.StaticJoinPoint; /** * Aspect on staticinitialization pointcut. * * @author <a href="mailto:the_mindstorm@evolva.ro">Alex Popescu</a> * * @Aspect("perClass") */ public class StaticInitializationAspect { /** * @Expression staticinitialization(test.staticinitialization.ClinitTarget) */ Pointcut staticInitialization; /** * @Expression staticinitialization(@test.staticinitialization.StaticInitializationService) */ Pointcut staticServiceInitialization; /** * @Expression staticinitialization(@test.staticinitialization.StaticInitializationService test.staticinitialization.*) */ Pointcut staticPatternInitialization; /** * @Before staticInitialization */ public void beforeStaticInitializer() { StaticInitializationTest.s_messages.add(StaticInitializationTest.BEFORE_EXPECTED_MESSAGES[0]); } /** * @Before staticServiceInitialization */ public void beforeStaticServiceInitialization() { StaticInitializationTest.s_messages.add(StaticInitializationTest.BEFORE_EXPECTED_MESSAGES[0]); } /** * @Before staticPatternInitialization */ public void beforeStaticPatternInitialization() { StaticInitializationTest.s_messages.add(StaticInitializationTest.BEFORE_EXPECTED_MESSAGES[0]); } /** * @Before staticInitialization */ public void beforeStaticInitialization(StaticJoinPoint sjp) { StaticInitializationTest.s_staticJoinPoints.add(sjp); } /** * @Before staticServiceInitialization */ public void beforeStaticServiceInitialization(StaticJoinPoint sjp) { StaticInitializationTest.s_staticJoinPoints.add(sjp); } /** * @Before staticPatternInitialization */ public void beforeStaticPatternInitialization(StaticJoinPoint sjp) { StaticInitializationTest.s_staticJoinPoints.add(sjp); } /** * @Before staticInitialization */ public void beforeStaticInitialization(JoinPoint jp) { StaticInitializationTest.s_joinPoints.add(jp); } /** * @Before staticServiceInitialization */ public void beforeStaticServiceInitialization(JoinPoint jp) { StaticInitializationTest.s_joinPoints.add(jp); } /** * @Before staticPatternInitialization */ public void beforeStaticPatternInitialization(JoinPoint jp) { StaticInitializationTest.s_joinPoints.add(jp); } /** * @Around staticInitialization */ public Object aroundStaticInitialization(StaticJoinPoint sjp) throws Throwable { StaticInitializationTest.s_messages.add(StaticInitializationTest.BEFORE_EXPECTED_MESSAGES[1]); StaticInitializationTest.s_staticJoinPoints.add(sjp); return sjp.proceed(); } /** * @Around staticServiceInitialization */ public Object aroundStaticServiceInitialization(StaticJoinPoint sjp) throws Throwable { StaticInitializationTest.s_messages.add(StaticInitializationTest.BEFORE_EXPECTED_MESSAGES[1]); StaticInitializationTest.s_staticJoinPoints.add(sjp); return sjp.proceed(); } /** * @Around staticPatternInitialization */ public Object aroundStaticPatternInitialization(StaticJoinPoint sjp) throws Throwable { StaticInitializationTest.s_messages.add(StaticInitializationTest.BEFORE_EXPECTED_MESSAGES[1]); StaticInitializationTest.s_staticJoinPoints.add(sjp); return sjp.proceed(); } /** * @Around staticInitialization */ public Object aroundStaticInitialization(JoinPoint jp) throws Throwable { StaticInitializationTest.s_messages.add(StaticInitializationTest.BEFORE_EXPECTED_MESSAGES[2]); StaticInitializationTest.s_joinPoints.add(jp); return jp.proceed(); } /** * @Around staticServiceInitialization */ public Object aroundStaticServiceInitialization(JoinPoint jp) throws Throwable { StaticInitializationTest.s_messages.add(StaticInitializationTest.BEFORE_EXPECTED_MESSAGES[2]); StaticInitializationTest.s_joinPoints.add(jp); return jp.proceed(); } /** * @Around staticPatternInitialization */ public Object aroundStaticPatternInitialization(JoinPoint jp) throws Throwable { StaticInitializationTest.s_messages.add(StaticInitializationTest.BEFORE_EXPECTED_MESSAGES[2]); StaticInitializationTest.s_joinPoints.add(jp); return jp.proceed(); } /** * @AfterReturning staticInitialization */ public void afterReturningStaticInitializer() { StaticInitializationTest.s_messages.add(StaticInitializationTest.AFTER_EXPECTED_MESSAGES[0]); } /** * @AfterReturning staticServiceInitialization */ public void afterReturningServiceInitializer() { StaticInitializationTest.s_messages.add(StaticInitializationTest.AFTER_EXPECTED_MESSAGES[0]); } /** * @AfterReturning staticPatternInitialization */ public void afterReturningPatternInitializer() { StaticInitializationTest.s_messages.add(StaticInitializationTest.AFTER_EXPECTED_MESSAGES[0]); } /** * @AfterReturning staticInitialization */ public void afterReturningStaticInitializer(StaticJoinPoint sjp) { StaticInitializationTest.s_staticJoinPoints.add(sjp); } /** * @AfterReturning staticServiceInitialization */ public void afterReturningServiceInitializer(StaticJoinPoint sjp) { StaticInitializationTest.s_staticJoinPoints.add(sjp); } /** * @AfterReturning staticPatternInitialization */ public void afterReturningPatternInitializer(StaticJoinPoint sjp) { StaticInitializationTest.s_staticJoinPoints.add(sjp); } /** * @AfterReturning staticInitialization */ public void afterReturningStaticInitializer(JoinPoint jp) { StaticInitializationTest.s_joinPoints.add(jp); } /** * @AfterReturning staticServiceInitialization */ public void afterReturningServiceInitializer(JoinPoint jp) { StaticInitializationTest.s_joinPoints.add(jp); } /** * @AfterReturning staticPatternInitialization */ public void afterReturningPatternInitializer(JoinPoint jp) { StaticInitializationTest.s_joinPoints.add(jp); } /** * @After staticInitialization */ public void afterStaticInitializer() { StaticInitializationTest.s_messages.add(StaticInitializationTest.AFTER_EXPECTED_MESSAGES[1]); } /** * @After staticServiceInitialization */ public void afterServiceInitializer() { StaticInitializationTest.s_messages.add(StaticInitializationTest.AFTER_EXPECTED_MESSAGES[1]); } /** * @After staticPatternInitialization */ public void afterPatternInitializer() { StaticInitializationTest.s_messages.add(StaticInitializationTest.AFTER_EXPECTED_MESSAGES[1]); } /** * @After staticInitialization */ public void afterStaticInitializer(StaticJoinPoint sjp) { StaticInitializationTest.s_staticJoinPoints.add(sjp); } /** * @After staticServiceInitialization */ public void afterServiceInitializer(StaticJoinPoint sjp) { StaticInitializationTest.s_staticJoinPoints.add(sjp); } /** * @After staticPatternInitialization */ public void afterPatternInitializer(StaticJoinPoint sjp) { StaticInitializationTest.s_staticJoinPoints.add(sjp); } /** * @After staticInitialization */ public void afterStaticInitializer(JoinPoint jp) { StaticInitializationTest.s_joinPoints.add(jp); } /** * @After staticServiceInitialization */ public void afterServiceInitializer(JoinPoint jp) { StaticInitializationTest.s_joinPoints.add(jp); } /** * @After staticPatternInitialization */ public void afterPatternInitializer(JoinPoint jp) { StaticInitializationTest.s_joinPoints.add(jp); } }