diff --git a/gclc/src/main/java/net/bigeon/gclc/command/CommandParameters.java b/gclc/src/main/java/net/bigeon/gclc/command/CommandParameters.java index 1a88464..3a83d4f 100644 --- a/gclc/src/main/java/net/bigeon/gclc/command/CommandParameters.java +++ b/gclc/src/main/java/net/bigeon/gclc/command/CommandParameters.java @@ -103,7 +103,7 @@ public final class CommandParameters { * @param key the key * @return if the key was specified */ public boolean isActive(final String key) { - Boolean val = booleanArguments.get(key); + final Boolean val = booleanArguments.get(key); return val != null && val.booleanValue(); } @@ -198,9 +198,8 @@ public final class CommandParameters { * @param string the key * @param value the value */ public void set(final String string, final boolean value) { - if (booleanArguments.containsKey(string)) { - booleanArguments.put(string, Boolean.valueOf(value)); - } + booleanArguments.computeIfPresent(string, + (final String k, final Boolean v) -> Boolean.valueOf(value)); } /** Set a string parameter value. @@ -208,8 +207,7 @@ public final class CommandParameters { * @param string the key * @param value the value */ public void set(final String string, final String value) { - if (stringArguments.containsKey(string)) { - stringArguments.put(string, value); - } + stringArguments.computeIfPresent(string, + (final String k, final String v) -> value); } } diff --git a/gclc/src/main/java/net/bigeon/gclc/command/ParametrizedCommandData.java b/gclc/src/main/java/net/bigeon/gclc/command/ParametrizedCommandData.java index 9394524..c78a7a7 100644 --- a/gclc/src/main/java/net/bigeon/gclc/command/ParametrizedCommandData.java +++ b/gclc/src/main/java/net/bigeon/gclc/command/ParametrizedCommandData.java @@ -149,14 +149,16 @@ public final class ParametrizedCommandData { * @param needed if the parameter is needed * @throws InvalidParameterException if the new definition is invalid */ private void checkParam(final String param, final boolean needed) { - final Boolean val = stringParams.get(param); - if (val != null) { - final Boolean need = Boolean.valueOf(needed || val.booleanValue()); - stringParams.put(param, need); + final Boolean val = stringParams.computeIfPresent(param, + (final String k, final Boolean v) -> { + final Boolean need = Boolean.valueOf(needed || v.booleanValue()); params.put(param, need); - return; + return need; + }); + if (val == null) { + throw new InvalidParameterException( + "Parameter is already defined as boolean"); //$NON-NLS-1$ } - throw new InvalidParameterException("Parameter is already defined as boolean"); //$NON-NLS-1$ } /** Retrieve the boolean parameters (aka flags). diff --git a/gclc/src/main/java/net/bigeon/gclc/utils/ReadingRunnable.java b/gclc/src/main/java/net/bigeon/gclc/utils/ReadingRunnable.java index 8939e77..8f2a0e9 100644 --- a/gclc/src/main/java/net/bigeon/gclc/utils/ReadingRunnable.java +++ b/gclc/src/main/java/net/bigeon/gclc/utils/ReadingRunnable.java @@ -202,9 +202,7 @@ public final class ReadingRunnable implements Runnable { public void waitForDelivery(final String message) throws InterruptedException { Object mLock; synchronized (messageBlockerLock) { - if (!messageBlocker.containsKey(message)) { - messageBlocker.put(message, new Object()); - } + messageBlocker.computeIfAbsent(message, (final String k) -> new Object()); mLock = messageBlocker.get(message); } synchronized (mLock) {