• R/O
  • SSH
  • HTTPS

amateras: Commit


Commit MetaInfo

Revisión11 (tree)
Tiempo2010-01-24 23:01:41
Autortakezoe

Log Message

brとnbspの実装をStringUtilsに移動。

Cambiar Resumen

Diferencia incremental

--- functions/trunk/functions/src/main/java/jp/sf/amateras/functions/utils/StringUtils.java (revision 10)
+++ functions/trunk/functions/src/main/java/jp/sf/amateras/functions/utils/StringUtils.java (revision 11)
@@ -66,4 +66,61 @@
6666 }
6767 }
6868
69+ /**
70+ * 指定した文字列の改行を<br>タグに変換します。
71+ *
72+ * @param value 変換対象の文字列
73+ * @return 変換後の文字列。引数<code>value</code>が<code>null</code>の場合は空文字列
74+ */
75+ public static String convertLineSeparator(String value){
76+ if(value == null){
77+ return "";
78+ }
79+
80+ value = value.replace("\r\n", "\n");
81+ value = value.replace("\r", "\n");
82+ value = value.replace("\n", "<br>");
83+
84+ return value;
85+ }
86+
87+ /**
88+ * 指定した文字列に含まれるタブや半角スペースを&amp;nbsp;に変換します。
89+ * <p>
90+ * 連続した半角スペースの最初の1つめは&amp;nbsp;に変換しません。
91+ * また、タブ文字は半角スペース4つ分の空白に変換します。
92+ *
93+ * @param value 変換対象の文字列
94+ * @return 変換後の文字列。引数<code>value</code>が<code>null</code>の場合は空文字列
95+ */
96+ public static String convertWhitespace(String value){
97+ if(value == null){
98+ return "";
99+ }
100+
101+ // タブは半角スペース4つ分に変換
102+ value = value.replace("\t", " ");
103+
104+ StringBuilder sb = new StringBuilder();
105+ boolean flag = true;
106+
107+ for(int i=0;i<value.length();i++){
108+ char c = value.charAt(i);
109+ if(c == ' '){
110+ if(flag){
111+ // 連続した半角スペースの最初の1文字は変換しない
112+ sb.append(c);
113+ flag = false;
114+ } else {
115+ sb.append("&nbsp;");
116+ }
117+ } else {
118+ sb.append(c);
119+ flag = true;
120+ }
121+ }
122+
123+ return sb.toString();
124+ }
125+
69126 }
--- functions/trunk/functions/src/main/java/jp/sf/amateras/functions/Functions.java (revision 10)
+++ functions/trunk/functions/src/main/java/jp/sf/amateras/functions/Functions.java (revision 11)
@@ -40,17 +40,10 @@
4040 *
4141 * @param value 変換対象の文字列
4242 * @return 変換後の文字列。引数<code>value</code>が<code>null</code>の場合は空文字列
43+ * @see StringUtils#convertLineSeparator(String)
4344 */
4445 public static String br(String value){
45- if(value == null){
46- return "";
47- }
48-
49- value = value.replace("\r\n", "\n");
50- value = value.replace("\r", "\n");
51- value = value.replace("\n", "<br>");
52-
53- return value;
46+ return StringUtils.convertLineSeparator(value);
5447 }
5548
5649 /**
@@ -61,35 +54,10 @@
6154 *
6255 * @param value 変換対象の文字列
6356 * @return 変換後の文字列。引数<code>value</code>が<code>null</code>の場合は空文字列
57+ * @see StringUtils#convertWhitespace(String)
6458 */
6559 public static String nbsp(String value){
66- if(value == null){
67- return "";
68- }
69-
70- // タブは半角スペース4つ分に変換
71- value = value.replace("\t", " ");
72-
73- StringBuilder sb = new StringBuilder();
74- boolean flag = true;
75-
76- for(int i=0;i<value.length();i++){
77- char c = value.charAt(i);
78- if(c == ' '){
79- if(flag){
80- // 連続した半角スペースの最初の1文字は変換しない
81- sb.append(c);
82- flag = false;
83- } else {
84- sb.append("&nbsp;");
85- }
86- } else {
87- sb.append(c);
88- flag = true;
89- }
90- }
91-
92- return sb.toString();
60+ return StringUtils.convertWhitespace(value);
9361 }
9462
9563 /**
@@ -96,7 +64,7 @@
9664 * <code>java.util.Date</code>オブジェクトを日付形式にフォーマットして表示します。
9765 *
9866 * @param date 変換対象の<code>java.util.Date</code>オブジェクト
99- * @return 日付形式にフォーマットされた文字列
67+ * @return 日付形式にフォーマットされた文字列。引数<code>date</code>が<code>null</code>の場合は空文字列
10068 * @see DateUtils#formatDate(Date)
10169 */
10270 public static String date(Date date){
@@ -107,7 +75,7 @@
10775 * <code>java.util.Date</code>オブジェクトを日時形式にフォーマットして表示します。
10876 *
10977 * @param date 変換対象の<code>java.util.Date</code>オブジェクト
110- * @return 日時形式にフォーマットされた文字列
78+ * @return 日時形式にフォーマットされた文字列。引数<code>date</code>が<code>null</code>の場合は空文字列
11179 * @see DateUtils#formatDatetime(Date)
11280 */
11381 public static String datetime(Date date){
@@ -118,7 +86,7 @@
11886 * <code>java.util.Date</code>オブジェクトを時間形式にフォーマットして表示します。
11987 *
12088 * @param date 変換対象の<code>java.util.Date</code>オブジェクト
121- * @return 時間形式にフォーマットされた文字列
89+ * @return 時間形式にフォーマットされた文字列。引数<code>date</code>が<code>null</code>の場合は空文字列
12290 * @see DateUtils#formatTime(Date)
12391 */
12492 public static String time(Date date){
Show on old repository browser