instrumenttask.java

来自「hibernate-3.1.3-all-src.zip 面向对象的访问数据库工」· Java 代码 · 共 43 行

JAVA
43
字号
//$Id: InstrumentTask.java 6113 2005-03-17 21:32:50Z oneovthafew $
package org.hibernate.tool.instrument;

import java.util.Arrays;

import net.sf.cglib.transform.AbstractTransformTask;
import net.sf.cglib.transform.ClassTransformer;
import net.sf.cglib.transform.impl.InterceptFieldEnabled;
import net.sf.cglib.transform.impl.InterceptFieldFilter;
import net.sf.cglib.transform.impl.InterceptFieldTransformer;

import org.objectweb.asm.Type;

/**
 * An Ant task for instrumenting persistent classes with
 * CGLIB field interception
 *  
 * @author Gavin King
 */
public class InstrumentTask extends AbstractTransformTask {

	protected ClassTransformer getClassTransformer(String[] classInfo) {
		
		if( Arrays.asList(classInfo).contains( InterceptFieldEnabled.class.getName() ) ){
			return null;
		}
		else {
			return new InterceptFieldTransformer(
				new InterceptFieldFilter() {
					public boolean acceptRead(Type owner, String name) {
						return true;
					}
					public boolean acceptWrite(Type owner, String name) {
						return true;
					}			
				}
			);
		}
		
	}
	
}

⌨️ 快捷键说明

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