On Fri, 20 Jun 2025 18:18:07 GMT, Kevin Walls <[email protected]> wrote:
>> src/java.management/share/classes/javax/management/relation/RoleList.java
>> line 265:
>>
>>> 263: @Override
>>> 264: public boolean add(Object o) {
>>> 265: checkTypeSafe(o);
>>
>> Q: Is `null` allowed? The same question applies to the `addAll()` if these
>> methods allow null to be present in the collection.
>
> The intent here is not to change behaviour regarding nulls.
> Nulls have been permitted, and should stay permitted.
> Other object types (that don't cast to Role, in this file) should fail.
>
> The Role related files are quite unusual to use, so expect they are mostly
> used only by the JDK.
> MBean code might more commonly manipulate an AttributeList, and we can still
> permit nulls in case such code relies on nulls being accepted.
My question was because there are checks for `null` in this class:
public void add(Role role)
throws IllegalArgumentException {
if (role == null) {
throw new IllegalArgumentException("Invalid parameter");
}
checkTypeSafe(role);
super.add(role);
}
It is kind of confusing and not clear where `null` is allowed and where it is
not.
Should it be more consistent?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/25856#discussion_r2159655977