You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Stephen Colebourne <sc...@btopenworld.com> on 2004/03/17 00:00:33 UTC
[lang] CharUtils names
toIntValue() is used because it extracts the ASCII int value of a char.
toInt() would just typecast char to int.
toCharacterObject() is chosen to be consistent with toBooleanObject(). I'm 0
to a change.
Stephen
----- Original Message -----
From: "Gary Gregory" <gg...@seagullsw.com>
I would like to address some naming inconsistencies WRT:
> Rename toCharacter to toChar
> Rename toInteger to toIntValue
> Add toCharacterObject(String)
IMHO, this name is correct:
char toChar(*)
since a char is returned.
but this name is not:
toIntValue(*)
and should really be:
toInt(*)
I believe the naming pattern should be:
toType(*)
Where Type is either a primitive type or class. In the case where you
can have both, as with "boolean" and "Boolean", you need a different
name but this does not have to be dealt with in this class.
Also, toCharacterObject(String) should really be toCharacter(String).
Ops?
Gary
> -----Original Message-----
> From: scolebourne@apache.org [mailto:scolebourne@apache.org]
> Sent: Wednesday, March 10, 2004 15:24
> To: jakarta-commons-cvs@apache.org
> Subject: cvs commit:
jakarta-commons/lang/src/test/org/apache/commons/lang
> CharUtilsTest.java
>
> scolebourne 2004/03/10 15:23:46
>
> Modified: lang/src/java/org/apache/commons/lang CharUtils.java
> lang/src/test/org/apache/commons/lang
CharUtilsTest.java
> Log:
> Rename toCharacter to toChar
> Rename toInteger to toIntValue
> Add toCharacterObject(String)
>
> Revision Changes Path
> 1.8 +63 -39 jakarta-
> commons/lang/src/java/org/apache/commons/lang/CharUtils.java
>
> Index: CharUtils.java
> ===================================================================
> RCS file: /home/cvs/jakarta-
> commons/lang/src/java/org/apache/commons/lang/CharUtils.java,v
> retrieving revision 1.7
> retrieving revision 1.8
> diff -u -r1.7 -r1.8
> --- CharUtils.java 10 Mar 2004 22:59:45 -0000 1.7
> +++ CharUtils.java 10 Mar 2004 23:23:46 -0000 1.8
> @@ -89,21 +89,45 @@
> }
> }
>
> + /**
> + * <p>Converts the String to a Character using the first
character,
> returning
> + * null for empty Strings.</p>
> + *
> + * <p>For ASCII 7 bit characters, this uses a cache that will
> return the
> + * same Character object each time.</p>
> + *
> + * <pre>
> + * CharUtils.toCharacterObject(null) = null
> + * CharUtils.toCharacterObject("") = null
> + * CharUtils.toCharacterObject("A") = 'A'
> + * CharUtils.toCharacterObject("BA") = 'B'
> + * </pre>
> + *
> + * @param str the character to convert
> + * @return the Character value of the first letter of the
String
> + */
> + public static Character toCharacterObject(String str) {
> + if (StringUtils.isEmpty(str)) {
> + return null;
> + }
> + return toCharacterObject(str.charAt(0));
> + }
> +
>
//-----------------------------------------------------------------
> ------
> /**
> * <p>Converts the Character to a char throwing an exception
for
> <code>null</code>.</p>
> *
> * <pre>
> - * CharUtils.toCharacter(null) = IllegalArgumentException
> - * CharUtils.toCharacter(' ') = ' '
> - * CharUtils.toCharacter('A') = 'A'
> + * CharUtils.toChar(null) = IllegalArgumentException
> + * CharUtils.toChar(' ') = ' '
> + * CharUtils.toChar('A') = 'A'
> * </pre>
> *
> * @param ch the character to convert
> * @return the char value of the Character
> * @throws IllegalArgumentException if the Character is null
> */
> - public static char toCharacter(Character ch) {
> + public static char toChar(Character ch) {
> if (ch == null) {
> throw new IllegalArgumentException("The Character must
not
> be null");
> }
> @@ -114,16 +138,16 @@
> * <p>Converts the Character to a char handling
> <code>null</code>.</p>
> *
> * <pre>
> - * CharUtils.toCharacter(null, 'X') = 'X'
> - * CharUtils.toCharacter(' ', 'X') = ' '
> - * CharUtils.toCharacter('A', 'X') = 'A'
> + * CharUtils.toChar(null, 'X') = 'X'
> + * CharUtils.toChar(' ', 'X') = ' '
> + * CharUtils.toChar('A', 'X') = 'A'
> * </pre>
> *
> * @param ch the character to convert
> * @param defaultValue the value to use if the Character is
null
> * @return the char value of the Character or the default if
null
> */
> - public static char toCharacter(Character ch, char defaultValue)
{
> + public static char toChar(Character ch, char defaultValue) {
> if (ch == null) {
> return defaultValue;
> }
> @@ -132,21 +156,21 @@
>
>
//-----------------------------------------------------------------
> ------
> /**
> - * <p>Converts the String to a char using the first character
> throwing
> + * <p>Converts the String to a char using the first character,
> throwing
> * an exception on empty Strings.</p>
> *
> * <pre>
> - * CharUtils.toCharacter(null) = IllegalArgumentException
> - * CharUtils.toCharacter("") = IllegalArgumentException
> - * CharUtils.toCharacter("A") = 'A'
> - * CharUtils.toCharacter("BA") = 'B'
> + * CharUtils.toChar(null) = IllegalArgumentException
> + * CharUtils.toChar("") = IllegalArgumentException
> + * CharUtils.toChar("A") = 'A'
> + * CharUtils.toChar("BA") = 'B'
> * </pre>
> *
> * @param str the character to convert
> - * @return the char value of the Character
> + * @return the char value of the first letter of the String
> * @throws IllegalArgumentException if the String is empty
> */
> - public static char toCharacter(String str) {
> + public static char toChar(String str) {
> if (StringUtils.isEmpty(str)) {
> throw new IllegalArgumentException("The String must not
be
> empty");
> }
> @@ -154,21 +178,21 @@
> }
>
> /**
> - * <p>Converts the String to a char using the first character
> defaulting
> + * <p>Converts the String to a char using the first character,
> defaulting
> * the value on empty Strings.</p>
> *
> * <pre>
> - * CharUtils.toCharacter(null, 'X') = 'X'
> - * CharUtils.toCharacter("", 'X') = 'X'
> - * CharUtils.toCharacter("A", 'X') = 'A'
> - * CharUtils.toCharacter("BA", 'X') = 'B'
> + * CharUtils.toChar(null, 'X') = 'X'
> + * CharUtils.toChar("", 'X') = 'X'
> + * CharUtils.toChar("A", 'X') = 'A'
> + * CharUtils.toChar("BA", 'X') = 'B'
> * </pre>
> *
> * @param str the character to convert
> * @param defaultValue the value to use if the Character is
null
> - * @return the char value of the Character or the default if
null
> + * @return the char value of the first letter of the String or
the
> default if null
> */
> - public static char toCharacter(String str, char defaultValue) {
> + public static char toChar(String str, char defaultValue) {
> if (StringUtils.isEmpty(str)) {
> return defaultValue;
> }
> @@ -183,15 +207,15 @@
> * <p>This method coverts the char '1' to the int 1 and so
on.</p>
> *
> * <pre>
> - * CharUtils.toInteger('3') = 3
> - * CharUtils.toInteger('A') = IllegalArgumentException
> + * CharUtils.toIntValue('3') = 3
> + * CharUtils.toIntValue('A') = IllegalArgumentException
> * </pre>
> *
> * @param ch the character to convert
> * @return the int value of the character
> * @throws IllegalArgumentException if the character is not
ASCII
> numeric
> */
> - public static int toInteger(char ch) {
> + public static int toIntValue(char ch) {
> if (isAsciiNumeric(ch) == false) {
> throw new IllegalArgumentException("The character " +
ch +
> " is not in the range '0' - '9'");
> }
> @@ -205,15 +229,15 @@
> * <p>This method coverts the char '1' to the int 1 and so
on.</p>
> *
> * <pre>
> - * CharUtils.toInteger('3', -1) = 3
> - * CharUtils.toInteger('A', -1) = -1
> + * CharUtils.toIntValue('3', -1) = 3
> + * CharUtils.toIntValue('A', -1) = -1
> * </pre>
> *
> * @param ch the character to convert
> * @param defaultValue the default value to use if the
character
> is not numeric
> * @return the int value of the character
> */
> - public static int toInteger(char ch, int defaultValue) {
> + public static int toIntValue(char ch, int defaultValue) {
> if (isAsciiNumeric(ch) == false) {
> return defaultValue;
> }
> @@ -227,20 +251,20 @@
> * <p>This method coverts the char '1' to the int 1 and so
on.</p>
> *
> * <pre>
> - * CharUtils.toInteger(null) = IllegalArgumentException
> - * CharUtils.toInteger('3') = 3
> - * CharUtils.toInteger('A') = IllegalArgumentException
> + * CharUtils.toIntValue(null) = IllegalArgumentException
> + * CharUtils.toIntValue('3') = 3
> + * CharUtils.toIntValue('A') = IllegalArgumentException
> * </pre>
> *
> * @param ch the character to convert, not null
> * @return the int value of the character
> * @throws IllegalArgumentException if the Character is not
ASCII
> numeric or is null
> */
> - public static int toInteger(Character ch) {
> + public static int toIntValue(Character ch) {
> if (ch == null) {
> throw new IllegalArgumentException("The character must
not
> be null");
> }
> - return toInteger(ch.charValue());
> + return toIntValue(ch.charValue());
> }
>
> /**
> @@ -250,20 +274,20 @@
> * <p>This method coverts the char '1' to the int 1 and so
on.</p>
> *
> * <pre>
> - * CharUtils.toInteger(null, -1) = -1
> - * CharUtils.toInteger('3', -1) = 3
> - * CharUtils.toInteger('A', -1) = -1
> + * CharUtils.toIntValue(null, -1) = -1
> + * CharUtils.toIntValue('3', -1) = 3
> + * CharUtils.toIntValue('A', -1) = -1
> * </pre>
> *
> * @param ch the character to convert
> * @param defaultValue the default value to use if the
character
> is not numeric
> * @return the int value of the character
> */
> - public static int toInteger(Character ch, int defaultValue) {
> + public static int toIntValue(Character ch, int defaultValue) {
> if (ch == null) {
> return defaultValue;
> }
> - return toInteger(ch.charValue(), defaultValue);
> + return toIntValue(ch.charValue(), defaultValue);
> }
>
>
//-----------------------------------------------------------------
> ------
>
>
>
> 1.4 +54 -45 jakarta-
> commons/lang/src/test/org/apache/commons/lang/CharUtilsTest.java
>
> Index: CharUtilsTest.java
> ===================================================================
> RCS file: /home/cvs/jakarta-
> commons/lang/src/test/org/apache/commons/lang/CharUtilsTest.java,v
> retrieving revision 1.3
> retrieving revision 1.4
> diff -u -r1.3 -r1.4
> --- CharUtilsTest.java 24 Feb 2004 22:22:51 -0000 1.3
> +++ CharUtilsTest.java 10 Mar 2004 23:23:46 -0000 1.4
> @@ -88,80 +88,89 @@
> }
> }
>
> + public void testToCharacterObject_String() {
> + assertEquals(null, CharUtils.toCharacterObject(null));
> + assertEquals(null, CharUtils.toCharacterObject(""));
> + assertEquals(new Character('a'),
> CharUtils.toCharacterObject("a"));
> + assertEquals(new Character('a'),
> CharUtils.toCharacterObject("abc"));
> + assertSame(CharUtils.toCharacterObject("a"),
> CharUtils.toCharacterObject("a"));
> + assertSame(CharUtils.toCharacterObject("a"),
> CharUtils.toCharacterObject('a'));
> + }
> +
>
//-----------------------------------------------------------------
> ------
> - public void testToCharacter_Character() {
> - assertEquals('A', CharUtils.toCharacter(CHARACTER_A));
> - assertEquals('B', CharUtils.toCharacter(CHARACTER_B));
> + public void testToChar_Character() {
> + assertEquals('A', CharUtils.toChar(CHARACTER_A));
> + assertEquals('B', CharUtils.toChar(CHARACTER_B));
> try {
> - CharUtils.toCharacter((Character) null);
> + CharUtils.toChar((Character) null);
> } catch (IllegalArgumentException ex) {}
> }
>
> - public void testToCharacter_Character_char() {
> - assertEquals('A', CharUtils.toCharacter(CHARACTER_A, 'X'));
> - assertEquals('B', CharUtils.toCharacter(CHARACTER_B, 'X'));
> - assertEquals('X', CharUtils.toCharacter((Character) null,
> 'X'));
> + public void testToChar_Character_char() {
> + assertEquals('A', CharUtils.toChar(CHARACTER_A, 'X'));
> + assertEquals('B', CharUtils.toChar(CHARACTER_B, 'X'));
> + assertEquals('X', CharUtils.toChar((Character) null, 'X'));
> }
>
>
//-----------------------------------------------------------------
> ------
> - public void testToCharacter_String() {
> - assertEquals('A', CharUtils.toCharacter("A"));
> - assertEquals('B', CharUtils.toCharacter("BA"));
> + public void testToChar_String() {
> + assertEquals('A', CharUtils.toChar("A"));
> + assertEquals('B', CharUtils.toChar("BA"));
> try {
> - CharUtils.toCharacter((String) null);
> + CharUtils.toChar((String) null);
> } catch (IllegalArgumentException ex) {}
> try {
> - CharUtils.toCharacter("");
> + CharUtils.toChar("");
> } catch (IllegalArgumentException ex) {}
> }
>
> - public void testToCharacter_String_char() {
> - assertEquals('A', CharUtils.toCharacter("A", 'X'));
> - assertEquals('B', CharUtils.toCharacter("BA", 'X'));
> - assertEquals('X', CharUtils.toCharacter("", 'X'));
> - assertEquals('X', CharUtils.toCharacter((String) null,
'X'));
> + public void testToChar_String_char() {
> + assertEquals('A', CharUtils.toChar("A", 'X'));
> + assertEquals('B', CharUtils.toChar("BA", 'X'));
> + assertEquals('X', CharUtils.toChar("", 'X'));
> + assertEquals('X', CharUtils.toChar((String) null, 'X'));
> }
>
>
//-----------------------------------------------------------------
> ------
> - public void testToInteger_char() {
> - assertEquals(0, CharUtils.toInteger('0'));
> - assertEquals(1, CharUtils.toInteger('1'));
> - assertEquals(2, CharUtils.toInteger('2'));
> - assertEquals(3, CharUtils.toInteger('3'));
> - assertEquals(4, CharUtils.toInteger('4'));
> - assertEquals(5, CharUtils.toInteger('5'));
> - assertEquals(6, CharUtils.toInteger('6'));
> - assertEquals(7, CharUtils.toInteger('7'));
> - assertEquals(8, CharUtils.toInteger('8'));
> - assertEquals(9, CharUtils.toInteger('9'));
> - try {
> - CharUtils.toInteger('a');
> + public void testToIntValue_char() {
> + assertEquals(0, CharUtils.toIntValue('0'));
> + assertEquals(1, CharUtils.toIntValue('1'));
> + assertEquals(2, CharUtils.toIntValue('2'));
> + assertEquals(3, CharUtils.toIntValue('3'));
> + assertEquals(4, CharUtils.toIntValue('4'));
> + assertEquals(5, CharUtils.toIntValue('5'));
> + assertEquals(6, CharUtils.toIntValue('6'));
> + assertEquals(7, CharUtils.toIntValue('7'));
> + assertEquals(8, CharUtils.toIntValue('8'));
> + assertEquals(9, CharUtils.toIntValue('9'));
> + try {
> + CharUtils.toIntValue('a');
> } catch (IllegalArgumentException ex) {}
> }
>
> - public void testToInteger_char_int() {
> - assertEquals(0, CharUtils.toInteger('0', -1));
> - assertEquals(3, CharUtils.toInteger('3', -1));
> - assertEquals(-1, CharUtils.toInteger('a', -1));
> + public void testToIntValue_char_int() {
> + assertEquals(0, CharUtils.toIntValue('0', -1));
> + assertEquals(3, CharUtils.toIntValue('3', -1));
> + assertEquals(-1, CharUtils.toIntValue('a', -1));
> }
>
>
//-----------------------------------------------------------------
> ------
> - public void testToInteger_Character() {
> - assertEquals(0, CharUtils.toInteger(new Character('0')));
> - assertEquals(3, CharUtils.toInteger(new Character('3')));
> + public void testToIntValue_Character() {
> + assertEquals(0, CharUtils.toIntValue(new Character('0')));
> + assertEquals(3, CharUtils.toIntValue(new Character('3')));
> try {
> - CharUtils.toInteger(null);
> + CharUtils.toIntValue(null);
> } catch (IllegalArgumentException ex) {}
> try {
> - CharUtils.toInteger(CHARACTER_A);
> + CharUtils.toIntValue(CHARACTER_A);
> } catch (IllegalArgumentException ex) {}
> }
>
> - public void testToInteger_Character_int() {
> - assertEquals(0, CharUtils.toInteger(new Character('0'),
-1));
> - assertEquals(3, CharUtils.toInteger(new Character('3'),
-1));
> - assertEquals(-1, CharUtils.toInteger(new Character('A'),
-1));
> - assertEquals(-1, CharUtils.toInteger(null, -1));
> + public void testToIntValue_Character_int() {
> + assertEquals(0, CharUtils.toIntValue(new Character('0'),
-1));
> + assertEquals(3, CharUtils.toIntValue(new Character('3'),
-1));
> + assertEquals(-1, CharUtils.toIntValue(new Character('A'),
-1));
> + assertEquals(-1, CharUtils.toIntValue(null, -1));
> }
>
>
//-----------------------------------------------------------------
> ------
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-dev-help@jakarta.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org