Ich habe gerade per Zufall gesehen, dass es seit Java 7 die Klasse [japi]Objects[/japi] gibt, die die Methode requireNonNull
enthält.
Aufgrund der Zielsetzung neco4j möglichst schlank zu halten, finde ich es sinnvoll, Objects#requireNonNull
anstelle von Assert#notNull
zu benutzen.
Der Unterschied ist, dass bei Objects#requireNonNull
eine NPE statt eine IllegalArgumentException
geworfen wird. Das ist mMn auch die richtige Exception (zumindest werfe ich sie bei Nonnull-Argumenten in anderen Projekten auch immer):
Zum Vergleich noch einmal Assert#notNull:
if (o == null) {
throw new IllegalArgumentException(message);
}
}
public static void notNull(Object o) {
notNull(o, "null value not allowed");
}```