1 27 package org.htmlparser.tags; 28 29 import org.htmlparser.NodeFilter; 30 import org.htmlparser.filters.AndFilter; 31 import org.htmlparser.filters.IsEqualFilter; 32 import org.htmlparser.filters.NodeClassFilter; 33 import org.htmlparser.filters.HasParentFilter; 34 import org.htmlparser.filters.NotFilter; 35 import org.htmlparser.filters.OrFilter; 36 import org.htmlparser.util.NodeList; 37 38 41 public class TableTag extends CompositeTag 42 { 43 46 private static final String [] mIds = new String [] {"TABLE"}; 47 48 51 private static final String [] mEndTagEnders = new String [] {"BODY", "HTML"}; 52 53 56 public TableTag () 57 { 58 } 59 60 64 public String [] getIds () 65 { 66 return (mIds); 67 } 68 69 73 public String [] getEndTagEnders () 74 { 75 return (mEndTagEnders); 76 } 77 78 82 public TableRow[] getRows () 83 { 84 NodeList kids; 85 NodeClassFilter cls; 86 HasParentFilter recursion; 87 NodeFilter filter; 88 TableRow[] ret; 89 90 kids = getChildren (); 91 if (null != kids) 92 { 93 cls = new NodeClassFilter (TableTag.class); 94 recursion = new HasParentFilter (null); 95 filter = new OrFilter ( 96 new AndFilter ( 97 cls, 98 new IsEqualFilter (this)), 99 new AndFilter ( new NotFilter (cls), recursion)); 102 recursion.setParentFilter (filter); 103 kids = kids.extractAllNodesThatMatch ( 104 new AndFilter ( 106 new NodeClassFilter (TableRow.class), 107 filter), true); 108 ret = new TableRow[kids.size ()]; 109 kids.copyToNodeArray (ret); 110 } 111 else 112 ret = new TableRow[0]; 113 114 return (ret); 115 } 116 117 120 public int getRowCount () 121 { 122 return (getRows ().length); 123 } 124 125 128 public TableRow getRow (int i) 129 { 130 TableRow[] rows; 131 TableRow ret; 132 133 rows = getRows (); 134 if (i < rows.length) 135 ret = rows[i]; 136 else 137 ret = null; 138 139 return (ret); 140 } 141 142 public String toString() 143 { 144 return 145 "TableTag\n" + 146 "********\n"+ 147 toHtml(); 148 } 149 150 } 151 | Popular Tags |