package haxe.lang; import haxe.root.*; @SuppressWarnings(value={"rawtypes", "unchecked"}) public class StringExt { public StringExt() { { } } public static java.lang.String charAt(java.lang.String me, int index) { if ( index >= me.length() || index < 0 ) return ""; else return java.lang.Character.toString(me.charAt(index)); } public static java.lang.Object charCodeAt(java.lang.String me, int index) { if ( index >= me.length() || index < 0 ) return null; else return me.codePointAt(index); } public static int indexOf(java.lang.String me, java.lang.String str, java.lang.Object startIndex) { int sIndex = (startIndex != null ) ? (haxe.lang.Runtime.toInt(startIndex)) : 0; if (sIndex >= me.length() || sIndex < 0) return -1; return me.indexOf(str, sIndex); } public static int lastIndexOf(java.lang.String me, java.lang.String str, java.lang.Object startIndex) { int sIndex = (startIndex != null ) ? (haxe.lang.Runtime.toInt(startIndex)) : (me.length() - 1); if (sIndex > me.length() || sIndex < 0) sIndex = me.length() - 1; else if (sIndex < 0) return -1; return me.lastIndexOf(str, sIndex); } public static haxe.root.Array<java.lang.String> split(java.lang.String me, java.lang.String delimiter) { Array<java.lang.String> ret = new Array<java.lang.String>(); int slen = delimiter.length(); if (slen == 0) { int len = me.length(); for (int i = 0; i < len; i++) { ret.push(me.substring(i, i + 1)); } } else { int start = 0; int pos = me.indexOf(delimiter, start); while (pos >= 0) { ret.push(me.substring(start, pos)); start = pos + slen; pos = me.indexOf(delimiter, start); } ret.push(me.substring(start)); } return ret; } public static java.lang.String substr(java.lang.String me, int pos, java.lang.Object len) { int meLen = me.length(); int targetLen = meLen; if (len != null) { targetLen = haxe.lang.Runtime.toInt(len); if (targetLen == 0) return ""; if( pos != 0 && targetLen < 0 ){ return ""; } } if( pos < 0 ){ pos = meLen + pos; if( pos < 0 ) pos = 0; } else if( targetLen < 0 ){ targetLen = meLen + targetLen - pos; } if( pos + targetLen > meLen ){ targetLen = meLen - pos; } if ( pos < 0 || targetLen <= 0 ) return ""; return me.substring(pos, pos + targetLen); } public static java.lang.String substring(java.lang.String me, int startIndex, java.lang.Object endIndex) { int endIdx; int len = me.length(); if ( endIndex == null) { endIdx = len; } else if ( (endIdx = haxe.lang.Runtime.toInt(endIndex)) < 0 ) { endIdx = 0; } else if ( endIdx > len ) { endIdx = len; } if ( startIndex < 0 ) { startIndex = 0; } else if ( startIndex > len ) { startIndex = len; } if ( startIndex > endIdx ) { int tmp = startIndex; startIndex = endIdx; endIdx = tmp; } return me.substring(startIndex, endIdx); } public static java.lang.String toLowerCase(java.lang.String me) { return me.toLowerCase(); } public static java.lang.String toUpperCase(java.lang.String me) { return me.toUpperCase(); } public static java.lang.String toNativeString(java.lang.String me) { return me; } public static java.lang.String fromCharCode(int code) { return java.lang.Character.toString( (char) code ); } }