Package org.apache.maven.cli.props
Class MavenProperties
Enhancement of the standard
Properties
managing the maintain of comments, etc.-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static class
TODOstatic class
This class is used to read properties lines.static class
This class is used to write properties lines.Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K,
V>, AbstractMap.SimpleImmutableEntry<K, V> -
Constructor Summary
ConstructorDescriptionMavenProperties
(boolean substitute) MavenProperties
(Path location) MavenProperties
(Path location, boolean substitute) MavenProperties
(Path location, Function<String, String> callback) -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
static boolean
contains
(char[] array, char valueToFind) Checks if the value is in the given array.entrySet()
protected static String
escapeJava
(String str) Escapes the characters in aString
using Java String rules.getComments
(String key) Return the comment footer.Return the comment header.getProperty
(String key) Searches for the property with the specified key in this property list.getProperty
(String key, String defaultValue) Searches for the property with the specified key in this property list.protected static String
hex
(char ch) Returns an upper case hexadecimalString
for the given character.void
load
(InputStream is) void
void
void
protected void
loadLayout
(Reader in, boolean maybeTyped) Reads a properties file and stores its internal structure.Enumeration
<?> Returns an enumeration of all the keys in this property list, including distinct keys in the default property list if a key of the same name has not already been found from the main properties list.void
save()
void
save
(OutputStream os) void
void
protected void
saveLayout
(Writer out, boolean typed) Writes the properties file to the given writer, preserving as much of its structure as possible.void
Set the comment footer.void
Set the comment header.setProperty
(String key, String value) Calls the map method put.void
store
(OutputStream os, String comment) Store a properties into a output stream, preserving comments, special character, etc.void
void
substitute
(Function<String, String> callback) protected static String
unescapeJava
(String str) Unescapes any Java literals found in theString
to aWriter
.boolean
boolean
update
(MavenProperties properties) Methods inherited from class java.util.AbstractMap
clone, containsKey, containsValue, equals, get, hashCode, isEmpty, keySet, putAll, size, toString, values
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Constructor Details
-
MavenProperties
public MavenProperties() -
MavenProperties
- Throws:
IOException
-
MavenProperties
- Throws:
IOException
-
MavenProperties
public MavenProperties(boolean substitute) -
MavenProperties
-
-
Method Details
-
load
- Throws:
IOException
-
load
- Throws:
IOException
-
load
- Throws:
IOException
-
load
- Throws:
IOException
-
save
- Throws:
IOException
-
save
- Throws:
IOException
-
save
- Throws:
IOException
-
save
- Throws:
IOException
-
store
Store a properties into a output stream, preserving comments, special character, etc. This method is mainly to be compatible with the java.util.Properties class.- Parameters:
os
- an output stream.comment
- this parameter is ignored as this Properties- Throws:
IOException
- If storing fails
-
getProperty
Searches for the property with the specified key in this property list.- Parameters:
key
- the property key.- Returns:
- the value in this property list with the specified key value.
-
getProperty
Searches for the property with the specified key in this property list. If the key is not found in this property list, the default property list, and its defaults, recursively, are then checked. The method returns the default value argument if the property is not found.- Parameters:
key
- the property key.defaultValue
- a default value.- Returns:
- The property value of the default value
-
entrySet
-
propertyNames
Returns an enumeration of all the keys in this property list, including distinct keys in the default property list if a key of the same name has not already been found from the main properties list.- Returns:
- an enumeration of all the keys in this property list, including the keys in the default property list.
-
setProperty
Calls the map method put. Provided for parallelism with the getProperty method. Enforces use of strings for property keys and values. The value returned is the result of the map call to put.- Parameters:
key
- the key to be placed into this property list.value
- the value corresponding to the key.- Returns:
- the previous value of the specified key in this property list, or null if it did not have one.
-
put
-
put
-
put
-
put
-
update
-
update
-
getRaw
-
getComments
-
remove
-
clear
public void clear() -
getHeader
Return the comment header.- Returns:
- the comment header
-
setHeader
Set the comment header.- Parameters:
header
- the header to use
-
loadLayout
Reads a properties file and stores its internal structure. The found properties will be added to the associated configuration object.- Parameters:
in
- the reader to the properties file- Throws:
IOException
- if an error occurs
-
substitute
public void substitute() -
substitute
-
saveLayout
Writes the properties file to the given writer, preserving as much of its structure as possible.- Parameters:
out
- the writer- Throws:
IOException
- if an error occurs
-
unescapeJava
Unescapes any Java literals found in the
This is a slightly modified version of the StringEscapeUtils.unescapeJava() function in commons-lang that doesn't drop escaped separators (i.e '\,').String
to aWriter
.- Parameters:
str
- theString
to unescape, may be null- Returns:
- the processed string
- Throws:
IllegalArgumentException
- if the Writer isnull
-
escapeJava
Escapes the characters in a
String
using Java String rules.Deals correctly with quotes and control-chars (tab, backslash, cr, ff, etc.)
So a tab becomes the characters
'\\'
and't'
.The only difference between Java strings and JavaScript strings is that in JavaScript, a single quote must be escaped.
Example:
input string: He didn't say, "Stop!" output string: He didn't say, \"Stop!\"
- Parameters:
str
- String to escape values in, may be null- Returns:
- String with escaped values,
null
if null string input
-
hex
Returns an upper case hexadecimal
String
for the given character.- Parameters:
ch
- The character to convert.- Returns:
- An upper case hexadecimal
String
-
contains
public static boolean contains(char[] array, char valueToFind) Checks if the value is in the given array.
The method returns
false
if anull
array is passed in.- Parameters:
array
- the array to search throughvalueToFind
- the value to find- Returns:
true
if the array contains the object
-