This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch 1.X
in repository https://gitbox.apache.org/repos/asf/commons-beanutils.git
The following commit(s) were added to refs/heads/1.X by this push:
new 8336ca94 Use Objects.requireNonNull()
8336ca94 is described below
commit 8336ca948eed1bd2d0f0df255d29d898ffbc3ba6
Author: Gary D. Gregory <[email protected]>
AuthorDate: Thu Dec 26 14:01:59 2024 -0500
Use Objects.requireNonNull()
---
.../apache/commons/beanutils/BasicDynaBean.java | 59 +++++-----------------
.../commons/beanutils/ResultSetDynaClass.java | 7 +--
.../apache/commons/beanutils/RowSetDynaClass.java | 9 ++--
.../converters/AbstractArrayConverter.java | 29 +++--------
4 files changed, 27 insertions(+), 77 deletions(-)
diff --git a/src/main/java/org/apache/commons/beanutils/BasicDynaBean.java
b/src/main/java/org/apache/commons/beanutils/BasicDynaBean.java
index 031e5efe..92e929d6 100644
--- a/src/main/java/org/apache/commons/beanutils/BasicDynaBean.java
+++ b/src/main/java/org/apache/commons/beanutils/BasicDynaBean.java
@@ -22,6 +22,7 @@ import java.lang.reflect.Array;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
/**
* <p>Minimal implementation of the <code>DynaBean</code> interface. Can be
@@ -80,18 +81,12 @@ public class BasicDynaBean implements DynaBean,
Serializable {
*/
@Override
public boolean contains(final String name, final String key) {
-
final Object value = values.get(name);
- if (value == null) {
- throw new NullPointerException
- ("No mapped value for '" + name + "(" + key + ")'");
- }
+ Objects.requireNonNull(value, () -> "No mapped value for '" + name +
"(" + key + ")'");
if (value instanceof Map) {
return ((Map<?, ?>) value).containsKey(key);
}
- throw new IllegalArgumentException
- ("Non-mapped property for '" + name + "(" + key + ")'");
-
+ throw new IllegalArgumentException("Non-mapped property for '" + name
+ "(" + key + ")'");
}
/**
@@ -162,21 +157,15 @@ public class BasicDynaBean implements DynaBean,
Serializable {
*/
@Override
public Object get(final String name, final int index) {
-
final Object value = values.get(name);
- if (value == null) {
- throw new NullPointerException
- ("No indexed value for '" + name + "[" + index + "]'");
- }
+ Objects.requireNonNull(value, () -> "No indexed value for '" + name +
"[" + index + "]'");
if (value.getClass().isArray()) {
return Array.get(value, index);
}
if (value instanceof List) {
return ((List<?>) value).get(index);
}
- throw new IllegalArgumentException
- ("Non-indexed property for '" + name + "[" + index + "]'");
-
+ throw new IllegalArgumentException("Non-indexed property for '" + name
+ "[" + index + "]'");
}
/**
@@ -193,18 +182,12 @@ public class BasicDynaBean implements DynaBean,
Serializable {
*/
@Override
public Object get(final String name, final String key) {
-
final Object value = values.get(name);
- if (value == null) {
- throw new NullPointerException
- ("No mapped value for '" + name + "(" + key + ")'");
- }
+ Objects.requireNonNull(value, () -> "No mapped value for '" + name +
"(" + key + ")'");
if (value instanceof Map) {
return ((Map<?, ?>) value).get(key);
}
- throw new IllegalArgumentException
- ("Non-mapped property for '" + name + "(" + key + ")'");
-
+ throw new IllegalArgumentException("Non-mapped property for '" + name
+ "(" + key + ")'");
}
/**
@@ -297,18 +280,12 @@ public class BasicDynaBean implements DynaBean,
Serializable {
*/
@Override
public void remove(final String name, final String key) {
-
final Object value = values.get(name);
- if (value == null) {
- throw new NullPointerException
- ("No mapped value for '" + name + "(" + key + ")'");
- }
+ Objects.requireNonNull(value, () -> "No mapped value for '" + name +
"(" + key + ")'");
if (!(value instanceof Map)) {
- throw new IllegalArgumentException
- ("Non-mapped property for '" + name + "(" + key + ")'");
+ throw new IllegalArgumentException("Non-mapped property for '" +
name + "(" + key + ")'");
}
((Map<?, ?>) value).remove(key);
-
}
/**
@@ -330,10 +307,7 @@ public class BasicDynaBean implements DynaBean,
Serializable {
public void set(final String name, final int index, final Object value) {
final Object prop = values.get(name);
- if (prop == null) {
- throw new NullPointerException
- ("No indexed value for '" + name + "[" + index + "]'");
- }
+ Objects.requireNonNull(prop, () -> "No indexed value for '" + name +
"[" + index + "]'");
if (prop.getClass().isArray()) {
Array.set(prop, index, value);
} else if (prop instanceof List) {
@@ -401,23 +375,18 @@ public class BasicDynaBean implements DynaBean,
Serializable {
*/
@Override
public void set(final String name, final String key, final Object value) {
-
final Object prop = values.get(name);
- if (prop == null) {
- throw new NullPointerException
- ("No mapped value for '" + name + "(" + key + ")'");
- }
+ Objects.requireNonNull(prop, () -> "No mapped value for '" + name +
"(" + key + ")'");
if (!(prop instanceof Map)) {
throw new IllegalArgumentException
("Non-mapped property for '" + name + "(" + key + ")'");
}
- @SuppressWarnings("unchecked")
- final
// This is safe to cast because mapped properties are always
// maps of types String -> Object
- Map<String, Object> map = (Map<String, Object>) prop;
+ @SuppressWarnings("unchecked")
+ final Map<String, Object> map = (Map<String, Object>) prop;
map.put(key, value);
-
}
}
+
diff --git a/src/main/java/org/apache/commons/beanutils/ResultSetDynaClass.java
b/src/main/java/org/apache/commons/beanutils/ResultSetDynaClass.java
index 9ba2a206..ca7e2692 100644
--- a/src/main/java/org/apache/commons/beanutils/ResultSetDynaClass.java
+++ b/src/main/java/org/apache/commons/beanutils/ResultSetDynaClass.java
@@ -20,6 +20,7 @@ package org.apache.commons.beanutils;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Iterator;
+import java.util.Objects;
/**
* <p>Implements <code>DynaClass</code> for DynaBeans that wrap the
@@ -153,11 +154,7 @@ public class ResultSetDynaClass extends JDBCDynaClass {
*/
public ResultSetDynaClass(final ResultSet resultSet, final boolean
lowerCase, final boolean useColumnLabel)
throws SQLException {
-
- if (resultSet == null) {
- throw new NullPointerException();
- }
- this.resultSet = resultSet;
+ this.resultSet = Objects.requireNonNull(resultSet, "resultSet");
this.lowerCase = lowerCase;
setUseColumnLabel(useColumnLabel);
introspect(resultSet);
diff --git a/src/main/java/org/apache/commons/beanutils/RowSetDynaClass.java
b/src/main/java/org/apache/commons/beanutils/RowSetDynaClass.java
index ecde68f5..b147508a 100644
--- a/src/main/java/org/apache/commons/beanutils/RowSetDynaClass.java
+++ b/src/main/java/org/apache/commons/beanutils/RowSetDynaClass.java
@@ -21,6 +21,7 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
+import java.util.Objects;
/**
* <p>Implements {@link DynaClass} to create an in-memory collection
@@ -198,17 +199,13 @@ public class RowSetDynaClass extends JDBCDynaClass {
* @since 1.8.3
*/
public RowSetDynaClass(final ResultSet resultSet, final boolean lowerCase,
final int limit, final boolean useColumnLabel)
- throws
SQLException {
-
- if (resultSet == null) {
- throw new NullPointerException();
- }
+ throws SQLException {
+ Objects.requireNonNull(resultSet, "resultSet");
this.lowerCase = lowerCase;
this.limit = limit;
setUseColumnLabel(useColumnLabel);
introspect(resultSet);
copy(resultSet);
-
}
/**
diff --git
a/src/main/java/org/apache/commons/beanutils/converters/AbstractArrayConverter.java
b/src/main/java/org/apache/commons/beanutils/converters/AbstractArrayConverter.java
index 96dbe01f..1ffb3572 100644
---
a/src/main/java/org/apache/commons/beanutils/converters/AbstractArrayConverter.java
+++
b/src/main/java/org/apache/commons/beanutils/converters/AbstractArrayConverter.java
@@ -22,6 +22,7 @@ import java.io.StreamTokenizer;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;
+import java.util.Objects;
import org.apache.commons.beanutils.ConversionException;
import org.apache.commons.beanutils.Converter;
@@ -135,55 +136,41 @@ public abstract class AbstractArrayConverter implements
Converter {
* is <code>null</code>
*/
protected List<String> parseElements(String svalue) {
-
// Validate the passed argument
- if (svalue == null) {
- throw new NullPointerException();
- }
-
+ Objects.requireNonNull(svalue, "svalue");
// Trim any matching '{' and '}' delimiters
svalue = svalue.trim();
if (svalue.startsWith("{") && svalue.endsWith("}")) {
svalue = svalue.substring(1, svalue.length() - 1);
}
-
try {
// Set up a StreamTokenizer on the characters in this String
- final StreamTokenizer st =
- new StreamTokenizer(new StringReader(svalue));
- st.whitespaceChars(',',','); // Commas are delimiters
- st.ordinaryChars('0', '9'); // Needed to turn off numeric flag
+ final StreamTokenizer st = new StreamTokenizer(new
StringReader(svalue));
+ st.whitespaceChars(',', ','); // Commas are delimiters
+ st.ordinaryChars('0', '9'); // Needed to turn off numeric flag
st.ordinaryChars('.', '.');
st.ordinaryChars('-', '-');
- st.wordChars('0', '9'); // Needed to make part of tokens
+ st.wordChars('0', '9'); // Needed to make part of tokens
st.wordChars('.', '.');
st.wordChars('-', '-');
-
// Split comma-delimited tokens into a List
final ArrayList<String> list = new ArrayList<>();
while (true) {
final int ttype = st.nextToken();
- if (ttype == StreamTokenizer.TT_WORD ||
- ttype > 0) {
+ if (ttype == StreamTokenizer.TT_WORD || ttype > 0) {
list.add(st.sval);
} else if (ttype == StreamTokenizer.TT_EOF) {
break;
} else {
- throw new ConversionException
- ("Encountered token of type " + ttype);
+ throw new ConversionException("Encountered token of type "
+ ttype);
}
}
-
// Return the completed list
return list;
-
} catch (final IOException e) {
-
throw new ConversionException(e);
-
}
-
}
}