⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aroundclosure.java

📁 JMule是一个基于Java开发
💻 JAVA
字号:
/* ******************************************************************* * Copyright (c) 1999-2001 Xerox Corporation,  *               2002 Palo Alto Research Center, Incorporated (PARC). * All rights reserved.  * This program and the accompanying materials are made available  * under the terms of the Eclipse Public License v1.0  * which accompanies this distribution and is available at  * http://www.eclipse.org/legal/epl-v10.html  *   * Contributors:  *     Xerox/PARC     initial implementation  *    Alex Vasseur    wired up for @AJ proceeding *    Andy Clement 23-06-06 added extras for @AJ * ******************************************************************/package org.aspectj.runtime.internal;import org.aspectj.lang.ProceedingJoinPoint;public abstract class AroundClosure {    protected Object[] state;    // Records with the related joinpoint has a this or a target and whether     // either of them are bound in the pointcut.  Set in the 'link' call made    // at each matching join point... (see pr126167)    // bit6 being 1 means the flags haven't been initialized    protected int bitflags = 0x100000;     protected Object[] preInitializationState;    public AroundClosure() {    }        public AroundClosure(Object[] state) {    	this.state = state;    }        public int getFlags() {return bitflags;}    public Object[] getState() {      return state;    }    	public Object[] getPreInitializationState() {		return preInitializationState;	}	/**	 * This takes in the same arguments as are passed to the proceed	 * call in the around advice (with primitives coerced to Object types)	 */    public abstract Object run(Object[] args) throws Throwable;    /**     * This method is called to implicitly associate the closure with the joinpoint     * as required for @AJ aspect proceed()     */    public ProceedingJoinPoint linkClosureAndJoinPoint() {        //TODO is this cast safe ?        ProceedingJoinPoint jp = (ProceedingJoinPoint)state[state.length-1];        jp.set$AroundClosure(this);        return jp;    }    /**     * This method is called to implicitly associate the closure with the joinpoint     * as required for @AJ aspect proceed()     */    public ProceedingJoinPoint linkClosureAndJoinPoint(int flags) {        //TODO is this cast safe ?        ProceedingJoinPoint jp = (ProceedingJoinPoint)state[state.length-1];        jp.set$AroundClosure(this);        this.bitflags = flags;        return jp;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -