This is an automated email from the ASF dual-hosted git repository.
jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git
The following commit(s) were added to refs/heads/master by this push:
new e3c2bdf Clean up ExceptionUtils.
e3c2bdf is described below
commit e3c2bdfbbd51586252f67fe592c556db993e1741
Author: JamesBognar <[email protected]>
AuthorDate: Wed Apr 21 17:06:50 2021 -0400
Clean up ExceptionUtils.
---
.../java/org/apache/juneau/BasicException.java | 2 +-
.../juneau/BasicIllegalArgumentException.java | 72 ----------------------
.../main/java/org/apache/juneau/BeanSession.java | 5 +-
.../org/apache/juneau/assertions/Assertions.java | 21 +++++--
.../org/apache/juneau/http/header/EntityTag.java | 9 ++-
.../org/apache/juneau/http/header/HeaderList.java | 4 +-
.../apache/juneau/http/part/BasicIntegerPart.java | 4 +-
.../org/apache/juneau/http/part/BasicLongPart.java | 4 +-
.../java/org/apache/juneau/http/part/PartList.java | 4 +-
.../org/apache/juneau/internal/ExceptionUtils.java | 21 +++++++
.../java/org/apache/juneau/internal/SimpleMap.java | 13 ++--
.../org/apache/juneau/internal/StringUtils.java | 5 +-
.../org/apache/juneau/internal/ThrowableUtils.java | 15 -----
.../java/org/apache/juneau/reflect/ClassInfo.java | 16 +++--
.../main/java/org/apache/juneau/svl/MapVar.java | 6 +-
.../src/main/java/org/apache/juneau/svl/Var.java | 13 ++--
.../java/org/apache/juneau/svl/vars/IfVar.java | 6 +-
.../java/org/apache/juneau/svl/vars/LenVar.java | 6 +-
.../apache/juneau/svl/vars/PatternExtractVar.java | 6 +-
.../apache/juneau/svl/vars/PatternMatchVar.java | 6 +-
.../apache/juneau/svl/vars/PatternReplaceVar.java | 6 +-
.../org/apache/juneau/svl/vars/SubstringVar.java | 7 +--
.../java/org/apache/juneau/svl/vars/SwitchVar.java | 9 +--
.../org/apache/juneau/http/EntityTag_Test.java | 2 +-
.../apache/juneau/reflection/ClassInfoTest.java | 2 +-
25 files changed, 87 insertions(+), 177 deletions(-)
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BasicException.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BasicException.java
index 39343bc..b60f5d7 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BasicException.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BasicException.java
@@ -21,7 +21,7 @@ import org.apache.juneau.internal.*;
/**
* Subclass of non-runtime exceptions that take in a message and zero or more
arguments.
*/
-public class BasicException extends Exception {
+public abstract class BasicException extends Exception {
private static final long serialVersionUID = 1L;
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BasicIllegalArgumentException.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BasicIllegalArgumentException.java
deleted file mode 100644
index 08b408d..0000000
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BasicIllegalArgumentException.java
+++ /dev/null
@@ -1,72 +0,0 @@
-//
***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file *
-// * distributed with this work for additional information regarding copyright
ownership. The ASF licenses this file *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance *
-// * with the License. You may obtain a copy of the License at
*
-// *
*
-// * http://www.apache.org/licenses/LICENSE-2.0
*
-// *
*
-// * Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
express or implied. See the License for the *
-// * specific language governing permissions and limitations under the
License. *
-//
***************************************************************************************************************************
-package org.apache.juneau;
-
-import static org.apache.juneau.internal.StringUtils.*;
-
-import java.text.*;
-
-import org.apache.juneau.internal.*;
-import org.apache.juneau.reflect.*;
-
-/**
- * Subclass of illegal-argument exceptions that take in a message and zero or
more arguments.
- */
-public class BasicIllegalArgumentException extends IllegalArgumentException {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * Constructor.
- *
- * @param message The {@link MessageFormat}-style message.
- * @param args Optional {@link MessageFormat}-style arguments.
- */
- public BasicIllegalArgumentException(String message, Object...args) {
- super(format(message, args));
- }
-
- /**
- * Constructor.
- *
- * @param causedBy The cause of this exception.
- * @param message The {@link MessageFormat}-style message.
- * @param args Optional {@link MessageFormat}-style arguments.
- */
- public BasicIllegalArgumentException(Throwable causedBy, String
message, Object...args) {
- this(message, args);
- initCause(causedBy);
- }
-
- /**
- * Throws a {@link BasicIllegalArgumentException} if the specified
method does not only contain args of the specified types.
- *
- * @param m The method to check.
- * @param args The allowed args.
- */
- public static void assertArgsOnlyOfType(MethodInfo m, Class<?>...args) {
- if (! m.argsOnlyOfType(args))
- throw new BasicIllegalArgumentException("Invalid
arguments passed to method {0}. Only arguments of type {1} are allowed.", m,
args);
- }
-
- /**
- * Same as {@link #getCause()} but searches the throwable chain for an
exception of the specified type.
- *
- * @param c The throwable type to search for.
- * @param <T> The throwable type to search for.
- * @return The exception, or <jk>null</jk> if not found.
- */
- public <T extends Throwable> T getCause(Class<T> c) {
- return ThrowableUtils.getCause(c, this);
- }
-}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
index 758caac..32a7116 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
@@ -13,7 +13,6 @@
package org.apache.juneau;
import static org.apache.juneau.internal.StringUtils.*;
-import static org.apache.juneau.internal.ThrowableUtils.*;
import static org.apache.juneau.assertions.Assertions.*;
import static org.apache.juneau.internal.ClassUtils.*;
import static org.apache.juneau.internal.IOUtils.*;
@@ -833,9 +832,7 @@ public class BeanSession extends Session {
public final <T> BeanMap<T> toBeanMap(T o, Class<? super T> c) throws
BeanRuntimeException {
assertArgNotNull("o", o);
assertArgNotNull("c", c);
-
- if (! c.isInstance(o))
- illegalArg("The specified object is not an instance of
the specified class. class=''{0}'', objectClass=''{1}'', object=''{2}''",
className(c), className(o), 0);
+ assertArg(c.isInstance(o), "The specified object is not an
instance of the specified class. class=''{0}'', objectClass=''{1}'',
object=''{2}''", className(c), className(o), 0);
ClassMeta cm = getClassMeta(c);
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/Assertions.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/Assertions.java
index 02576b3..cca32e6 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/Assertions.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/Assertions.java
@@ -12,6 +12,7 @@
//
***************************************************************************************************************************
package org.apache.juneau.assertions;
+import static org.apache.juneau.internal.ExceptionUtils.*;
import static org.apache.juneau.internal.IOUtils.*;
import java.io.*;
@@ -577,14 +578,26 @@ public class Assertions {
* Throws an {@link IllegalArgumentException} if the specified argument
is <jk>null</jk>.
*
* @param <T> The argument data type.
- * @param arg The argument name.
+ * @param name The argument name.
* @param o The object to check.
* @return The same argument.
* @throws IllegalArgumentException Constructed exception.
*/
- public static final <T> T assertArgNotNull(String arg, T o) throws
IllegalArgumentException {
- if (o == null)
- throw new BasicIllegalArgumentException("Argument
''{0}'' cannot be null", arg);
+ public static final <T> T assertArgNotNull(String name, T o) throws
IllegalArgumentException {
+ assertArg(o != null, "Argument ''{0}'' cannot be null", name);
return o;
}
+
+ /**
+ * Throws an {@link IllegalArgumentException} if the specified
expression is <jk>false</jk>.
+ *
+ * @param expression The boolean expression to check.
+ * @param msg The exception message.
+ * @param args The exception message args.
+ * @throws IllegalArgumentException Constructed exception.
+ */
+ public static final void assertArg(boolean expression, String msg,
Object...args) throws IllegalArgumentException {
+ if (! expression)
+ throw illegalArgumentException(msg, args);
+ }
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/EntityTag.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/EntityTag.java
index f386a36..c04be39 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/EntityTag.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/EntityTag.java
@@ -13,10 +13,10 @@
package org.apache.juneau.http.header;
import static org.apache.juneau.internal.StringUtils.*;
+import static org.apache.juneau.assertions.Assertions.*;
+import static org.apache.juneau.internal.ExceptionUtils.*;
import static org.apache.juneau.internal.ObjectUtils.*;
-import org.apache.juneau.*;
-
/**
* Represents a validator value.
*
@@ -55,8 +55,7 @@ public class EntityTag {
* @throws IllegalArgumentException If attempting to set an invalid
entity tag value.
*/
public EntityTag(String value) {
- if (value == null)
- throw new BasicIllegalArgumentException("Invalid value
for entity-tag: [null]");
+ assertArgNotNull("value", value);
value = trim(emptyIfNull(value));
isWeak = value.startsWith("W/");
@@ -68,7 +67,7 @@ public class EntityTag {
if (value.length() > 1 && value.charAt(0) == '"' &&
value.charAt(value.length()-1) == '"')
value = value.substring(1, value.length()-1);
else
- throw new
BasicIllegalArgumentException("Invalid value for entity-tag: [{0}]", isWeak ?
("W/"+value) : value);
+ throw illegalArgumentException("Invalid value
for entity-tag: [{0}]", isWeak ? ("W/"+value) : value);
}
this.value = value;
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/HeaderList.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/HeaderList.java
index c33411f..4e6abdb 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/HeaderList.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/HeaderList.java
@@ -21,7 +21,6 @@ import java.util.stream.*;
import org.apache.http.*;
import org.apache.http.util.*;
-import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
import org.apache.juneau.http.HttpHeaders;
import org.apache.juneau.internal.*;
@@ -428,8 +427,7 @@ public class HeaderList {
assertArgNotNull("type", type);
String name = HeaderBeanMeta.of(type).getSchema().getName();
- if (name == null)
- throw new BasicIllegalArgumentException("Header name
could not be found on bean type ''{0}''", type.getName());
+ assertArg(name != null, "Header name could not be found on bean
type ''{0}''", type.getName());
return get(name, type);
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/part/BasicIntegerPart.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/part/BasicIntegerPart.java
index e254b05..3673fe3 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/part/BasicIntegerPart.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/part/BasicIntegerPart.java
@@ -12,6 +12,7 @@
//
***************************************************************************************************************************
package org.apache.juneau.http.part;
+import static org.apache.juneau.internal.ExceptionUtils.*;
import static org.apache.juneau.internal.StringUtils.*;
import static java.util.Optional.*;
@@ -19,7 +20,6 @@ import java.util.*;
import java.util.function.*;
import org.apache.http.*;
-import org.apache.juneau.*;
import org.apache.juneau.assertions.*;
/**
@@ -136,7 +136,7 @@ public class BasicIntegerPart extends BasicPart {
Long.parseLong(s);
return Integer.MAX_VALUE;
} catch (NumberFormatException e2) {
- throw new BasicIllegalArgumentException("Value
could not be parsed as an int: {0}", o);
+ throw illegalArgumentException("Value could not
be parsed as an int: {0}", o);
}
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/part/BasicLongPart.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/part/BasicLongPart.java
index 49a19db..fa67e97 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/part/BasicLongPart.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/part/BasicLongPart.java
@@ -12,6 +12,7 @@
//
***************************************************************************************************************************
package org.apache.juneau.http.part;
+import static org.apache.juneau.internal.ExceptionUtils.*;
import static org.apache.juneau.internal.StringUtils.*;
import static java.util.Optional.*;
@@ -19,7 +20,6 @@ import java.util.*;
import java.util.function.*;
import org.apache.http.*;
-import org.apache.juneau.*;
import org.apache.juneau.assertions.*;
/**
@@ -130,7 +130,7 @@ public class BasicLongPart extends BasicPart {
try {
return Long.parseLong(s);
} catch (NumberFormatException e) {
- throw new BasicIllegalArgumentException("Value could
not be parsed as a long: {0}", o);
+ throw illegalArgumentException("Value could not be
parsed as a long: {0}", o);
}
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/part/PartList.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/part/PartList.java
index a0f9ef4..fcb37bc 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/part/PartList.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/part/PartList.java
@@ -22,7 +22,6 @@ import java.util.stream.*;
import org.apache.http.*;
import org.apache.http.util.*;
-import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
import org.apache.juneau.http.HttpParts;
import org.apache.juneau.http.annotation.*;
@@ -416,8 +415,7 @@ public class PartList {
assertArgNotNull("type", type);
String name = PartBeanMeta.of(type).getSchema().getName();
- if (name == null)
- throw new BasicIllegalArgumentException("Part name
could not be found on bean type ''{0}''", type.getName());
+ assertArg(name != null, "Part name could not be found on bean
type ''{0}''", type.getName());
return get(name, type);
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ExceptionUtils.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ExceptionUtils.java
index b4363d9..7e20153 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ExceptionUtils.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ExceptionUtils.java
@@ -127,4 +127,25 @@ public class ExceptionUtils {
public static UnsupportedOperationException
unsupportedOperationException(String msg, Object...args) {
return unsupportedOperationException().message(msg,
args).build();
}
+
+ /**
+ * Creates a new builder for {@link IllegalArgumentException} objects.
+ *
+ * @return A new builder for {@link IllegalArgumentException} objects.
+ */
+ public static ExceptionBuilder<IllegalArgumentException>
illegalArgumentException() {
+ return new ExceptionBuilder<>(IllegalArgumentException.class);
+ }
+
+ /**
+ * Creates a new {@link UnsupportedOperationException}.
+ *
+ * @param msg The exception message. Can be <jk>null</jk>.
+ * <br>If <jk>null</jk>, then the caused-by message is used if
available.
+ * @param args The exception message arguments.
+ * @return A new {@link UnsupportedOperationException}.
+ */
+ public static IllegalArgumentException illegalArgumentException(String
msg, Object...args) {
+ return illegalArgumentException().message(msg, args).build();
+ }
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/SimpleMap.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/SimpleMap.java
index f08ba1c..81fbbb1 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/SimpleMap.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/SimpleMap.java
@@ -14,13 +14,10 @@ package org.apache.juneau.internal;
import static org.apache.juneau.assertions.Assertions.*;
import static org.apache.juneau.internal.ArrayUtils.*;
-import static org.apache.juneau.internal.ThrowableUtils.*;
-
+import static org.apache.juneau.internal.ExceptionUtils.*;
import java.lang.reflect.*;
import java.util.*;
-import org.apache.juneau.*;
-
/**
* An instance of a <c>Map</c> where the keys and values are simple arrays.
*
@@ -52,15 +49,13 @@ public final class SimpleMap<K,V> extends AbstractMap<K,V> {
public SimpleMap(K[] keys, V[] values) {
assertArgNotNull("keys", keys);
assertArgNotNull("values", values);
- if (keys.length != values.length)
- illegalArg("keys ''{0}'' and values ''{1}'' array
lengths differ", keys.length, values.length);
+ assertArg(keys.length == values.length, "keys ''{0}'' and
values ''{1}'' array lengths differ", keys.length, values.length);
this.keys = keys;
this.values = values;
entries = (SimpleMapEntry[])
Array.newInstance(SimpleMapEntry.class, keys.length);
for (int i = 0; i < keys.length; i++) {
- if (keys[i] == null)
- illegalArg("Keys array cannot contain a null
value.");
+ assertArg(keys[i] != null, "Keys array cannot contain a
null value.");
entries[i] = new SimpleMapEntry(i);
}
}
@@ -92,7 +87,7 @@ public final class SimpleMap<K,V> extends AbstractMap<K,V> {
return v;
}
}
- throw new BasicIllegalArgumentException("No key ''{0}'' defined
in map", key);
+ throw illegalArgumentException("No key ''{0}'' defined in map",
key);
}
final class SimpleMapEntry implements Map.Entry<K,V> {
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/StringUtils.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/StringUtils.java
index b301391..e64c92d 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/StringUtils.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/StringUtils.java
@@ -15,8 +15,6 @@ package org.apache.juneau.internal;
import static org.apache.juneau.assertions.Assertions.*;
import static org.apache.juneau.internal.ExceptionUtils.*;
import static org.apache.juneau.internal.IOUtils.*;
-import static org.apache.juneau.internal.ThrowableUtils.*;
-
import java.io.*;
import java.lang.reflect.*;
import java.math.*;
@@ -1422,8 +1420,7 @@ public final class StringUtils {
byte bIn[] = in.getBytes(IOUtils.UTF8);
- if (bIn.length % 4 != 0)
- illegalArg("Invalid BASE64 string length. Must be
multiple of 4.");
+ assertArg(bIn.length % 4 == 0, "Invalid BASE64 string length.
Must be multiple of 4.");
// Strip out any trailing '=' filler characters.
int inLength = bIn.length;
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ThrowableUtils.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ThrowableUtils.java
index 836eadd..1ee8952 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ThrowableUtils.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ThrowableUtils.java
@@ -12,27 +12,12 @@
//
***************************************************************************************************************************
package org.apache.juneau.internal;
-import java.text.*;
-
-import org.apache.juneau.*;
-
/**
* Various utility methods for creating and working with throwables.
*/
public class ThrowableUtils {
/**
- * Shortcut for calling <code><jk>new</jk>
IllegalArgumentException(MessageFormat.<jsm>format</jsm>(msg, args));</code>
- *
- * @param msg The message of the IllegalArgumentException.
- * @param args Optional {@link MessageFormat}-style arguments.
- * @throws IllegalArgumentException Constructed exception.
- */
- public static void illegalArg(String msg, Object...args) throws
IllegalArgumentException {
- throw new BasicIllegalArgumentException(msg, args);
- }
-
- /**
* Same as {@link Throwable#getCause()} but searches the throwable
chain for an exception of the specified type.
*
* @param c The throwable type to search for.
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ClassInfo.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ClassInfo.java
index 8afd5b3..c7a54ef 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ClassInfo.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ClassInfo.java
@@ -14,6 +14,7 @@ package org.apache.juneau.reflect;
import static org.apache.juneau.internal.StringUtils.*;
import static org.apache.juneau.reflect.ReflectFlags.*;
+import static org.apache.juneau.assertions.Assertions.*;
import static org.apache.juneau.internal.ExceptionUtils.*;
import static org.apache.juneau.internal.ObjectUtils.*;
@@ -2406,9 +2407,9 @@ public final class ClassInfo {
* @param pt The parameterized type class containing the parameterized
type to resolve (e.g. <c>HashMap</c>).
* @return The resolved real class.
*/
+ @SuppressWarnings("null")
public Class<?> getParameterType(int index, Class<?> pt) {
- if (pt == null)
- throw new BasicIllegalArgumentException("Parameterized
type cannot be null");
+ assertArgNotNull("pt", pt);
// We need to make up a mapping of type names.
Map<Type,Type> typeMap = new HashMap<>();
@@ -2416,19 +2417,16 @@ public final class ClassInfo {
while (pt != cc.getSuperclass()) {
extractTypes(typeMap, cc);
cc = cc.getSuperclass();
- if (cc == null)
- throw new BasicIllegalArgumentException("Class
''{0}'' is not a subclass of parameterized type ''{1}''", c.getSimpleName(),
pt.getSimpleName());
+ assertArg(cc != null, "Class ''{0}'' is not a subclass
of parameterized type ''{1}''", c.getSimpleName(), pt.getSimpleName());
}
Type gsc = cc.getGenericSuperclass();
- if (! (gsc instanceof ParameterizedType))
- throw new BasicIllegalArgumentException("Class ''{0}''
is not a parameterized type", pt.getSimpleName());
+ assertArg(gsc instanceof ParameterizedType, "Class ''{0}'' is
not a parameterized type", pt.getSimpleName());
ParameterizedType cpt = (ParameterizedType)gsc;
Type[] atArgs = cpt.getActualTypeArguments();
- if (index >= atArgs.length)
- throw new BasicIllegalArgumentException("Invalid type
index. index={0}, argsLength={1}", index, atArgs.length);
+ assertArg(index < atArgs.length, "Invalid type index.
index={0}, argsLength={1}", index, atArgs.length);
Type actualType = cpt.getActualTypeArguments()[index];
if (typeMap.containsKey(actualType))
@@ -2464,7 +2462,7 @@ public final class ClassInfo {
} else if (actualType instanceof ParameterizedType) {
return
(Class<?>)((ParameterizedType)actualType).getRawType();
}
- throw new BasicIllegalArgumentException("Could not resolve
variable ''{0}'' to a type.", actualType.getTypeName());
+ throw illegalArgumentException("Could not resolve variable
''{0}'' to a type.", actualType.getTypeName());
}
private static boolean isInnerClass(GenericDeclaration od,
GenericDeclaration id) {
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/MapVar.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/MapVar.java
index ea863e7..26a938d 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/MapVar.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/MapVar.java
@@ -12,9 +12,8 @@
//
***************************************************************************************************************************
package org.apache.juneau.svl;
+import static org.apache.juneau.assertions.Assertions.*;
import static org.apache.juneau.internal.StringUtils.*;
-import static org.apache.juneau.internal.ThrowableUtils.*;
-
import java.util.*;
/**
@@ -37,8 +36,7 @@ public abstract class MapVar extends DefaultingVar {
*/
public MapVar(String name, Map m) {
super(name);
- if (m == null)
- illegalArg("''m'' parameter cannot be null.");
+ assertArgNotNull("m", m);
this.m = m;
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/Var.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/Var.java
index a6d7c7f..3c08ab4 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/Var.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/Var.java
@@ -12,8 +12,8 @@
//
***************************************************************************************************************************
package org.apache.juneau.svl;
-import static org.apache.juneau.internal.ThrowableUtils.*;
-
+import static org.apache.juneau.assertions.Assertions.*;
+import static org.apache.juneau.internal.ExceptionUtils.*;
import java.io.*;
/**
@@ -61,16 +61,15 @@ public abstract class Var {
* If <jk>false</jk>, then the {@link #resolve(VarResolverSession,
String)} method is implemented.
*/
public Var(String name, boolean streamed) {
+ assertArgNotNull("name", name);
this.name = name;
this.streamed = streamed;
- if (name == null)
- illegalArg("Invalid var name. Must consist of only
uppercase and lowercase ASCII letters.");
- else for (int i = 0; i < name.length(); i++) {
- // Need to make sure only ASCII characters are used.
+ for (int i = 0; i < name.length(); i++) {
+ // Need to make sure only ASCII characters are used.
char c = name.charAt(i);
if (c < 'A' || c > 'z' || (c > 'Z' && c < 'a'))
- illegalArg("Invalid var name. Must consist of
only uppercase and lowercase ASCII letters.");
+ throw illegalArgumentException("Invalid var
name. Must consist of only uppercase and lowercase ASCII letters.");
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/IfVar.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/IfVar.java
index 8c11966..b993d80 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/IfVar.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/IfVar.java
@@ -12,8 +12,7 @@
//
***************************************************************************************************************************
package org.apache.juneau.svl.vars;
-import static org.apache.juneau.internal.ThrowableUtils.*;
-
+import static org.apache.juneau.assertions.Assertions.*;
import org.apache.juneau.svl.*;
/**
@@ -63,8 +62,7 @@ public class IfVar extends MultipartVar {
@Override /* MultipartVar */
public String resolve(VarResolverSession session, String[] args) {
- if (args.length < 2 || args.length > 3)
- illegalArg("Invalid number of arguments passed to $IF
var. Must be either $IF{booleanArg,thenValue} or
$IF{booleanArg,thenValue,elseValue}");
+ assertArg(args.length >= 2 && args.length <= 3, "Invalid number
of arguments passed to $IF var. Must be either $IF{booleanArg,thenValue} or
$IF{booleanArg,thenValue,elseValue}");
String b = args[0].toLowerCase();
if ("1".equals(b) || "t".equals(b) || "true".equals(b))
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/LenVar.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/LenVar.java
index 42d3757..23bb87b 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/LenVar.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/LenVar.java
@@ -12,8 +12,7 @@
//
***************************************************************************************************************************
package org.apache.juneau.svl.vars;
-import static org.apache.juneau.internal.ThrowableUtils.*;
-
+import static org.apache.juneau.assertions.Assertions.*;
import java.util.regex.*;
import org.apache.juneau.svl.*;
@@ -59,8 +58,7 @@ public class LenVar extends MultipartVar {
@Override /* MultipartVar */
public String resolve(VarResolverSession session, String[] args) {
- if (args.length > 2)
- illegalArg("Invalid number of arguments passed to $LN
var. Must have 1 or 2 arguments.");
+ assertArg(args.length <= 2, "Invalid number of arguments passed
to $LN var. Must have 1 or 2 arguments.");
int len = 0;
String stringArg = args[0];
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternExtractVar.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternExtractVar.java
index a57253d..7ff703a 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternExtractVar.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternExtractVar.java
@@ -12,8 +12,7 @@
//
***************************************************************************************************************************
package org.apache.juneau.svl.vars;
-import static org.apache.juneau.internal.ThrowableUtils.*;
-
+import static org.apache.juneau.assertions.Assertions.*;
import java.util.regex.*;
import org.apache.juneau.svl.*;
@@ -62,8 +61,7 @@ public class PatternExtractVar extends MultipartVar {
@Override /* MultipartVar */
public String resolve(VarResolverSession session, String[] args) {
- if (args.length < 3)
- illegalArg("Invalid number of arguments passed to $PE
var. Must have 3 arguments.");
+ assertArg(args.length == 3, "Invalid number of arguments passed
to $PE var. Must have 3 arguments.");
String stringArg = args[0];
String pattern = args[1];
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternMatchVar.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternMatchVar.java
index 9ea8f87..94c8c63 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternMatchVar.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternMatchVar.java
@@ -12,8 +12,7 @@
//
***************************************************************************************************************************
package org.apache.juneau.svl.vars;
-import static org.apache.juneau.internal.ThrowableUtils.*;
-
+import static org.apache.juneau.assertions.Assertions.*;
import java.util.regex.*;
import org.apache.juneau.svl.*;
@@ -63,8 +62,7 @@ public class PatternMatchVar extends MultipartVar {
@Override /* MultipartVar */
public String resolve(VarResolverSession session, String[] args) {
- if (args.length < 2)
- illegalArg("Invalid number of arguments passed to $PM
var. Must have 2 or more arguments.");
+ assertArg(args.length >= 2, "Invalid number of arguments passed
to $PM var. Must have 2 or more arguments.");
String stringArg = args[0];
String pattern = args[1];
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternReplaceVar.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternReplaceVar.java
index ad26f0e..2c5e6c6 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternReplaceVar.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternReplaceVar.java
@@ -12,8 +12,7 @@
//
***************************************************************************************************************************
package org.apache.juneau.svl.vars;
-import static org.apache.juneau.internal.ThrowableUtils.*;
-
+import static org.apache.juneau.assertions.Assertions.*;
import org.apache.juneau.svl.*;
/**
@@ -62,8 +61,7 @@ public class PatternReplaceVar extends MultipartVar {
@Override /* MultipartVar */
public String resolve(VarResolverSession session, String[] args) {
- if (args.length < 3)
- illegalArg("Invalid number of arguments passed to $PR
var. Must have 3 or more arguments.");
+ assertArg(args.length >= 3, "Invalid number of arguments passed
to $PR var. Must have 3 or more arguments.");
String stringArg = args[0];
String pattern = args[1];
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/SubstringVar.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/SubstringVar.java
index c713d9a..537d728 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/SubstringVar.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/SubstringVar.java
@@ -12,8 +12,7 @@
//
***************************************************************************************************************************
package org.apache.juneau.svl.vars;
-import static org.apache.juneau.internal.ThrowableUtils.*;
-
+import static org.apache.juneau.assertions.Assertions.*;
import org.apache.juneau.svl.*;
/**
@@ -60,9 +59,7 @@ public class SubstringVar extends MultipartVar {
@Override /* MultipartVar */
public String resolve(VarResolverSession session, String[] args) {
- if (args.length > 3)
- illegalArg("Invalid number of arguments passed to $ST
var. Must have 1 or 2 arguments.");
-
+ assertArg(args.length >= 2 && args.length <= 3, "Invalid number
of arguments passed to $ST var. Must have 2 or 3 arguments.");
String stringArg = args[0];
String result = "";
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/SwitchVar.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/SwitchVar.java
index 98751fe..ec609e0 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/SwitchVar.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/SwitchVar.java
@@ -12,8 +12,7 @@
//
***************************************************************************************************************************
package org.apache.juneau.svl.vars;
-import static org.apache.juneau.internal.ThrowableUtils.*;
-
+import static org.apache.juneau.assertions.Assertions.*;
import java.util.regex.*;
import org.apache.juneau.internal.*;
@@ -64,16 +63,14 @@ public class SwitchVar extends MultipartVar {
@Override /* MultipartVar */
public String resolve(VarResolverSession session, String[] args) {
- if (args.length < 2)
- illegalArg("Invalid number of arguments passed to $SW
var. Must have 2 or more arguments.");
+ assertArg(args.length >= 2, "Invalid number of arguments passed
to $SW var. Must have 2 or more arguments.");
String stringArg = args[0];
for (int i = 1; i < args.length; i++) {
String pattern = args[i];
String[] parts = StringUtils.split(pattern, ':', 2);
- if (parts.length < 2)
- illegalArg("Invalid arguments passed to $SW
var. Each case statement must contains 'pattern:value'.");
+ assertArg(parts.length >= 2, "Invalid arguments passed
to $SW var. Each case statement must contains 'pattern:value'.");
Pattern p = Pattern.compile(parts[0].replace("*",
".*").replace("?", "."));
if (p.matcher(stringArg).matches())
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/http/EntityTag_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/http/EntityTag_Test.java
index 1f4f4aa..50f7bdf 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/http/EntityTag_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/http/EntityTag_Test.java
@@ -73,7 +73,7 @@ public class EntityTag_Test {
assertThrown(()->new EntityTag("foo")).is("Invalid value for
entity-tag: [foo]");
assertThrown(()->new EntityTag("\"")).is("Invalid value for
entity-tag: [\"]");
assertThrown(()->new EntityTag("")).is("Invalid value for
entity-tag: []");
- assertThrown(()->new EntityTag(null)).is("Invalid value for
entity-tag: [null]");
+ assertThrown(()->new EntityTag(null)).is("Argument 'value'
cannot be null");
assertThrown(()->new EntityTag("\"a")).is("Invalid value for
entity-tag: [\"a]");
assertThrown(()->new EntityTag("a\"")).is("Invalid value for
entity-tag: [a\"]");
assertThrown(()->new EntityTag("W/\"")).is("Invalid value for
entity-tag: [W/\"]");
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/reflection/ClassInfoTest.java
b/juneau-utest/src/test/java/org/apache/juneau/reflection/ClassInfoTest.java
index ad6dbf1..8efcf30 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/reflection/ClassInfoTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/reflection/ClassInfoTest.java
@@ -2134,7 +2134,7 @@ public class ClassInfoTest {
@Test
public void getParameterType_nullParameterizedType() {
- assertThrown(()->aClass.getParameterType(2,
null)).is("Parameterized type cannot be null");
+ assertThrown(()->aClass.getParameterType(2, null)).is("Argument
'pt' cannot be null");
}
@Test