public class ReferencesResolverUtil
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
ReferencesResolverUtil.ReferencesResolverListener |
Constructor and Description |
---|
ReferencesResolverUtil() |
Modifier and Type | Method and Description |
---|---|
static boolean |
containsReference(java.lang.String value)
Returns true if the specified value contains at least one reference.
|
static boolean |
containsReference(java.lang.String value,
java.lang.String[] prefixes,
boolean allowAnyCharactersInReferenceName)
Returns true if the specified value contains at least one reference that starts from one of the prefixes.
|
static java.lang.String |
escape(java.lang.String value)
Replaces single % with %%
|
static java.util.Set<java.lang.String> |
findParametersReferringToKey(java.util.Map<java.lang.String,java.lang.String> parameters,
java.util.Collection<java.lang.String> keys) |
static com.intellij.openapi.util.Pair<java.lang.Boolean,java.lang.String> |
getLastElement(java.lang.String value)
See javadoc for
getLastElement(String, String[], boolean) |
static com.intellij.openapi.util.Pair<java.lang.Boolean,java.lang.String> |
getLastElement(java.lang.String value,
java.lang.String[] prefixes,
boolean allowAnyCharactersInReferenceName)
Returns last element of the specified value.
|
static java.util.Set<java.lang.String> |
getReferences(java.lang.String value)
Returns all of the references present in the specified value.
|
static java.util.Set<java.lang.String> |
getReferences(java.lang.String value,
java.lang.String[] prefixes,
boolean allowAnyCharactersInReferenceNames)
Finds all of the references present in the specified value that start with one of the prefixes.
|
static boolean |
isReference(java.lang.String value)
Returns true if the specified value contains exactly one parameter reference without any static text.
|
static boolean |
isValidReference(java.lang.String ref) |
static java.lang.String |
makeReference(java.lang.String propertyName)
Makes a TeamCity %foo% like reference from a given property name
|
static boolean |
mayContainReference(java.lang.String value) |
static void |
resolve(java.lang.String value,
ReferencesResolverUtil.ReferencesResolverListener listener)
Processes the value calling appropriate listener methods for each found static text of reference name.
|
static java.lang.String |
unescape(java.lang.String value)
Accepts value which may contain escaped sequences: %%, these sequences will be unescaped, converted to one %
|
@NotNull public static java.lang.String makeReference(@NotNull java.lang.String propertyName)
propertyName
- parameter namepublic static void resolve(@NotNull java.lang.String value, @NotNull ReferencesResolverUtil.ReferencesResolverListener listener)
value
- value to processlistener
- listener to be used@NotNull public static java.lang.String unescape(@NotNull java.lang.String value)
value
- value@NotNull public static java.lang.String escape(@NotNull java.lang.String value)
value
- valuepublic static boolean containsReference(@NotNull java.lang.String value)
value
- value to checkpublic static boolean containsReference(@NotNull java.lang.String value, @NotNull java.lang.String[] prefixes, boolean allowAnyCharactersInReferenceName)
value
- value to checkprefixes
- prefixes of the references searched. If array is empty, any token between "%" is considered a reference.allowAnyCharactersInReferenceName
- true to allow spaces or any other characters in the references (compatibility mode) and false otherwise.public static boolean isReference(@NotNull java.lang.String value)
value
- value to checkpublic static boolean mayContainReference(@NotNull java.lang.String value)
@NotNull public static java.util.Set<java.lang.String> findParametersReferringToKey(@NotNull java.util.Map<java.lang.String,java.lang.String> parameters, @NotNull java.util.Collection<java.lang.String> keys)
public static java.util.Set<java.lang.String> getReferences(@NotNull java.lang.String value)
value
- value to checkpublic static java.util.Set<java.lang.String> getReferences(@NotNull java.lang.String value, @NotNull java.lang.String[] prefixes, boolean allowAnyCharactersInReferenceNames)
value
- value to checkprefixes
- only return references starting with specified prefixesallowAnyCharactersInReferenceNames
- if true then reference can contain any character@NotNull public static com.intellij.openapi.util.Pair<java.lang.Boolean,java.lang.String> getLastElement(@NotNull java.lang.String value)
getLastElement(String, String[], boolean)
@NotNull public static com.intellij.openapi.util.Pair<java.lang.Boolean,java.lang.String> getLastElement(@NotNull java.lang.String value, @NotNull java.lang.String[] prefixes, boolean allowAnyCharactersInReferenceName)
Examples: for "a%b%c" last element is Pair(false, "c") for "a%b%" last element is Pair(true, "b") for "abc" last element is Pair(false, "abc")
value
- value to checkprefixes
- prefixes of the references searched. If array is empty, any token between "%" is considered a reference.allowAnyCharactersInReferenceName
- true to allow spaces or any other characters in the references and false otherwise.public static boolean isValidReference(@NotNull java.lang.String ref)
ref
- reference key to check