/** * Դ�������ƣ�OracleTableIndexAdapter.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.IARESProject; import com.hundsun.ares.studio.core.service.FastFindArrayList; import com.hundsun.ares.studio.core.service.IKeyProvider; import com.hundsun.ares.studio.jres.database.internal.service.TableIndexAdapter; import com.hundsun.ares.studio.jres.database.oracle.service.IOracleTableIndex; import com.hundsun.ares.studio.jres.database.oracle.service.IOracleTableIndexColumn; import com.hundsun.ares.studio.jres.model.database.TableIndex; import com.hundsun.ares.studio.jres.model.database.TableIndexColumn; import com.hundsun.ares.studio.jres.model.database.oracle.OracleIndexProperty; /** * @author wangxh * */ public class OracleTableIndexAdapter extends TableIndexAdapter implements IOracleTableIndex { private FastFindArrayList<String, IOracleTableIndexColumn> columnList; private IARESProject project; public OracleTableIndexAdapter(TableIndex index,IARESProject project) { super(index,project); this.project = project; } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.database.internal.service.TableIndexAdapter#getColumnList() */ @Override public List<? extends IOracleTableIndexColumn> getColumnList() { return Collections.unmodifiableList(getcolumnList()); } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.database.internal.service.TableIndexAdapter#getColum(java.lang.String) */ @Override public IOracleTableIndexColumn getColum(String name) { return getcolumnList().find(name); } private FastFindArrayList<String, IOracleTableIndexColumn> getcolumnList(){ if(columnList == null){ columnList = new FastFindArrayList<String, IOracleTableIndexColumn>(new IKeyProvider<String, IOracleTableIndexColumn>() { @Override public String getKey(IOracleTableIndexColumn obj) { return obj.getColumnName(); } }); for(TableIndexColumn col : index.getColumns()){ columnList.add(new OrableTableIndexColumnAdapter(col)); } } return columnList; } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.database.oracle.service.IOracleTableIndex#isReverse() */ @Override public boolean isReverse() { return ((OracleIndexProperty) index).isReverse(); } }