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

📄 dataproxyhandler.java

📁 hibernate 开源框架的代码 jar包希望大家能喜欢
💻 JAVA
字号:
package org.hibernate.test.dynamicentity;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.util.HashMap;import java.io.Serializable;/** * A simple {@link InvocationHandler} to act as the handler for our generated * {@link java.lang.reflect.Proxy}-based entity instances. * <p/> * This is a trivial impl which simply keeps the property values into * a Map. * * @author <a href="mailto:steve@hibernate.org">Steve Ebersole </a> */public final class DataProxyHandler implements InvocationHandler {	private String entityName;	private HashMap data = new HashMap();	public DataProxyHandler(String entityName, Serializable id) {		this.entityName = entityName;		data.put( "Id", id );	}	public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {		String methodName = method.getName();		if ( methodName.startsWith( "set" ) ) {			String propertyName = methodName.substring( 3 );			data.put( propertyName, args[0] );		}		else if ( methodName.startsWith( "get" ) ) {			String propertyName = methodName.substring( 3 );			return data.get( propertyName );		}		else if ( "toString".equals( methodName ) ) {			return entityName + "#" + data.get( "Id" );		}		else if ( "hashCode".equals( methodName ) ) {			return new Integer( this.hashCode() );		}		return null;	}	public String getEntityName() {		return entityName;	}	public HashMap getData() {		return data;	}}

⌨️ 快捷键说明

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