1 package org.columba.addressbook.gui.list; 19 20 import java.util.List ; 21 import java.util.Vector ; 22 23 import javax.swing.AbstractListModel ; 24 25 import org.columba.addressbook.model.IBasicModelPartial; 26 27 31 32 public class AddressbookListModel extends AbstractListModel { 33 private List <IBasicModelPartial> list; 34 35 private String patternString = ""; 36 37 public AddressbookListModel() { 38 super(); 39 list = new Vector <IBasicModelPartial>(); 40 41 } 42 43 public Object getElementAt(int index) { 44 return (IBasicModelPartial) list.get(index); 45 } 46 47 public int getSize() { 48 return list.size(); 49 } 50 51 public String getPatternString() { 52 return patternString; 53 } 54 55 public void setPatternString(String s) throws Exception { 56 patternString = s; 57 58 } 60 61 public void clear() { 62 list.clear(); 63 } 64 65 public void addElement(IBasicModelPartial item) { 66 list.add(item); 67 68 int index = list.indexOf(item); 69 70 fireIntervalAdded(this, index, index); 71 } 72 73 public void setHeaderItemList(List <IBasicModelPartial> l) { 74 75 this.list = l; 76 77 fireContentsChanged(this, 0, list.size() - 1); 78 } 79 80 public IBasicModelPartial get(int i) { 81 return (IBasicModelPartial) list.get(i); 82 } 83 84 public boolean addItem(IBasicModelPartial header) { 85 boolean result1 = false; 86 87 Object o = header.getName(); 88 89 if (o != null) { 90 if (o instanceof String ) { 91 String item = (String ) o; 92 93 item = item.toLowerCase(); 95 96 String pattern = getPatternString().toLowerCase(); 97 98 if (item.indexOf(pattern) != -1) { 99 result1 = true; 100 } else { 101 result1 = false; 102 } 103 } else { 104 result1 = false; 105 } 106 } else { 107 result1 = false; 108 } 109 110 return result1; 111 } 112 113 public Object [] toArray() { 114 return list.toArray(); 115 } 116 117 public void remove(int index) { 118 list.remove(index); 119 fireIntervalRemoved(this, index, index); 120 } 121 122 public void removeElement(IBasicModelPartial item) { 123 int index = list.indexOf(item); 124 125 remove(index); 126 } 127 } 128 | Popular Tags |