* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* @return
*/
public static String convert(final String text, final List<String> vars) {
- String[] array = new String[vars.size()];
StringBuilder sb = new StringBuilder();
+ Object[] array = new Object[vars.size()];
convert(sb,text,vars.toArray(array));
return sb.toString();
}
* @param vars
* @return
*/
- public static String convert(final StringBuilder holder, final String text, final String ... vars) {
+ public static String convert(final StringBuilder holder, final String text, final Object ... vars) {
StringBuilder sb = null;
int idx,index=0,prev = 0;
-
- if(text.contains("%s")) {
+
+ if (text.contains("%s")) {
sb = new StringBuilder();
}
-
+
StringBuilder[] sbs = new StringBuilder[] {sb,holder};
boolean replace, clearIndex = false;
int c;
- while((idx=text.indexOf('%',prev))>=0) {
+ while ((idx=text.indexOf('%',prev))>=0) {
replace = false;
- if(clearIndex) {
+ if (clearIndex) {
index=0;
}
- if(sb!=null) {
+ if (sb!=null) {
sb.append(text,prev,idx);
}
- if(holder!=null) {
+ if (holder!=null) {
holder.append(text,prev,idx);
}
-
+
boolean go = true;
- while(go) {
- if(text.length()>++idx) {
+ while (go) {
+ if (text.length()>++idx) {
switch(c=text.charAt(idx)) {
- case '0': case '1': case '2': case '3': case '4':
+ case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
index *=10;
index +=(c-'0');
}
prev = idx;
go=false;
- if(replace) {
- if(sb!=null) {
+ if (replace) {
+ if (sb!=null) {
sb.append('%');
sb.append(index);
}
- if(index<=vars.length) {
- if(holder!=null) {
+ if (index<=vars.length) {
+ if (holder!=null) {
holder.append(vars[index-1]);
}
}
} else {
- for(StringBuilder s : sbs) {
- if(s!=null) {
+ for (StringBuilder s : sbs) {
+ if (s!=null) {
s.append("%");
}
}
}
}
}
-
- if(sb!=null) {
+
+ if (sb!=null) {
sb.append(text,prev,text.length());
}
- if(holder!=null) {
+ if (holder!=null) {
holder.append(text,prev,text.length());
}