| %line | %branch | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| com.ozacc.mail.fetch.impl.sk_jp.util.StringValues |
|
|
| 1 | /* |
|
| 2 | * @(#) $Id: StringValues.java,v 1.1.2.1 2005/01/18 07:20:49 otsuka Exp $ |
|
| 3 | * $Revision: 1.1.2.1 $ |
|
| 4 | */ |
|
| 5 | package com.ozacc.mail.fetch.impl.sk_jp.util; |
|
| 6 | ||
| 7 | import java.util.*; |
|
| 8 | ||
| 9 | /** |
|
| 10 | * StringValues. |
|
| 11 | * <p> |
|
| 12 | * 複数の文字列をカンマやタブ区切りなどの�?つの文字列として管�?可能とします。 |
|
| 13 | * <br>内部的にはListに�?�?ますのでindexによ�?アクセスも可能ですが、 |
|
| 14 | * 構築�?、及びgetString()�?に区切�?文字で�?本にさ�?た文字列として |
|
| 15 | * やりとりす�?こともできます。 |
|
| 16 | * エスケープ処�?がさ�?ないので、デ�?ミタを含むトークンを認識できません。 |
|
| 17 | * </p> |
|
| 18 | * @version $Revision: 1.1.2.1 $ $Date: 2005/01/18 07:20:49 $ |
|
| 19 | * @author Shin |
|
| 20 | */ |
|
| 21 | public class StringValues { |
|
| 22 | 0 | private List src_ = new ArrayList(); |
| 23 | /** |
|
| 24 | * 複数文字列管�?オブジェクトを生成します。 |
|
| 25 | */ |
|
| 26 | 0 | public StringValues() {} |
| 27 | /** |
|
| 28 | * 複数文字列管�?オブジェクトを生成します。 |
|
| 29 | * @param str 区切�?文字で連�?さ�?た文字�? |
|
| 30 | */ |
|
| 31 | 0 | public StringValues(String str) { |
| 32 | 0 | parse(str); |
| 33 | 0 | } |
| 34 | /** |
|
| 35 | * 複数文字列管�?オブジェクトを生成します。 |
|
| 36 | * @param str 区切�?文字で連�?さ�?た文字�? |
|
| 37 | * @param delim デ�?ミタ |
|
| 38 | */ |
|
| 39 | 0 | public StringValues(String str, String delim) { |
| 40 | 0 | parse(str, delim); |
| 41 | 0 | } |
| 42 | /** |
|
| 43 | * 複数文字列管�?オブジェクトを生成します。 |
|
| 44 | * @param strings 文字列の配�? |
|
| 45 | */ |
|
| 46 | 0 | public StringValues(String[] strings) { |
| 47 | 0 | add(strings); |
| 48 | 0 | } |
| 49 | /** |
|
| 50 | * 複数文字列管�?オブジェクトを生成します。 |
|
| 51 | * @param strings 文字列の配�? |
|
| 52 | */ |
|
| 53 | 0 | public StringValues(Object[] o) { |
| 54 | 0 | for (int i = 0; i < o.length; i++) { |
| 55 | 0 | add(o[i].toString()); |
| 56 | } |
|
| 57 | 0 | } |
| 58 | ////////////////////////////////////////////////////////////////////////////// |
|
| 59 | /** |
|
| 60 | * デ�?ミタで区切ら�?た文字列を分割して追加します。 |
|
| 61 | * <p> |
|
| 62 | * デ�?ミタはStringTokenizerの標準のデ�?ミタ |
|
| 63 | * <code>"\t\n\r\f"</code>が使�?�?ます。 |
|
| 64 | * </p> |
|
| 65 | * @param str 区切�?文字で連�?さ�?た文字�? |
|
| 66 | * @param delim デ�?ミタ |
|
| 67 | */ |
|
| 68 | public void parse(String str) { |
|
| 69 | 0 | StringTokenizer st = new StringTokenizer(str); |
| 70 | 0 | parse(st); |
| 71 | 0 | } |
| 72 | /** |
|
| 73 | * デ�?ミタで区切ら�?た文字列を分割して追加します。 |
|
| 74 | * <p> |
|
| 75 | * </p> |
|
| 76 | * @param str 区切�?文字で連�?さ�?た文字�? |
|
| 77 | * @param delim デ�?ミタ |
|
| 78 | */ |
|
| 79 | public void parse(String str, String delim) { |
|
| 80 | 0 | StringTokenizer st = new StringTokenizer(str, delim); |
| 81 | 0 | parse(st); |
| 82 | 0 | } |
| 83 | private void parse(StringTokenizer st) { |
|
| 84 | 0 | while (st.hasMoreTokens()) { |
| 85 | 0 | add(st.nextToken()); |
| 86 | } |
|
| 87 | 0 | } |
| 88 | /** |
|
| 89 | * 文字列群へのイテ�?ータを返します。 |
|
| 90 | * @return Iteratorオブジェクト |
|
| 91 | */ |
|
| 92 | public Iterator iterator() { |
|
| 93 | 0 | return src_.iterator(); |
| 94 | } |
|
| 95 | ||
| 96 | /** |
|
| 97 | * カンマ区切�?文字列を得ます。 |
|
| 98 | * <p> |
|
| 99 | * 区切�?文字列は文字列同士の間に単純に挿�?さ�?ます。 |
|
| 100 | * </p> |
|
| 101 | * @return 文字列化したオブジェクト |
|
| 102 | */ |
|
| 103 | public String getString() { |
|
| 104 | 0 | return getString(", "); |
| 105 | } |
|
| 106 | /** |
|
| 107 | * 指定した区切�?文字で連�?さ�?た文字列を得ます。 |
|
| 108 | * <p> |
|
| 109 | * 区切�?文字列は文字列同士の間に単純に挿�?さ�?ます。 |
|
| 110 | * </p> |
|
| 111 | * @param delim 区切�?文字�? |
|
| 112 | * @return 文字列化したオブジェクト |
|
| 113 | */ |
|
| 114 | public String getString(String delim) { |
|
| 115 | 0 | StringBuffer buf = new StringBuffer(); |
| 116 | 0 | Iterator iterator = iterator(); |
| 117 | 0 | if (iterator.hasNext()) { |
| 118 | 0 | buf.append(iterator.next()); |
| 119 | } |
|
| 120 | 0 | while (iterator.hasNext()) { |
| 121 | 0 | buf.append(delim).append(iterator.next()); |
| 122 | } |
|
| 123 | 0 | return new String(buf); |
| 124 | } |
|
| 125 | public String toString() { |
|
| 126 | 0 | return getString(); |
| 127 | } |
|
| 128 | /** |
|
| 129 | * 指定indexの文字列を取得します。 |
|
| 130 | * @param index 文字列群中の位置 |
|
| 131 | */ |
|
| 132 | public String get(int index) { |
|
| 133 | 0 | return (String)src_.get(index); |
| 134 | } |
|
| 135 | /** |
|
| 136 | * 文字列を追加します。 |
|
| 137 | * @param str 追加す�?文字�? |
|
| 138 | */ |
|
| 139 | public void add(String str) { |
|
| 140 | 0 | src_.add(str); |
| 141 | 0 | } |
| 142 | /** |
|
| 143 | * 文字列群を追加します。 |
|
| 144 | * @param str 追加す�?文字�? |
|
| 145 | */ |
|
| 146 | public void add(String[] str) { |
|
| 147 | 0 | for (int i = 0; i < str.length; i++) { |
| 148 | 0 | src_.add(str[i]); |
| 149 | } |
|
| 150 | 0 | } |
| 151 | /** |
|
| 152 | * 管�?してい�?文字列を�?�?します。 |
|
| 153 | */ |
|
| 154 | public void clear() { |
|
| 155 | 0 | src_.clear(); |
| 156 | 0 | } |
| 157 | } |
| This report is generated by jcoverage, Maven and Maven JCoverage Plugin. |