Skip to content

Commit

Permalink
Merge pull request #110 from englishman/check-not-null-usage-fix
Browse files Browse the repository at this point in the history
use Utilities.chechNotNull anywhere
  • Loading branch information
kohsuke committed Aug 11, 2015
2 parents 8ecc2ab + 68cc308 commit 0ccd40b
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 25 deletions.
28 changes: 8 additions & 20 deletions args4j/src/org/kohsuke/args4j/CmdLineParser.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
import org.kohsuke.args4j.spi.Parameters;
import org.kohsuke.args4j.spi.Setter;

import static org.kohsuke.args4j.Utilities.checkNonNull;

/**
* Command line argument owner.
*
Expand Down Expand Up @@ -102,20 +104,6 @@ public ParserProperties getProperties() {
return parserProperties;
}

/** This method is similar to {@code Objects.requireNonNull()}.
* But this one is available for JDK 1.6 which is the
* current target of args4j.
* I didn't want to break compatibility with JDK 1.6.
* @param obj the object to check for {@code null} value.
* @param name the object name. If {@code obj} is {@code null}, then
* an exception is constructed from this name.
*/
private static void checkNonNull(Object obj, String name) {
if (obj == null) {
throw new NullPointerException(name+" is null");
}
}

/**
* Programmatically defines an argument (instead of reading it from annotations as normal).
*
Expand All @@ -124,8 +112,8 @@ private static void checkNonNull(Object obj, String name) {
* @throws NullPointerException if {@code setter} or {@code a} is {@code null}.
*/
public void addArgument(Setter setter, Argument a) {
Utilities.checkNonNull(setter, "Setter");
Utilities.checkNonNull(a, "Argument");
checkNonNull(setter, "Setter");
checkNonNull(a, "Argument");

OptionHandler h = OptionHandlerRegistry.getRegistry().createOptionHandler(this,
new OptionDef(a,setter.isMultiValued()),setter);
Expand Down Expand Up @@ -245,7 +233,7 @@ public String printExample(ExampleMode mode) {
public String printExample(OptionHandlerFilter mode, ResourceBundle rb) {
StringBuilder buf = new StringBuilder();

Utilities.checkNonNull(mode, "mode");
checkNonNull(mode, "mode");

for (OptionHandler h : options) {
OptionDef option = h.option;
Expand Down Expand Up @@ -487,7 +475,7 @@ public void parseArgument(Collection<String> args) throws CmdLineException {
*/
public void parseArgument(final String... args) throws CmdLineException {

Utilities.checkNonNull(args, "args");
checkNonNull(args, "args");

String expandedArgs[] = args;
if (parserProperties.getAtSyntax()) {
Expand Down Expand Up @@ -688,7 +676,7 @@ private OptionHandler findOptionByName(String name) {
* @throws NullPointerException if {@code arg} is {@code null}.
*/
protected boolean isOption(String arg) {
Utilities.checkNonNull(arg, "arg");
checkNonNull(arg, "arg");

return parsingOptions && arg.startsWith("-");
}
Expand Down Expand Up @@ -763,7 +751,7 @@ public void printSingleLineUsage(OutputStream out) {
*/
// TODO test this!
public void printSingleLineUsage(Writer w, ResourceBundle rb) {
Utilities.checkNonNull(w, "Writer");
checkNonNull(w, "Writer");

PrintWriter pw = new PrintWriter(w);
for (OptionHandler h : arguments) {
Expand Down
12 changes: 7 additions & 5 deletions args4j/src/org/kohsuke/args4j/OptionHandlerRegistry.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@
import org.kohsuke.args4j.spi.URIOptionHandler;
import org.kohsuke.args4j.spi.URLOptionHandler;

import static org.kohsuke.args4j.Utilities.checkNonNull;

/**
* Manages the registration of option handlers.
* This is good for registering custom handlers
Expand Down Expand Up @@ -127,8 +129,8 @@ private static Constructor<? extends OptionHandler> getConstructor(Class<? exten
* @throws IllegalArgumentException if {@code handlerClass} is not a subtype of {@code OptionHandler}.
*/
public void registerHandler( Class valueType, Class<? extends OptionHandler> handlerClass ) {
Utilities.checkNonNull(valueType, "valueType");
Utilities.checkNonNull(handlerClass, "handlerClass");
checkNonNull(valueType, "valueType");
checkNonNull(handlerClass, "handlerClass");

if(!OptionHandler.class.isAssignableFrom(handlerClass))
throw new IllegalArgumentException(Messages.NO_OPTIONHANDLER.format());
Expand All @@ -143,9 +145,9 @@ public void registerHandler( Class valueType, Class<? extends OptionHandler> han
*/
@SuppressWarnings("unchecked")
protected OptionHandler createOptionHandler(CmdLineParser parser, OptionDef o, Setter setter) {
Utilities.checkNonNull(o, "CmdLineParser");
Utilities.checkNonNull(o, "OptionDef");
Utilities.checkNonNull(setter, "Sette");
checkNonNull(o, "CmdLineParser");
checkNonNull(o, "OptionDef");
checkNonNull(setter, "Sette");

Constructor<? extends OptionHandler> handlerType;
Class<? extends OptionHandler> h = o.handler();
Expand Down

0 comments on commit 0ccd40b

Please sign in to comment.