/** * Դ�������ƣ�OracleUserPrivilegeAdapter.java * �������Ȩ���������ӹɷ����޹�˾ ��Ȩ���� * ϵͳ���ƣ�JRES Studio * ģ�����ƣ�com.hundsun.ares.studio.jres.database.oracle.core * ����˵����$desc * ����ĵ��� * ���ߣ���С�� */ package com.hundsun.ares.studio.jres.database.oracle.internal.service; import java.util.Collections; import java.util.List; import com.hundsun.ares.studio.core.service.FastFindArrayList; import com.hundsun.ares.studio.core.service.IKeyProvider; import com.hundsun.ares.studio.jres.database.oracle.service.IOraclePrivilege; import com.hundsun.ares.studio.jres.database.oracle.service.IOracleUser; import com.hundsun.ares.studio.jres.database.oracle.service.IOracleUserPrivilege; import com.hundsun.ares.studio.jres.model.database.oracle.OraclePrivilege; import com.hundsun.ares.studio.jres.model.database.oracle.OracleUser; import com.hundsun.ares.studio.jres.model.database.oracle.OracleUserResourceData; /** * @author wangxh * */ public class OracleUserPrivilegeAdapter implements IOracleUserPrivilege { protected final OracleUserResourceData userResourceData; FastFindArrayList<String, IOracleUser> OracleUserList; FastFindArrayList<String, IOraclePrivilege>OraclePrivilegeList; public OracleUserPrivilegeAdapter(OracleUserResourceData userResourceData) { super(); this.userResourceData = userResourceData; } /** * @return the oracleUserList */ public FastFindArrayList<String, IOracleUser> getOracleUserList() { if(OracleUserList == null){ OracleUserList = new FastFindArrayList<String, IOracleUser>(new IKeyProvider<String, IOracleUser>() { @Override public String getKey(IOracleUser obj) { return obj.getName(); } }); for( OracleUser user : userResourceData.getUsers()){ IOracleUser oracleUser = new OracleUserAdapter(user); OracleUserList.add(oracleUser); } } return OracleUserList; } /** * @return the oraclePrivilegeList */ public FastFindArrayList<String, IOraclePrivilege> getOraclePrivilegeList() { if(OraclePrivilegeList == null){ OraclePrivilegeList = new FastFindArrayList<String, IOraclePrivilege>(new IKeyProvider<String, IOraclePrivilege>() { @Override public String getKey(IOraclePrivilege obj) { return obj.getName(); } }); for( OraclePrivilege privilege : userResourceData.getPrivileges()){ IOraclePrivilege oraclePrivilege = new OraclePrivilegeAdapter(privilege); OraclePrivilegeList.add(oraclePrivilege); } } return OraclePrivilegeList; } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.database.oracle.service.IOracleUserPrivilege#getUser(java.lang.String) */ @Override public IOracleUser getUser(String name) { return getOracleUserList().find(name); } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.database.oracle.service.IOracleUserPrivilege#getUserList() */ @Override public List<IOracleUser> getUserList() { return Collections.unmodifiableList(getOracleUserList()); } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.database.oracle.service.IOracleUserPrivilege#getPrivilege(java.lang.String) */ @Override public IOraclePrivilege getPrivilege(String name) { return getOraclePrivilegeList().find(name); } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.database.oracle.service.IOracleUserPrivilege#getPrivilegeList() */ @Override public List<IOraclePrivilege> getPrivilegeList() { return Collections.unmodifiableList(getOraclePrivilegeList()); } @Override public String getName() { return userResourceData.getName(); } @Override public String getChineseName() { return userResourceData.getChineseName(); } @Override public String getDescription() { return userResourceData.getDescription(); } }