package model;
import Const;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import oracle.adf.share.ADFContext;
import oracle.jbo.Row;
import oracle.jbo.server.AttributeListImpl;
public class ModelADFUtils {
public ADFUtils() {
super();
}
/**
* 获取SessionScope存储的变量值
* @param key
* @return
*/
public static Object getSessionScope(String key) {
return ADFContext.getCurrent().getSessionScope().get(key);
}
/**
* 获取SessionScope存储的变量值
* @param key
* @return
*/
public static Object getPageFlowScope(String key) {
return ADFContext.getCurrent().getPageFlowScope().get(key);
}
/**
* 获取当前的语言
* @return
*/
public static String getLocale(){
Object o = getSessionScope(Const.LOCALE_FLAG);
if (Beans.isNotEmpty(o)) {
String LangVar = EtravelConst.localeMap.get(o.toString());
if (Beans.isNotEmpty(LangVar)) {
return LangVar;
}
}
return Const.LAN_CN;
}
/**
* 复制一个实体的属性到另外一个实体
* @param obj
* @param targetObject
*/
public static void copy(Object obj,Object targetObject){
AttributeListImpl attribute=null;
Row row=null;
if(targetObject instanceof AttributeListImpl){
attribute = (AttributeListImpl)targetObject;
}else if(targetObject instanceof Row){
row = (Row)targetObject;
}else{
return;
}
if (obj!=null) {
BeanMap bm = new BeanMap(obj);
Set<Entry<String, Object>> entrySet = bm.entrySet();
for (Entry<String, Object> entry : entrySet) {
VEntry vEntry = (VEntry)entry;
String key = Beans.firtCharToUpper(vEntry.getKey());
//不拷贝情况-begin
if (Beans.isEmpty(vEntry.getType())) {
continue;
}
if (vEntry.getType().isArray()) { //不拷贝数组
continue;
}
if (Collection.class.isAssignableFrom(vEntry.getType())) { //不拷贝集合
continue;
}
if (Map.class.isAssignableFrom(vEntry.getType())) { //不拷贝映射
continue;
}
if (Beans.isEmpty(key) || Beans.isEmpty(vEntry.getValue())) {
continue;
}
//不拷贝情况-end
if (Beans.isNotEmpty(row)) {
row.setAttribute(key, vEntry.getValue());
} else if (Beans.isNotEmpty(attribute)) {
attribute.setAttribute(key, vEntry.getValue());
}
}
}
}
}
没有评论 :
发表评论