Package org.apache.wicket.util.string
Class StringValue
- java.lang.Object
-
- org.apache.wicket.util.string.StringValue
-
- All Implemented Interfaces:
Serializable,IClusterable
- Direct Known Subclasses:
EnumeratedType
public class StringValue extends Object implements IClusterable
Holds an immutable String value and optionally a Locale, with methods to convert to various types. Also provides some handy parsing methods and a variety of static factory methods.Objects can be constructed directly from Strings or by using the valueOf() static factory methods. The repeat() static factory methods provide a way of generating a String value that repeats a given char or String a number of times.
Conversions to a wide variety of types can be found in the to*() methods. A generic conversion can be achieved with to(Class).
The beforeFirst(), afterFirst(), beforeLast() and afterLast() methods are handy for parsing things like paths and filenames.
- Author:
- Jonathan Locke
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedStringValue(String text)Private constructor to force use of static factory methods.protectedStringValue(String text, Locale locale)Private constructor to force use of static factory methods.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description StringafterFirst(char c)Gets the substring after the first occurrence given char.StringafterLast(char c)Gets the substring after the last occurrence given char.StringbeforeFirst(char c)Gets the substring before the first occurrence given char.StringbeforeLast(char c)Gets the substring before the last occurrence given char.booleanequals(Object obj)inthashCode()booleanisEmpty()Returns whether the text is null or emptybooleanisNull()Returns whether the text is null.static StringValuerepeat(int times, char c)static StringValuerepeat(int times, String s)CharSequencereplaceAll(CharSequence searchFor, CharSequence replaceWith)Replaces on this text.<T> Tto(Class<T> type)Converts this StringValue to a given type.booleantoBoolean()Convert this text to a boolean.booleantoBoolean(boolean defaultValue)Convert to boolean, returning default value if text is inconvertible.BooleantoBooleanObject()Convert this text to a boolean.chartoChar()Convert this text to a char.chartoChar(char defaultValue)Convert to character, returning default value if text is inconvertible.CharactertoCharacter()Convert this text to a Character.doubletoDouble()Convert this text to a double.doubletoDouble(double defaultValue)Convert to double, returning default value if text is inconvertible.DoubletoDoubleObject()Convert this text to a Double.DurationtoDuration()Convert this text to a Duration instance.DurationtoDuration(Duration defaultValue)Convert to duration, returning default value if text is inconvertible.<T extends Enum<T>>
TtoEnum(Class<T> eClass)Convert this text to an enum.<T extends Enum<T>>
TtoEnum(Class<T> eClass, T defaultValue)Convert this text to an enum.<T extends Enum<T>>
TtoEnum(T defaultValue)Convert this text to an enum.InstanttoInstant()Convert this text to anInstantinstance.InstanttoInstant(Instant defaultValue)Convert toInstant, returning default value if text is inconvertible.inttoInt()Convert this text to an int.inttoInt(int defaultValue)Convert to integer, returning default value if text is inconvertible.IntegertoInteger()Convert this text to an Integer.longtoLong()Convert this text to a long.longtoLong(long defaultValue)Convert to long integer, returning default value if text is inconvertible.LongtoLongObject()Convert this text to a Long.<T> TtoOptional(Class<T> type)Converts this StringValue to a given type ornullif the value is empty.BooleantoOptionalBoolean()Convert to object types, returning null if text is null or empty.CharactertoOptionalCharacter()Convert to object types, returning null if text is null or empty.DoubletoOptionalDouble()Convert to object types, returning null if text is null or empty.DurationtoOptionalDuration()Convert to object types, returning null if text is null or empty.<T extends Enum<T>>
TtoOptionalEnum(Class<T> eClass)Convert to enum, returning null if text is null or empty.InstanttoOptionalInstant()Convert to object types, returning null if text is null or empty.IntegertoOptionalInteger()Convert to object types, returning null if text is null or empty.LongtoOptionalLong()Convert to object types, returning null if text is null or empty.StringtoOptionalString()Convert to object types, returning null if text is null.StringtoString()StringtoString(String defaultValue)Convert to primitive types, returning default value if text is null.static StringValuevalueOf(double value)Converts the given input to an instance of StringValue.static StringValuevalueOf(double value, int places, Locale locale)Converts the given input to an instance of StringValue.static StringValuevalueOf(double value, Locale locale)Converts the given input to an instance of StringValue.static StringValuevalueOf(Object object)Converts the given input to an instance of StringValue.static StringValuevalueOf(Object object, Locale locale)Converts the given input to an instance of StringValue.static StringValuevalueOf(String string)Converts the given input to an instance of StringValue.static StringValuevalueOf(String string, Locale locale)Converts the given input to an instance of StringValue.static StringValuevalueOf(AppendingStringBuffer buffer)Converts the given input to an instance of StringValue.
-
-
-
Constructor Detail
-
StringValue
protected StringValue(String text)
Private constructor to force use of static factory methods.- Parameters:
text- The text for this string value
-
StringValue
protected StringValue(String text, Locale locale)
Private constructor to force use of static factory methods.- Parameters:
text- The text for this string valuelocale- the locale for formatting and parsing
-
-
Method Detail
-
repeat
public static StringValue repeat(int times, char c)
- Parameters:
times- Number of times to repeat characterc- Character to repeat- Returns:
- Repeated character string
-
repeat
public static StringValue repeat(int times, String s)
- Parameters:
times- Number of times to repeat strings- String to repeat- Returns:
- Repeated character string
-
valueOf
public static StringValue valueOf(double value)
Converts the given input to an instance of StringValue.- Parameters:
value- Double precision value- Returns:
- String value formatted with one place after decimal
-
valueOf
public static StringValue valueOf(double value, int places, Locale locale)
Converts the given input to an instance of StringValue.- Parameters:
value- Double precision valueplaces- Number of places after decimallocale- Locale to be used for formatting- Returns:
- String value formatted with the given number of places after decimal
-
valueOf
public static StringValue valueOf(double value, Locale locale)
Converts the given input to an instance of StringValue.- Parameters:
value- Double precision valuelocale- Locale to be used for formatting- Returns:
- String value formatted with one place after decimal
-
valueOf
public static StringValue valueOf(Object object)
Converts the given input to an instance of StringValue.- Parameters:
object- An object- Returns:
- String value for object
-
valueOf
public static StringValue valueOf(Object object, Locale locale)
Converts the given input to an instance of StringValue.- Parameters:
object- An objectlocale- Locale to be used for formatting- Returns:
- String value for object
-
valueOf
public static StringValue valueOf(String string)
Converts the given input to an instance of StringValue.- Parameters:
string- A string- Returns:
- String value for string
-
valueOf
public static StringValue valueOf(String string, Locale locale)
Converts the given input to an instance of StringValue.- Parameters:
string- A stringlocale- Locale to be used for formatting- Returns:
- String value for string
-
valueOf
public static StringValue valueOf(AppendingStringBuffer buffer)
Converts the given input to an instance of StringValue.- Parameters:
buffer- A string buffer- Returns:
- String value
-
afterFirst
public final String afterFirst(char c)
Gets the substring after the first occurrence given char.- Parameters:
c- char to scan for- Returns:
- the substring
-
afterLast
public final String afterLast(char c)
Gets the substring after the last occurrence given char.- Parameters:
c- char to scan for- Returns:
- the substring
-
beforeFirst
public final String beforeFirst(char c)
Gets the substring before the first occurrence given char.- Parameters:
c- char to scan for- Returns:
- the substring
-
beforeLast
public final String beforeLast(char c)
Gets the substring before the last occurrence given char.- Parameters:
c- char to scan for- Returns:
- the substring
-
replaceAll
public final CharSequence replaceAll(CharSequence searchFor, CharSequence replaceWith)
Replaces on this text.- Parameters:
searchFor- What to search forreplaceWith- What to replace with- Returns:
- This string value with searchFor replaces with replaceWith
-
to
public final <T> T to(Class<T> type) throws StringValueConversionException
Converts this StringValue to a given type.- Parameters:
type- The type to convert to- Returns:
- The converted value
- Throws:
StringValueConversionException
-
toOptional
public final <T> T toOptional(Class<T> type) throws StringValueConversionException
Converts this StringValue to a given type ornullif the value is empty.- Parameters:
type- The type to convert to- Returns:
- The converted value
- Throws:
StringValueConversionException
-
toBoolean
public final boolean toBoolean() throws StringValueConversionException
Convert this text to a boolean.- Returns:
- This string value as a boolean
- Throws:
StringValueConversionException
-
toBoolean
public final boolean toBoolean(boolean defaultValue)
Convert to boolean, returning default value if text is inconvertible.- Parameters:
defaultValue- the default value- Returns:
- the converted text as a boolean or the default value if text is empty or inconvertible
- See Also:
Strings.isTrue(String)
-
toBooleanObject
public final Boolean toBooleanObject() throws StringValueConversionException
Convert this text to a boolean.- Returns:
- Converted text
- Throws:
StringValueConversionException
-
toChar
public final char toChar() throws StringValueConversionException
Convert this text to a char.- Returns:
- This string value as a character
- Throws:
StringValueConversionException
-
toChar
public final char toChar(char defaultValue)
Convert to character, returning default value if text is inconvertible.- Parameters:
defaultValue- the default value- Returns:
- the converted text as a primitive char or the default value if text is not a single character
-
toCharacter
public final Character toCharacter() throws StringValueConversionException
Convert this text to a Character.- Returns:
- Converted text
- Throws:
StringValueConversionException
-
toDouble
public final double toDouble() throws StringValueConversionException
Convert this text to a double.- Returns:
- Converted text
- Throws:
StringValueConversionException
-
toDouble
public final double toDouble(double defaultValue)
Convert to double, returning default value if text is inconvertible.- Parameters:
defaultValue- the default value- Returns:
- the converted text as a double or the default value if text is empty or inconvertible
-
toDoubleObject
public final Double toDoubleObject() throws StringValueConversionException
Convert this text to a Double.- Returns:
- Converted text
- Throws:
StringValueConversionException
-
toDuration
public final Duration toDuration() throws StringValueConversionException
Convert this text to a Duration instance.- Returns:
- Converted text
- Throws:
StringValueConversionException- See Also:
Duration.parse(CharSequence)
-
toDuration
public final Duration toDuration(Duration defaultValue)
Convert to duration, returning default value if text is inconvertible.- Parameters:
defaultValue- the default value- Returns:
- the converted text as a duration or the default value if text is empty or inconvertible
- See Also:
Duration.parse(CharSequence)
-
toInt
public final int toInt() throws StringValueConversionException
Convert this text to an int.- Returns:
- Converted text
- Throws:
StringValueConversionException
-
toInt
public final int toInt(int defaultValue)
Convert to integer, returning default value if text is inconvertible.- Parameters:
defaultValue- the default value- Returns:
- the converted text as an integer or the default value if text is not an integer
-
toInteger
public final Integer toInteger() throws StringValueConversionException
Convert this text to an Integer.- Returns:
- Converted text
- Throws:
StringValueConversionException
-
toLong
public final long toLong() throws StringValueConversionException
Convert this text to a long.- Returns:
- Converted text
- Throws:
StringValueConversionException
-
toLong
public final long toLong(long defaultValue)
Convert to long integer, returning default value if text is inconvertible.- Parameters:
defaultValue- the default value- Returns:
- the converted text as a long integer or the default value if text is empty or inconvertible
-
toLongObject
public final Long toLongObject() throws StringValueConversionException
Convert this text to a Long.- Returns:
- Converted text
- Throws:
StringValueConversionException
-
toOptionalBoolean
public final Boolean toOptionalBoolean() throws StringValueConversionException
Convert to object types, returning null if text is null or empty.- Returns:
- converted
- Throws:
StringValueConversionException
-
toOptionalCharacter
public final Character toOptionalCharacter() throws StringValueConversionException
Convert to object types, returning null if text is null or empty.- Returns:
- converted
- Throws:
StringValueConversionException
-
toOptionalDouble
public final Double toOptionalDouble() throws StringValueConversionException
Convert to object types, returning null if text is null or empty.- Returns:
- converted
- Throws:
StringValueConversionException
-
toOptionalDuration
public final Duration toOptionalDuration() throws StringValueConversionException
Convert to object types, returning null if text is null or empty.- Returns:
- converted
- Throws:
StringValueConversionException
-
toOptionalInteger
public final Integer toOptionalInteger() throws StringValueConversionException
Convert to object types, returning null if text is null or empty.- Returns:
- converted
- Throws:
StringValueConversionException
-
toOptionalLong
public final Long toOptionalLong() throws StringValueConversionException
Convert to object types, returning null if text is null or empty.- Returns:
- converted
- Throws:
StringValueConversionException
-
toOptionalString
public final String toOptionalString()
Convert to object types, returning null if text is null.- Returns:
- converted
-
toOptionalInstant
public final Instant toOptionalInstant() throws StringValueConversionException
Convert to object types, returning null if text is null or empty.- Returns:
- converted
- Throws:
StringValueConversionException
-
toString
public final String toString(String defaultValue)
Convert to primitive types, returning default value if text is null.- Parameters:
defaultValue- the default value to return of text is null- Returns:
- the converted text as a primitive or the default if text is null
-
toInstant
public final Instant toInstant() throws StringValueConversionException
Convert this text to anInstantinstance.- Returns:
- Converted text
- Throws:
StringValueConversionException
-
toInstant
public final Instant toInstant(Instant defaultValue)
Convert toInstant, returning default value if text is inconvertible.- Parameters:
defaultValue- the default value- Returns:
- the converted text as a
Instantor the default value if text is inconvertible.
-
toEnum
public final <T extends Enum<T>> T toEnum(Class<T> eClass) throws StringValueConversionException
Convert this text to an enum.- Parameters:
eClass- enum type- Returns:
- The value as an enum
- Throws:
StringValueConversionException
-
toEnum
public final <T extends Enum<T>> T toEnum(T defaultValue)
Convert this text to an enum.- Parameters:
defaultValue- This will be returned if there is an error converting the value- Returns:
- The value as an enum
-
toEnum
public final <T extends Enum<T>> T toEnum(Class<T> eClass, T defaultValue)
Convert this text to an enum.- Parameters:
eClass- enum typedefaultValue- This will be returned if there is an error converting the value- Returns:
- The value as an enum
-
toOptionalEnum
public final <T extends Enum<T>> T toOptionalEnum(Class<T> eClass) throws StringValueConversionException
Convert to enum, returning null if text is null or empty.- Parameters:
eClass- enum type- Returns:
- converted
- Throws:
StringValueConversionException
-
isNull
public boolean isNull()
Returns whether the text is null.- Returns:
trueif the text isnull,falseotherwise.
-
isEmpty
public boolean isEmpty()
Returns whether the text is null or empty- Returns:
trueif the text isnullor.trim().length()==0,falseotherwise.
-
-