X-Git-Url: http://source.jalview.org/gitweb/?p=jalviewjs.git;a=blobdiff_plain;f=site%2Fj2s%2Fjalview%2Futil%2FStringUtils.js;fp=site%2Fj2s%2Fjalview%2Futil%2FStringUtils.js;h=0b21437ebe9765b12ec7fb56895c63d950024c64;hp=fd878bf0d8b54e6a4390e6c878b53795b015d264;hb=b9b7a352eee79b7764c3b09c9d19663075061d8c;hpb=7301a2415adab88038b291fc54caeeb3a5a47a44 diff --git a/site/j2s/jalview/util/StringUtils.js b/site/j2s/jalview/util/StringUtils.js index fd878bf..0b21437 100644 --- a/site/j2s/jalview/util/StringUtils.js +++ b/site/j2s/jalview/util/StringUtils.js @@ -1,108 +1,108 @@ -Clazz.declarePackage ("jalview.util"); -Clazz.load (["java.util.regex.Pattern"], "jalview.util.StringUtils", ["java.lang.StringBuffer", "java.util.ArrayList"], function () { -c$ = Clazz.declareType (jalview.util, "StringUtils"); -c$.insertCharAt = Clazz.defineMethod (c$, "insertCharAt", -function ($in, position, count, ch) { -var tmp = Clazz.newCharArray ($in.length + count, '\0'); -if (position >= $in.length) { -System.arraycopy ($in, 0, tmp, 0, $in.length); -position = $in.length; -} else { -System.arraycopy ($in, 0, tmp, 0, position); -}var index = position; -while (count > 0) { -tmp[index++] = ch; -count--; -} -if (position < $in.length) { -System.arraycopy ($in, position, tmp, index, $in.length - position); -}return tmp; -}, "~A,~N,~N,~S"); -c$.deleteChars = Clazz.defineMethod (c$, "deleteChars", -function ($in, from, to) { -if (from >= $in.length || from < 0) { -return $in; -}var tmp; -if (to >= $in.length) { -tmp = Clazz.newCharArray (from, '\0'); -System.arraycopy ($in, 0, tmp, 0, from); -to = $in.length; -} else { -tmp = Clazz.newCharArray ($in.length - to + from, '\0'); -System.arraycopy ($in, 0, tmp, 0, from); -System.arraycopy ($in, to, tmp, from, $in.length - to); -}return tmp; -}, "~A,~N,~N"); -c$.getLastToken = Clazz.defineMethod (c$, "getLastToken", -function (input, token) { -if (input == null) { -return null; -}if (token == null) { -return input; -}var st = input.$plit (token); -return st[st.length - 1]; -}, "~S,~S"); -c$.separatorListToArray = Clazz.defineMethod (c$, "separatorListToArray", -function (input, delimiter) { -var seplen = delimiter.length; -if (input == null || input.equals ("") || input.equals (delimiter)) { -return null; -}var jv = new java.util.ArrayList (); -var cp = 0; -var pos; -var escape; -var wasescaped = false; -var wasquoted = false; -var lstitem = null; -while ((pos = input.indexOf (delimiter, cp)) >= cp) { -escape = (pos > 0 && input.charAt (pos - 1) == '\\') ? -1 : 0; -if (wasescaped || wasquoted) { -jv.set (jv.size () - 1, lstitem = lstitem + delimiter + input.substring (cp, pos + escape)); -} else { -jv.add (lstitem = input.substring (cp, pos + escape)); -}cp = pos + seplen; -wasescaped = escape == -1; -wasquoted = jalview.util.StringUtils.DELIMITERS_PATTERN.matcher (lstitem).matches (); -} -if (cp < input.length) { -var c = input.substring (cp); -if (wasescaped || wasquoted) { -jv.set (jv.size () - 1, lstitem + delimiter + c); -} else { -if (!c.equals (delimiter)) { -jv.add (c); -}}}if (jv.size () > 0) { -var v = jv.toArray ( new Array (jv.size ())); -jv.clear (); -if (false) { -System.err.println ("Array from '" + delimiter + "' separated List:\n" + v.length); -for (var i = 0; i < v.length; i++) { -System.err.println ("item " + i + " '" + v[i] + "'"); -} -}return v; -}if (false) { -System.err.println ("Empty Array from '" + delimiter + "' separated List"); -}return null; -}, "~S,~S"); -c$.arrayToSeparatorList = Clazz.defineMethod (c$, "arrayToSeparatorList", -function (list, separator) { -var v = new StringBuffer (); -if (list != null && list.length > 0) { -for (var i = 0, iSize = list.length; i < iSize; i++) { -if (list[i] != null) { -if (v.length () > 0) { -v.append (separator); -}v.append (list[i]); -}} -if (false) { -System.err.println ("Returning '" + separator + "' separated List:\n"); -System.err.println (v); -}return v.toString (); -}if (false) { -System.err.println ("Returning empty '" + separator + "' separated List\n"); -}return "" + separator; -}, "~A,~S"); -c$.DELIMITERS_PATTERN = c$.prototype.DELIMITERS_PATTERN = java.util.regex.Pattern.compile (".*='[^']*(?!')"); -Clazz.defineStatics (c$, -"DEBUG", false); -}); +Clazz.declarePackage ("jalview.util"); +Clazz.load (["java.util.regex.Pattern"], "jalview.util.StringUtils", ["java.lang.StringBuffer", "java.util.ArrayList"], function () { +c$ = Clazz.declareType (jalview.util, "StringUtils"); +c$.insertCharAt = Clazz.defineMethod (c$, "insertCharAt", +function ($in, position, count, ch) { +var tmp = Clazz.newCharArray ($in.length + count, '\0'); +if (position >= $in.length) { +System.arraycopy ($in, 0, tmp, 0, $in.length); +position = $in.length; +} else { +System.arraycopy ($in, 0, tmp, 0, position); +}var index = position; +while (count > 0) { +tmp[index++] = ch; +count--; +} +if (position < $in.length) { +System.arraycopy ($in, position, tmp, index, $in.length - position); +}return tmp; +}, "~A,~N,~N,~S"); +c$.deleteChars = Clazz.defineMethod (c$, "deleteChars", +function ($in, from, to) { +if (from >= $in.length || from < 0) { +return $in; +}var tmp; +if (to >= $in.length) { +tmp = Clazz.newCharArray (from, '\0'); +System.arraycopy ($in, 0, tmp, 0, from); +to = $in.length; +} else { +tmp = Clazz.newCharArray ($in.length - to + from, '\0'); +System.arraycopy ($in, 0, tmp, 0, from); +System.arraycopy ($in, to, tmp, from, $in.length - to); +}return tmp; +}, "~A,~N,~N"); +c$.getLastToken = Clazz.defineMethod (c$, "getLastToken", +function (input, token) { +if (input == null) { +return null; +}if (token == null) { +return input; +}var st = input.$plit (token); +return st[st.length - 1]; +}, "~S,~S"); +c$.separatorListToArray = Clazz.defineMethod (c$, "separatorListToArray", +function (input, delimiter) { +var seplen = delimiter.length; +if (input == null || input.equals ("") || input.equals (delimiter)) { +return null; +}var jv = new java.util.ArrayList (); +var cp = 0; +var pos; +var escape; +var wasescaped = false; +var wasquoted = false; +var lstitem = null; +while ((pos = input.indexOf (delimiter, cp)) >= cp) { +escape = (pos > 0 && input.charAt (pos - 1) == '\\') ? -1 : 0; +if (wasescaped || wasquoted) { +jv.set (jv.size () - 1, lstitem = lstitem + delimiter + input.substring (cp, pos + escape)); +} else { +jv.add (lstitem = input.substring (cp, pos + escape)); +}cp = pos + seplen; +wasescaped = escape == -1; +wasquoted = jalview.util.StringUtils.DELIMITERS_PATTERN.matcher (lstitem).matches (); +} +if (cp < input.length) { +var c = input.substring (cp); +if (wasescaped || wasquoted) { +jv.set (jv.size () - 1, lstitem + delimiter + c); +} else { +if (!c.equals (delimiter)) { +jv.add (c); +}}}if (jv.size () > 0) { +var v = jv.toArray ( new Array (jv.size ())); +jv.clear (); +if (false) { +System.err.println ("Array from '" + delimiter + "' separated List:\n" + v.length); +for (var i = 0; i < v.length; i++) { +System.err.println ("item " + i + " '" + v[i] + "'"); +} +}return v; +}if (false) { +System.err.println ("Empty Array from '" + delimiter + "' separated List"); +}return null; +}, "~S,~S"); +c$.arrayToSeparatorList = Clazz.defineMethod (c$, "arrayToSeparatorList", +function (list, separator) { +var v = new StringBuffer (); +if (list != null && list.length > 0) { +for (var i = 0, iSize = list.length; i < iSize; i++) { +if (list[i] != null) { +if (v.length () > 0) { +v.append (separator); +}v.append (list[i]); +}} +if (false) { +System.err.println ("Returning '" + separator + "' separated List:\n"); +System.err.println (v); +}return v.toString (); +}if (false) { +System.err.println ("Returning empty '" + separator + "' separated List\n"); +}return "" + separator; +}, "~A,~S"); +c$.DELIMITERS_PATTERN = c$.prototype.DELIMITERS_PATTERN = java.util.regex.Pattern.compile (".*='[^']*(?!')"); +Clazz.defineStatics (c$, +"DEBUG", false); +});