public class SharedDataContextUtils
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.util.regex.Pattern |
PROPERTY_REF_PATTERN |
static java.lang.String |
PROPERTY_REF_REGEX |
static java.lang.String |
PROPERTY_VIEW_REF_REGEX |
Constructor and Description |
---|
SharedDataContextUtils() |
Modifier and Type | Method and Description |
---|---|
static java.lang.String |
escapeShell(java.lang.String s)
Escape characters meaningful to bash shell unless the string is already surrounded in single quotes
|
static java.lang.String |
escapeWindowsShell(java.lang.String s)
Escape characters meaningful to windows unless the string is already surrounded in single quotes
|
static ReadableSharedContext |
outputContext(ContextView defaultView) |
static <T extends ViewTraverse<T>> |
replaceDataReferences(java.util.Map<java.lang.String,java.lang.Object> input,
T currentContext,
java.util.function.BiFunction<java.lang.Integer,java.lang.String,T> viewMap,
Converter<java.lang.String,java.lang.String> converter,
MultiDataContext<T,DataContext> data)
Recursively replace data references in the values in a map which contains either string, collection or Map
values.
|
static <T extends ViewTraverse<T>> |
replaceDataReferences(java.util.Map<java.lang.String,java.lang.Object> input,
T currentContext,
java.util.function.BiFunction<java.lang.Integer,java.lang.String,T> viewMap,
Converter<java.lang.String,java.lang.String> converter,
MultiDataContext<T,DataContext> data,
boolean failOnUnexpanded,
boolean blankIfUnexpanded)
Recursively replace data references in the values in a map which contains either string, collection or Map
values.
|
static <T extends ViewTraverse<T>> |
replaceDataReferences(java.lang.String[] args,
MultiDataContext<T,DataContext> data,
T currentContext,
java.util.function.BiFunction<java.lang.Integer,java.lang.String,T> viewMap,
Converter<java.lang.String,java.lang.String> converter,
boolean failIfUnexpanded,
boolean blankIfUnexpanded)
Replace the embedded properties of the form '${key.name}' in the input Strings with the value from the data
context
|
static <T extends ViewTraverse<T>> |
replaceDataReferences(java.lang.String input,
MultiDataContext<T,DataContext> data,
T currentContext,
java.util.function.BiFunction<java.lang.Integer,java.lang.String,T> viewMap,
Converter<java.lang.String,java.lang.String> converter,
boolean failOnUnexpanded,
boolean blankIfUnexpanded)
Replace the embedded properties of the form '${key.name}' in the input Strings with the value from the data
context
|
static <T extends ViewTraverse<T>> |
replaceDataReferencesInObject(java.lang.Object o,
T currentContext,
java.util.function.BiFunction<java.lang.Integer,java.lang.String,T> viewMap,
Converter<java.lang.String,java.lang.String> converter,
MultiDataContext<T,DataContext> data) |
static <T extends ViewTraverse<T>> |
replaceDataReferencesInObject(java.lang.Object o,
T currentContext,
java.util.function.BiFunction<java.lang.Integer,java.lang.String,T> viewMap,
Converter<java.lang.String,java.lang.String> converter,
MultiDataContext<T,DataContext> data,
boolean failOnUnexpanded,
boolean blankIfUnexpanded) |
static void |
replaceTokensInReader(java.io.Reader reader,
MultiDataContext<ContextView,DataContext> dataContext,
ScriptfileUtils.LineEndingStyle style,
java.io.File destination,
java.lang.String nodeName)
Copies the source stream to a temp file or specific destination, replacing the @key.X@ tokens
with the values from the data context
|
static void |
replaceTokensInScript(java.lang.String script,
MultiDataContext<ContextView,DataContext> dataContext,
ScriptfileUtils.LineEndingStyle style,
java.io.File destination,
java.lang.String nodeName)
Copies the source file to a file, replacing the @key.X@ tokens with the values from the data
context
|
static void |
replaceTokensInStream(java.io.InputStream stream,
MultiDataContext<ContextView,DataContext> dataContext,
ScriptfileUtils.LineEndingStyle style,
java.io.File destination,
java.lang.String nodeName)
Copies the source stream to a temp file or specific destination, replacing the @key.X@ tokens
with the values from the data context
|
static WFSharedContext |
sharedContext() |
public static final java.lang.String PROPERTY_REF_REGEX
public static final java.lang.String PROPERTY_VIEW_REF_REGEX
public static final java.util.regex.Pattern PROPERTY_REF_PATTERN
public static ReadableSharedContext outputContext(ContextView defaultView)
public static WFSharedContext sharedContext()
public static <T extends ViewTraverse<T>> java.lang.String[] replaceDataReferences(java.lang.String[] args, MultiDataContext<T,DataContext> data, T currentContext, java.util.function.BiFunction<java.lang.Integer,java.lang.String,T> viewMap, Converter<java.lang.String,java.lang.String> converter, boolean failIfUnexpanded, boolean blankIfUnexpanded)
args
- input string arraydata
- data context mapconverter
- converter to encode/convert the expanded valuesfailIfUnexpanded
- true to fail if a reference is not foundblankIfUnexpanded
- true to use blank if a reference is not foundpublic static <T extends ViewTraverse<T>> java.lang.String replaceDataReferences(java.lang.String input, MultiDataContext<T,DataContext> data, T currentContext, java.util.function.BiFunction<java.lang.Integer,java.lang.String,T> viewMap, Converter<java.lang.String,java.lang.String> converter, boolean failOnUnexpanded, boolean blankIfUnexpanded)
input
- input stringdata
- data context mapconverter
- converter to encode/convert the expanded valuesfailOnUnexpanded
- true to fail if a reference is not foundblankIfUnexpanded
- true to use blank if a reference is not foundpublic static java.lang.String escapeShell(java.lang.String s)
s
- stringpublic static java.lang.String escapeWindowsShell(java.lang.String s)
s
- stringpublic static void replaceTokensInScript(java.lang.String script, MultiDataContext<ContextView,DataContext> dataContext, ScriptfileUtils.LineEndingStyle style, java.io.File destination, java.lang.String nodeName) throws java.io.IOException
script
- source file pathdataContext
- input data contextstyle
- line ending styledestination
- destination file, or null to create a temp filejava.io.IOException
- on io errorpublic static void replaceTokensInStream(java.io.InputStream stream, MultiDataContext<ContextView,DataContext> dataContext, ScriptfileUtils.LineEndingStyle style, java.io.File destination, java.lang.String nodeName) throws java.io.IOException
stream
- source streamdataContext
- input data contextstyle
- script file line ending style to usedestination
- destination filejava.io.IOException
- on io errorpublic static void replaceTokensInReader(java.io.Reader reader, MultiDataContext<ContextView,DataContext> dataContext, ScriptfileUtils.LineEndingStyle style, java.io.File destination, java.lang.String nodeName) throws java.io.IOException
reader
- readerdataContext
- input data contextstyle
- script file line ending style to usedestination
- destination filejava.io.IOException
- on io errorpublic static <T extends ViewTraverse<T>> java.util.Map<java.lang.String,java.lang.Object> replaceDataReferences(java.util.Map<java.lang.String,java.lang.Object> input, T currentContext, java.util.function.BiFunction<java.lang.Integer,java.lang.String,T> viewMap, Converter<java.lang.String,java.lang.String> converter, MultiDataContext<T,DataContext> data)
input
- input mapdata
- context datapublic static <T extends ViewTraverse<T>> java.util.Map<java.lang.String,java.lang.Object> replaceDataReferences(java.util.Map<java.lang.String,java.lang.Object> input, T currentContext, java.util.function.BiFunction<java.lang.Integer,java.lang.String,T> viewMap, Converter<java.lang.String,java.lang.String> converter, MultiDataContext<T,DataContext> data, boolean failOnUnexpanded, boolean blankIfUnexpanded)
input
- input mapdata
- context datapublic static <T extends ViewTraverse<T>> java.lang.Object replaceDataReferencesInObject(java.lang.Object o, T currentContext, java.util.function.BiFunction<java.lang.Integer,java.lang.String,T> viewMap, Converter<java.lang.String,java.lang.String> converter, MultiDataContext<T,DataContext> data)
public static <T extends ViewTraverse<T>> java.lang.Object replaceDataReferencesInObject(java.lang.Object o, T currentContext, java.util.function.BiFunction<java.lang.Integer,java.lang.String,T> viewMap, Converter<java.lang.String,java.lang.String> converter, MultiDataContext<T,DataContext> data, boolean failOnUnexpanded, boolean blankIfUnexpanded)