/** 获取方法key */ public string getKey() { if (_key == null) { if (args.isEmpty()) { _key = name; } else { StringBuilder sb = new StringBuilder(); sb.Append(name); foreach (MethodArgInfo v in args) { sb.Append(","); sb.Append(v.type); } _key = sb.ToString(); } } return(_key); }
/** 添加一组 */ public void addAll(SList <K> list) { if (list.isEmpty()) { return; } K[] values = list.getValues(); for (int i = 0, len = list.size(); i < len; ++i) { add(values[i]); } }
/** 添加一组 */ public void addAll(SList <V> list) { if (list.isEmpty()) { return; } int d = _size + list._size; ensureCapacity(d); Array.Copy(list._values, 0, this._values, this._size, list._size); _size = d; }
public bool init(SList <string> keyWords) { clear(); if (keyWords != null && !keyWords.isEmpty()) { string[] values = keyWords.getValues(); string v; for (int i1 = 0, len = keyWords.size(); i1 < len; ++i1) { v = values[i1]; if (v == null || (v = StringUtils.trim(v)).Length == 0) { continue; } DFANode currentDFANode = dfaEntrance; for (int i = 0; i < v.Length; i++) { char _c = v[i]; // 逐点加入DFA char _lc = toLowerCaseWithoutConfict(_c); DFANode _next = currentDFANode.dfaTransition.get(_lc); if (_next == null) { _next = new DFANode(); currentDFANode.dfaTransition.put(_lc, _next); } currentDFANode = _next; } if (currentDFANode != dfaEntrance) { currentDFANode.isTerminal = true; } } } buildFailNode(); return(true); }
/** 递归构造字符串 */ private void buiildXMLString(StringBuilder sb, int tabNum) { for (int i = 0; i < tabNum; i++) { sb.Append(" "); } sb.Append('<'); sb.Append(_name); string[] keys = _propertys.getKeys(); string[] values = _propertys.getValues(); string k; for (int i = keys.Length - 1; i >= 0; --i) { if ((k = keys[i]) != null) { sb.Append(' '); sb.Append(k); sb.Append('='); sb.Append('"'); sb.Append(values[i]); sb.Append('"'); } } if (_children.isEmpty()) { if (_value != null) { sb.Append(">"); sb.Append(_value); sb.Append("</"); sb.Append(_name); sb.Append(">\n"); } else { sb.Append("/>\n"); } } else { if (_value != null) { sb.Append(">"); sb.Append(_value); sb.Append("\n"); } else { sb.Append(">\n"); } XML[] values1 = _children.getValues(); for (int i = 0, len = _children.size(); i < len; ++i) { values1[i].buiildXMLString(sb, tabNum + 1); } for (int i = 0; i < tabNum; i++) { sb.Append(" "); } sb.Append("</"); sb.Append(_name); sb.Append(">\n"); } }