1 14 package org.compiere.grid; 15 16 import java.util.*; 17 18 import org.compiere.model.*; 19 import org.compiere.util.*; 20 21 27 public class XLookup extends Lookup 28 { 29 33 public XLookup(String keyColumn) 34 { 35 super(); 36 m_keyColumn = keyColumn; 37 } 39 40 41 private String m_keyColumn; 42 43 48 public String getDisplay (Object key) 49 { 50 for (int i = 0; i < p_data.size(); i++) 52 { 53 Object oo = p_data.get(i); 54 if (oo != null && oo instanceof NamePair) 55 { 56 NamePair pp = (NamePair)oo; 57 if (pp.getID().equals(key)) 58 return pp.getName(); 59 } 60 } 61 return "<" + key + ">"; 62 } 64 69 public boolean containsKey (Object key) 70 { 71 for (int i = 0; i < p_data.size(); i++) 73 { 74 Object oo = p_data.get(i); 75 if (oo != null && oo instanceof NamePair) 76 { 77 NamePair pp = (NamePair)oo; 78 if (pp.getID().equals(key)) 79 return true; 80 } 81 } 82 return false; 83 } 85 90 public NamePair get (Object key) 91 { 92 for (int i = 0; i < p_data.size(); i++) 94 { 95 Object oo = p_data.get(i); 96 if (oo != null && oo instanceof NamePair) 97 { 98 NamePair pp = (NamePair)oo; 99 if (pp.getID().equals(key)) 100 return pp; 101 } 102 } 103 return null; 104 } 106 107 115 public ArrayList getData (boolean mandatory, boolean onlyValidated, boolean onlyActive, boolean temporary) 116 { 117 ArrayList list = new ArrayList (p_data); 118 if (m_keyColumn.endsWith("_ID")) 120 { 121 KeyNamePair p = new KeyNamePair (-1, ""); 122 if (!mandatory) 123 list.add (p); 124 Collections.sort (list, p); 125 } 126 else 127 { 128 ValueNamePair p = new ValueNamePair (null, ""); 129 if (!mandatory) 130 list.add (p); 131 Collections.sort (list, p); 132 } 133 return list; 134 } 136 140 public int refresh() 141 { 142 return p_data.size(); 143 } 145 149 public String getColumnName() 150 { 151 return m_keyColumn; 152 } 154 } | Popular Tags |