package jef.database.meta.extension;
import java.util.Map;
import jef.database.meta.ExtensionConfigFactory;
import jef.tools.reflect.Property;
/**
* 扩展属性提供器,为了满足ORM-2.0版本中的扩展属性支持而设计。
* @author jiyi
*
*/
public interface BeanExtensionProvider {
/**
* 判断一个类是不是动态属性类
* @param clz
* @return
*/
boolean isDynamicExtensionClass(Class<?> clz);
/**
* 获得类的扩展名
* 仅限静态类
* @return
*/
String getStaticExtensionName(Class<?> clz);
/**
* 如果是扩展属性类,那么返回所有的扩展属性
* @param type
* @return
*/
Map<String, Property> getExtensionProperties(Class<?> clz,String extensionName,ExtensionModificationListener listener);
public ExtensionConfigFactory getExtensionFactory(Class<?> javaBean);
}