/** * Դ�������ƣ�TableIndexAdapter.java * �������Ȩ���������ӹɷ����޹�˾ ��Ȩ���� * ϵͳ���ƣ�JRES Studio * ģ�����ƣ�com.hundsun.ares.studio.jres.database.core * ����˵����$desc * ����ĵ��� * ���ߣ���С�� */ package com.hundsun.ares.studio.jres.database.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.service.ITableIndex; import com.hundsun.ares.studio.jres.database.service.ITableIndexColumn; import com.hundsun.ares.studio.jres.model.database.TableIndex; import com.hundsun.ares.studio.jres.model.database.TableIndexColumn; /** * @author wangxh * */ public class TableIndexAdapter implements ITableIndex { protected final TableIndex index; FastFindArrayList<String, ITableIndexColumn> columnList; private IARESProject project; public TableIndexAdapter(TableIndex index,IARESProject project) { super(); this.index = index; this.project = project; } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.database.service.ITableIndex#getName() */ @Override public String getName() { return index.getName(); } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.database.service.ITableIndex#isUnique() */ @Override public boolean isUnique() { return index.isUnique(); } private FastFindArrayList<String, ITableIndexColumn> getcolumnList(){ if(columnList == null){ columnList = new FastFindArrayList<String, ITableIndexColumn>(new IKeyProvider<String, ITableIndexColumn>() { @Override public String getKey(ITableIndexColumn obj) { return obj.getColumnName(); } }); for(TableIndexColumn col : index.getColumns()){ columnList.add(new TableIndexColumnAdapter(col)); } } return columnList; } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.database.service.ITableIndex#getColumnList() */ @Override public List<? extends ITableIndexColumn> getColumnList() { return Collections.unmodifiableList(getcolumnList()); } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.database.service.ITableIndex#getColum(java.lang.String) */ @Override public ITableIndexColumn getColum(String name) { return getcolumnList().find(name); } }