package tundra; // -----( IS Java Code Template v1.2 // -----( CREATED: 2017-05-07 17:34:28 EST // -----( ON-HOST: 192.168.66.129 import com.wm.data.*; import com.wm.util.Values; import com.wm.app.b2b.server.Service; import com.wm.app.b2b.server.ServiceException; // --- <<IS-START-IMPORTS>> --- import java.io.IOException; import java.nio.charset.Charset; import java.util.EnumSet; import java.util.Locale; import permafrost.tundra.flow.variable.SubstitutionHelper; import permafrost.tundra.flow.variable.SubstitutionType; import permafrost.tundra.data.IDataHelper; import permafrost.tundra.lang.ArrayHelper; import permafrost.tundra.lang.BooleanHelper; import permafrost.tundra.lang.CharsetHelper; import permafrost.tundra.lang.ExceptionHelper; import permafrost.tundra.lang.LocaleHelper; import permafrost.tundra.lang.Sanitization; import permafrost.tundra.lang.StringHelper; import permafrost.tundra.math.IntegerHelper; // --- <<IS-END-IMPORTS>> --- public final class string { // ---( internal utility methods )--- final static string _instance = new string(); static string _newInstance() { return new string(); } static string _cast(Object o) { return (string)o; } // ---( server methods )--- public static final void blankify (IData pipeline) throws ServiceException { // --- <<IS-START(blankify)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $string // [o] field:0:required $string IDataCursor cursor = pipeline.getCursor(); try { String input = IDataHelper.get(cursor, "$string", String.class); IDataHelper.put(cursor, "$string", StringHelper.blankify(input)); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void capitalize (IData pipeline) throws ServiceException { // --- <<IS-START(capitalize)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $string // [i] field:0:optional $mode {"all words","first word"} // [o] field:0:optional $string IDataCursor cursor = pipeline.getCursor(); try { String input = IDataHelper.get(cursor, "$string", String.class); String mode = IDataHelper.get(cursor, "$mode", String.class); IDataHelper.put(cursor, "$string", StringHelper.capitalize(input, mode == null ? false : mode.equalsIgnoreCase("first word")), false); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void capture (IData pipeline) throws ServiceException { // --- <<IS-START(capture)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $string // [i] field:0:optional $pattern // [o] field:0:required $captured? // [o] record:1:optional $captures // [o] - record:1:required groups // [o] -- field:0:required captured? // [o] -- field:0:optional index // [o] -- field:0:optional length // [o] -- field:0:optional content // [o] - field:0:required groups.length // [o] field:0:required $captures.length IDataCursor cursor = pipeline.getCursor(); try { String string = IDataHelper.get(cursor, "$string", String.class); String pattern = IDataHelper.get(cursor, "$pattern", String.class); IData[] captures = StringHelper.capture(string, pattern); if (captures != null && captures.length > 0) { IDataHelper.put(cursor, "$captured?", "true"); IDataHelper.put(cursor, "$captures", captures); IDataHelper.put(cursor, "$captures.length", captures.length, String.class); } else { IDataHelper.put(cursor, "$captured?", "false"); IDataHelper.put(cursor, "$captures.length", "0"); } } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void characters (IData pipeline) throws ServiceException { // --- <<IS-START(characters)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $string // [o] object:1:optional $characters IDataCursor cursor = pipeline.getCursor(); try { String string = IDataHelper.get(cursor, "$string", String.class); IDataHelper.put(cursor, "$characters", StringHelper.characters(string), false); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void coalesce (IData pipeline) throws ServiceException { // --- <<IS-START(coalesce)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $string.x // [i] field:0:optional $string.y // [i] field:0:optional $mode {"missing","null"} // [o] field:0:optional $string IDataCursor cursor = pipeline.getCursor(); try { String x = IDataHelper.get(cursor, "$string.x", String.class); String y = IDataHelper.get(cursor, "$string.y", String.class); String mode = IDataHelper.get(cursor, "$mode", String.class); String result = tundra.object.coalesce(x, y); if (result != null || (mode != null && mode.equals("null"))) IDataHelper.put(cursor, "$string", result); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void compare (IData pipeline) throws ServiceException { // --- <<IS-START(compare)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $string.x // [i] field:0:optional $string.y // [i] field:0:optional $insensitive.case? {"false","true"} // [i] field:0:optional $insensitive.whitespace? {"false","true"} // [o] field:0:required $before? // [o] field:0:required $equal? // [o] field:0:required $after? IDataCursor cursor = pipeline.getCursor(); try { String x = IDataHelper.get(cursor, "$string.x", String.class); String y = IDataHelper.get(cursor, "$string.y", String.class); String insensitiveCase = IDataHelper.get(cursor, "$insensitive.case?", String.class); if (insensitiveCase == null) insensitiveCase = IDataHelper.get(cursor, "$case.insensitive?", String.class); boolean insensitiveWhitespace = IDataHelper.getOrDefault(cursor, "$insensitive.whitespace?", Boolean.class, false); int comparison = StringHelper.compare(x, y, BooleanHelper.parse(insensitiveCase), insensitiveWhitespace); IDataHelper.put(cursor, "$before?", comparison < 0, String.class); IDataHelper.put(cursor, "$equal?", comparison == 0, String.class); IDataHelper.put(cursor, "$after?", comparison > 0, String.class); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void concatenate (IData pipeline) throws ServiceException { // --- <<IS-START(concatenate)>> --- // @subtype unknown // @sigtype java 3.5 // [i] record:0:optional $operands // [i] field:0:optional $separator // [o] field:0:optional $string IDataCursor cursor = pipeline.getCursor(); try { IData operands = IDataHelper.get(cursor, "$operands", IData.class); String separator = IDataHelper.get(cursor, "$separator", String.class); String result = StringHelper.concatenate(operands, separator); IDataHelper.put(cursor, "$string", result, false); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void find (IData pipeline) throws ServiceException { // --- <<IS-START(find)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $string // [i] field:0:optional $pattern // [i] field:0:optional $literal? {"false","true"} // [o] field:0:required $found? IDataCursor cursor = pipeline.getCursor(); try { String string = IDataHelper.get(cursor, "$string", String.class); String pattern = IDataHelper.get(cursor, "$pattern", String.class); boolean literal = IDataHelper.getOrDefault(cursor, "$literal?", Boolean.class, false); IDataHelper.put(cursor, "$found?", StringHelper.find(string, pattern, literal), String.class); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void format (IData pipeline) throws ServiceException { // --- <<IS-START(format)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $pattern // [i] field:1:optional $patterns // [i] record:0:optional $pipeline // [i] record:1:optional $list // [i] field:0:optional $separator // [i] record:1:optional $arguments // [i] - field:0:optional key // [i] - object:0:optional value // [i] - field:0:optional type {"string","integer","decimal","datetime"} // [i] - field:0:optional pattern {"datetime","datetime.db2","datetime.jdbc","date","date.jdbc","time","time.jdbc","milliseconds"} // [i] - field:0:optional blankify? {"false","true"} // [i] record:0:optional $locale // [i] - field:0:required language // [i] - field:0:optional country // [i] - field:0:optional variant // [o] field:0:optional $string IDataCursor cursor = pipeline.getCursor(); try { String pattern = IDataHelper.get(cursor, "$pattern", String.class); String[] patterns = IDataHelper.get(cursor, "$patterns", String[].class); IData scope = IDataHelper.get(cursor, "$pipeline", IData.class); IData[] list = IDataHelper.get(cursor, "$list", IData[].class); String separator = IDataHelper.get(cursor, "$separator", String.class); IData[] arguments = IDataHelper.get(cursor, "$arguments", IData[].class); Locale locale = IDataHelper.getOrDefault(cursor, "$locale", Locale.class, Locale.getDefault()); if (patterns != null) pattern = ArrayHelper.join(patterns, null, Sanitization.REMOVE_NULLS); String result = null; if (pattern != null) { if (list != null) { result = StringHelper.format(locale, pattern, arguments, scope == null ? pipeline : scope, separator, list); } else { result = StringHelper.format(locale, pattern, arguments, pipeline, scope == null ? pipeline : scope); } } IDataHelper.put(cursor, "$string", result, false); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void length (IData pipeline) throws ServiceException { // --- <<IS-START(length)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $string // [o] field:0:required $length IDataCursor cursor = pipeline.getCursor(); try { IDataHelper.put(cursor, "$length", StringHelper.length(IDataHelper.get(cursor, "$string", String.class)), String.class); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void lines (IData pipeline) throws ServiceException { // --- <<IS-START(lines)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $string // [o] field:1:optional $lines IDataCursor cursor = pipeline.getCursor(); try { String string = IDataHelper.get(cursor, "$string", String.class); IDataHelper.put(cursor, "$lines", StringHelper.lines(string), false); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void listify (IData pipeline) throws ServiceException { // --- <<IS-START(listify)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:required $key // [i] record:0:optional $scope // [o] record:0:optional $scope tundra.document.listify(pipeline); // --- <<IS-END>> --- } public static final void lowercase (IData pipeline) throws ServiceException { // --- <<IS-START(lowercase)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $string // [i] record:0:optional $locale // [i] - field:0:required language // [i] - field:0:optional country // [i] - field:0:optional variant // [o] field:0:optional $string IDataCursor cursor = pipeline.getCursor(); try { String string = IDataHelper.get(cursor, "$string", String.class); Locale locale = IDataHelper.getOrDefault(cursor, "$locale", Locale.class, Locale.getDefault()); if (string != null) { IDataHelper.put(cursor, "$string", string.toLowerCase(locale), false); } } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void match (IData pipeline) throws ServiceException { // --- <<IS-START(match)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $string // [i] field:0:optional $pattern // [i] field:0:optional $literal? {"false","true"} // [o] field:0:required $match? IDataCursor cursor = pipeline.getCursor(); try { String string = IDataHelper.get(cursor, "$string", String.class); String pattern = IDataHelper.get(cursor, "$pattern", String.class); boolean literal = IDataHelper.getOrDefault(cursor, "$literal?", Boolean.class, false); IDataHelper.put(cursor, "$match?", StringHelper.match(string, pattern, literal), String.class); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void normalize (IData pipeline) throws ServiceException { // --- <<IS-START(normalize)>> --- // @subtype unknown // @sigtype java 3.5 // [i] object:0:optional $object // [i] field:0:optional $encoding // [o] field:0:optional $string IDataCursor cursor = pipeline.getCursor(); try { Object object = IDataHelper.get(cursor, "$object"); Charset charset = IDataHelper.get(cursor, "$encoding", Charset.class); IDataHelper.put(cursor, "$string", StringHelper.normalize(object, charset), false); } catch(IOException ex) { ExceptionHelper.raise(ex); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void nullify (IData pipeline) throws ServiceException { // --- <<IS-START(nullify)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $string // [o] field:0:optional $string IDataCursor cursor = pipeline.getCursor(); try { String input = IDataHelper.get(cursor, "$string", String.class); IDataHelper.put(cursor, "$string", StringHelper.nullify(input)); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void pad (IData pipeline) throws ServiceException { // --- <<IS-START(pad)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $string // [i] field:0:optional $length // [i] field:0:optional $character // [o] field:0:optional $string IDataCursor cursor = pipeline.getCursor(); try { String string = IDataHelper.get(cursor, "$string", String.class); int length = IDataHelper.getOrDefault(cursor, "$length", Integer.class, 0); String character = IDataHelper.get(cursor, "$character", String.class); char c = (character == null || character.length() == 0) ? ' ' : character.charAt(0); if (string != null) { IDataHelper.put(cursor, "$string", StringHelper.pad(string, length, c)); } } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void quote (IData pipeline) throws ServiceException { // --- <<IS-START(quote)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $string // [o] field:0:optional $pattern IDataCursor cursor = pipeline.getCursor(); try { String string = IDataHelper.get(cursor, "$string", String.class); IDataHelper.put(cursor, "$pattern", StringHelper.quote(string), false); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void remove (IData pipeline) throws ServiceException { // --- <<IS-START(remove)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $string // [i] field:0:optional $pattern // [i] field:0:optional $mode {"all","first"} // [o] field:0:optional $string IDataCursor cursor = pipeline.getCursor(); try { String string = IDataHelper.get(cursor, "$string", String.class); String pattern = IDataHelper.get(cursor, "$pattern", String.class); String mode = IDataHelper.get(cursor, "$mode", String.class); IDataHelper.put(cursor, "$string", StringHelper.remove(string, pattern, (!(mode == null || mode.equals("all")))), false); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void replace (IData pipeline) throws ServiceException { // --- <<IS-START(replace)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $string // [i] field:0:optional $pattern // [i] field:0:optional $replacement // [i] field:0:optional $literal? {"false","true"} // [i] field:0:optional $mode {"all","first"} // [o] field:0:optional $string IDataCursor cursor = pipeline.getCursor(); try { String string = IDataHelper.get(cursor, "$string", String.class); String pattern = IDataHelper.get(cursor, "$pattern", String.class); String replacement = IDataHelper.get(cursor, "$replacement", String.class); boolean literal = IDataHelper.getOrDefault(cursor, "$literal?", Boolean.class, false); String mode = IDataHelper.get(cursor, "$mode", String.class); IDataHelper.put(cursor, "$string", StringHelper.replace(string, pattern, replacement, literal, (!(mode == null || mode.equals("all")))), false); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void reverse (IData pipeline) throws ServiceException { // --- <<IS-START(reverse)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $string // [o] field:0:optional $string IDataCursor cursor = pipeline.getCursor(); try { String input = IDataHelper.get(cursor, "$string", String.class); IDataHelper.put(cursor, "$string", StringHelper.reverse(input), false); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void slice (IData pipeline) throws ServiceException { // --- <<IS-START(slice)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $string // [i] field:0:optional $index // [i] field:0:optional $length // [o] field:0:optional $string IDataCursor cursor = pipeline.getCursor(); try { String string = IDataHelper.get(cursor, "$string", String.class); int index = IDataHelper.getOrDefault(cursor, "$index", Integer.class, 0); int length = IDataHelper.getOrDefault(cursor, "$length", Integer.class, string == null ? 0 : (index < 0 ? -string.length() : string.length())); if (string != null) IDataHelper.put(cursor, "$string", StringHelper.slice(string, index, length)); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void split (IData pipeline) throws ServiceException { // --- <<IS-START(split)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $string // [i] field:0:optional $pattern // [i] field:0:optional $literal? {"false","true"} // [o] field:1:optional $list IDataCursor cursor = pipeline.getCursor(); try { String string = IDataHelper.get(cursor, "$string", String.class); String pattern = IDataHelper.get(cursor, "$pattern", String.class); boolean literal = IDataHelper.getOrDefault(cursor, "$literal?", Boolean.class, false); IDataHelper.put(cursor, "$list", StringHelper.split(string, pattern, literal), false); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void squeeze (IData pipeline) throws ServiceException { // --- <<IS-START(squeeze)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $string // [o] field:0:optional $string IDataCursor cursor = pipeline.getCursor(); try { String string = IDataHelper.get(cursor, "$string", String.class); IDataHelper.put(cursor, "$string", StringHelper.squeeze(string), false); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void substitute (IData pipeline) throws ServiceException { // --- <<IS-START(substitute)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $string // [i] record:0:optional $pipeline // [i] field:0:optional $default // [i] field:0:optional $mode {"local","global","all"} // [o] field:0:optional $string IDataCursor cursor = pipeline.getCursor(); try { String string = IDataHelper.get(cursor, "$string", String.class); String defaultValue = IDataHelper.get(cursor, "$default", String.class); IData scope = IDataHelper.get(cursor, "$pipeline", IData.class); EnumSet<SubstitutionType> mode = SubstitutionType.normalize(IDataHelper.get(cursor, "$mode", String.class)); IDataHelper.put(cursor, "$string", SubstitutionHelper.substitute(string, defaultValue, scope == null ? pipeline : scope, mode), false); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void trim (IData pipeline) throws ServiceException { // --- <<IS-START(trim)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $string // [o] field:0:optional $string IDataCursor cursor = pipeline.getCursor(); try { String string = IDataHelper.get(cursor, "$string", String.class); IDataHelper.put(cursor, "$string", StringHelper.trim(string), false); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void truncate (IData pipeline) throws ServiceException { // --- <<IS-START(truncate)>> --- // @subtype unknown // @sigtype java 3.5 // [i] record:0:optional $operands // [i] field:0:required $length // [i] field:0:optional $ellipsis? {"false","true"} // [o] record:0:optional $results IDataCursor cursor = pipeline.getCursor(); try { IData operands = IDataHelper.get(cursor, "$operands", IData.class); int length = IDataHelper.get(cursor, "$length", Integer.class); boolean ellipsis = IDataHelper.getOrDefault(cursor, "$ellipsis?", Boolean.class, false); IData results = StringHelper.truncate(operands, length, ellipsis); IDataHelper.put(cursor, "$results", results, false); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void uppercase (IData pipeline) throws ServiceException { // --- <<IS-START(uppercase)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $string // [i] record:0:optional $locale // [i] - field:0:required language // [i] - field:0:optional country // [i] - field:0:optional variant // [o] field:0:optional $string IDataCursor cursor = pipeline.getCursor(); try { String string = IDataHelper.get(cursor, "$string", String.class); Locale locale = IDataHelper.getOrDefault(cursor, "$locale", Locale.class, Locale.getDefault()); if (string != null) { IDataHelper.put(cursor, "$string", string.toUpperCase(locale)); } } finally { cursor.destroy(); } // --- <<IS-END>> --- } }