package Common.Database.Tables; import Common.Database.Objects.DBObject; import Common.Passes.PassCode_; import Common.Visual.DataSetControlForm; import Common.Visual.UI; import javax.swing.*; import java.util.Comparator; import java.util.LinkedHashMap; import java.util.Vector; public class DataSet extends DataSetAnchestor { public String Name; public Class k; //класс первичного ключа. public Class d; //класс объектов. public LinkedHashMap Data = new LinkedHashMap<>(); //наполнение //- protected DataSetControlForm ui = null; //-- public DataSet(Class k_in, Class d_in) { k = k_in; d = d_in; Name = d.getSimpleName(); } public DataSetControlForm getUI() { return ui; } public void mountUI(JPanel mountPanel_in) { UI.Clear(mountPanel_in); ui = createUI(mountPanel_in); } public void ClearUI() { if ((ui != null) && ui.isShown()) { ui.ClearSelection(); ui.Clear(); } } public void RefreshUI() { if (ui != null) ui.Refresh(); } public int getRowCountUI() { return ui.getRowCount(); } protected DataSetControlForm createUI(JPanel mountPanel) { return null; } public D getFirstRecord() { return Data.values().stream().findFirst().orElse(null); } public Vector getOrderedRecords(Comparator comparator) { Vector res = new Vector<>(Data.values()); res.sort(comparator); return res; } public String QName() { return "\"" + Name + "\""; } public String getPKName() { return ""; } //получить имя ключевого поля. нужно для таблиц. //- public void put(Object key, D object) { Data.put((K) key, object); } public D get(Object key) { return Data.get(key); } public void clear() { Data.clear(); } public int size() { return Data.size(); } public boolean containsKey(Object key) { return Data.containsKey(key); } public void ShowUI() { if (ui != null) { ui.Show(); } } public void ShowUI(Object key) { if (ui != null) { ui.Show(key); } } public PassCode_ getDeletePassCode() { return null; } }