您的位置:首页 > 其它

如何获取实体扩展属性的值

2013-05-05 10:38 501 查看
如何获取实体扩展属性的值

{一}内在关系
首先要知道BOS中实现的一些规则,主要说明以下几个东东的内在关系
BOSUuid ---> BOSType---> Entity--->Table
根据BOSUuid可以获取BOSType,根据BOSType就可以获取一个唯一的实体,通过实体就可以知道对应的元数据表是哪个

其实Entity这个东东就是一个配置文件,有些东西和Hibernate的hmp配置文件的作用基本一样

其次是BOS的主要功能,元数据解析,建模工具、界面设计工具这些地方大量使用了元数据解析,

下面就说重点了,如何解析元数据,不需要自己写DOM什么的,用现成的啊。

com.kingdee.bos.metadata.MetaDataLoaderFactory--元数据装载工厂类
com.kingdee.bos.metadata.util.MetaDataLoader--根据MetaDataLoaderFactory封装的工具类
com.kingdee.bos.metadata.MetaDataUtils--看看这个就知道entity_pkmapping 、facade_pkmapping文件怎么使用了

{二}代码示例:

/**
* 获取OrgType类型的扩展属性值
* @param ctx
* @param bosType
* @param exPropName
* @return
*/
public static OrgType getEntityExPropOrgTypeValue(Context ctx,BOSObjectType bosType,String exPropName){
return OrgType.getEnum(getEntityExPropValue(ctx,bosType,exPropName));
}

/**
* 获取Boolean类型的扩展属性值
* @param ctx
* @param bosType
* @param exPropName
* @return
*/
public static boolean getEntityExPropBooleanValue(Context ctx,BOSObjectType bosType,String exPropName){
return Boolean.parseBoolean(getEntityExPropValue(ctx,bosType,exPropName));
}

/**
* 获取实体扩展属性值
* @param ctx
* @param bosType
* @param exPropName
* @return
*/
public static String getEntityExPropValue(Context ctx,BOSObjectType bosType,String exPropName){
EntityObjectInfo entity = MetaDataLoader.getEntity(ctx, bosType);
return entity.getExtendedProperty(exPropName);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: