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

📄 propertyaccessorfactory.java

📁 用Java实现的23个常用设计模式源代码
💻 JAVA
字号:
//$Id: PropertyAccessorFactory.java,v 1.1.2.1 2003/09/13 14:25:44 oneovthafew Exp $
package net.sf.hibernate.property;

import net.sf.hibernate.MappingException;
import net.sf.hibernate.util.ReflectHelper;

/**
 * @author Gavin King
 */
public final class PropertyAccessorFactory {
	
	private static final PropertyAccessor BASIC_PROPERTY_ACCESSOR = new BasicPropertyAccessor();
	private static final PropertyAccessor DIRECT_PROPERTY_ACCESSOR = new DirectPropertyAccessor();
	
	public static PropertyAccessor getPropertyAccessor(String type) throws MappingException {
		
		if ( type==null || "property".equals(type) ) return BASIC_PROPERTY_ACCESSOR;
		if ( "field".equals(type) ) return DIRECT_PROPERTY_ACCESSOR;
		
		Class accessorClass;
		try {
			accessorClass = ReflectHelper.classForName(type);
		}
		catch (ClassNotFoundException cnfe) {
			throw new MappingException("could not find PropertyAccessor class: " + type, cnfe);
		}
		try {
			return (PropertyAccessor) accessorClass.newInstance();
		}
		catch (Exception e) {
			throw new MappingException("could not instantiate PropertyAccessor class: " + type, e);
		}
			
	}
	
	private PropertyAccessorFactory() {}
}

⌨️ 快捷键说明

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