From f2160f4bd1c8ac67e5a86a6710d431e8932877f9 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Fri, 28 May 2010 11:47:51 +0000
Subject: [PATCH] Synchronize SDK on java.net with internal repository.
---
sdk/src/com/sun/opends/sdk/tools/IntegerArgument.java | 793 ++++++++++++++++++++++++++++----------------------------
1 files changed, 393 insertions(+), 400 deletions(-)
diff --git a/sdk/src/com/sun/opends/sdk/tools/IntegerArgument.java b/sdk/src/com/sun/opends/sdk/tools/IntegerArgument.java
index 57d8a68..9681ddf 100644
--- a/sdk/src/com/sun/opends/sdk/tools/IntegerArgument.java
+++ b/sdk/src/com/sun/opends/sdk/tools/IntegerArgument.java
@@ -28,32 +28,34 @@
-import static com.sun.opends.sdk.messages.Messages.*;
+import static com.sun.opends.sdk.messages.Messages.ERR_ARG_CANNOT_DECODE_AS_INT;
+import static com.sun.opends.sdk.messages.Messages.ERR_INTARG_LOWER_BOUND_ABOVE_UPPER_BOUND;
+import static com.sun.opends.sdk.messages.Messages.ERR_INTARG_VALUE_ABOVE_UPPER_BOUND;
+import static com.sun.opends.sdk.messages.Messages.ERR_INTARG_VALUE_BELOW_LOWER_BOUND;
import org.opends.sdk.LocalizableMessage;
import org.opends.sdk.LocalizableMessageBuilder;
-
/**
- * This class defines an argument type that will only accept integer
- * values, and potentially only those in a given range.
+ * This class defines an argument type that will only accept integer values, and
+ * potentially only those in a given range.
*/
final class IntegerArgument extends Argument
{
// Indicates whether a lower bound will be enforced for this argument.
- private boolean hasLowerBound;
+ private final boolean hasLowerBound;
// Indicates whether an upper bound will be enforced for this
// argument.
- private boolean hasUpperBound;
+ private final boolean hasUpperBound;
// The lower bound that will be enforced for this argument.
- private double lowerBound;
+ private final double lowerBound;
// The upper bound that will be enforced for this argument.
- private double upperBound;
+ private final double upperBound;
@@ -61,36 +63,364 @@
* Creates a new integer argument with the provided information.
*
* @param name
- * The generic name that should be used to refer to this
- * argument.
+ * The generic name that should be used to refer to this argument.
* @param shortIdentifier
* The single-character identifier for this argument, or
* <CODE>null</CODE> if there is none.
* @param longIdentifier
- * The long identifier for this argument, or
- * <CODE>null</CODE> if there is none.
+ * The long identifier for this argument, or <CODE>null</CODE> if
+ * there is none.
* @param isRequired
- * Indicates whether this argument must be specified on the
- * command line.
+ * Indicates whether this argument must be specified on the command
+ * line.
+ * @param isMultiValued
+ * Indicates whether this argument may be specified more than once to
+ * provide multiple values.
* @param needsValue
* Indicates whether this argument requires a value.
* @param valuePlaceholder
- * The placeholder for the argument value that will be
- * displayed in usage information, or <CODE>null</CODE> if
- * this argument does not require a value.
+ * The placeholder for the argument value that will be displayed in
+ * usage information, or <CODE>null</CODE> if this argument does not
+ * require a value.
+ * @param defaultValue
+ * The default value that should be used for this argument if none is
+ * provided in a properties file or on the command line. This may be
+ * <CODE>null</CODE> if there is no generic default.
+ * @param propertyName
+ * The name of the property in a property file that may be used to
+ * override the default value but will be overridden by a
+ * command-line argument.
+ * @param hasLowerBound
+ * Indicates whether a lower bound should be enforced for values of
+ * this argument.
+ * @param lowerBound
+ * The lower bound that should be enforced for values of this
+ * argument.
+ * @param hasUpperBound
+ * Indicates whether an upperbound should be enforced for values of
+ * this argument.
+ * @param upperBound
+ * The upper bound that should be enforced for values of this
+ * argument.
* @param description
* LocalizableMessage for the description of this argument.
* @throws ArgumentException
- * If there is a problem with any of the parameters used to
- * create this argument.
+ * If there is a problem with any of the parameters used to create
+ * this argument.
*/
- public IntegerArgument(String name, Character shortIdentifier,
- String longIdentifier, boolean isRequired, boolean needsValue,
- LocalizableMessage valuePlaceholder, LocalizableMessage description)
+ public IntegerArgument(final String name, final Character shortIdentifier,
+ final String longIdentifier, final boolean isRequired,
+ final boolean isMultiValued, final boolean needsValue,
+ final LocalizableMessage valuePlaceholder, final double defaultValue,
+ final String propertyName, final boolean hasLowerBound,
+ final double lowerBound, final boolean hasUpperBound,
+ final double upperBound, final LocalizableMessage description)
throws ArgumentException
{
- super(name, shortIdentifier, longIdentifier, isRequired, false,
- needsValue, valuePlaceholder, null, null, description);
+ super(name, shortIdentifier, longIdentifier, isRequired, isMultiValued,
+ needsValue, valuePlaceholder, String.valueOf(defaultValue),
+ propertyName, description);
+
+ this.hasLowerBound = hasLowerBound;
+ this.hasUpperBound = hasUpperBound;
+ this.lowerBound = lowerBound;
+ this.upperBound = upperBound;
+
+ if (hasLowerBound && hasUpperBound && (lowerBound > upperBound))
+ {
+ final LocalizableMessage message = ERR_INTARG_LOWER_BOUND_ABOVE_UPPER_BOUND
+ .get(name, lowerBound, upperBound);
+ throw new ArgumentException(message);
+ }
+ }
+
+
+
+ /**
+ * Creates a new integer argument with the provided information.
+ *
+ * @param name
+ * The generic name that should be used to refer to this argument.
+ * @param shortIdentifier
+ * The single-character identifier for this argument, or
+ * <CODE>null</CODE> if there is none.
+ * @param longIdentifier
+ * The long identifier for this argument, or <CODE>null</CODE> if
+ * there is none.
+ * @param isRequired
+ * Indicates whether this argument must be specified on the command
+ * line.
+ * @param isMultiValued
+ * Indicates whether this argument may be specified more than once to
+ * provide multiple values.
+ * @param needsValue
+ * Indicates whether this argument requires a value.
+ * @param valuePlaceholder
+ * The placeholder for the argument value that will be displayed in
+ * usage information, or <CODE>null</CODE> if this argument does not
+ * require a value.
+ * @param defaultValue
+ * The default value that should be used for this argument if none is
+ * provided in a properties file or on the command line. This may be
+ * <CODE>null</CODE> if there is no generic default.
+ * @param propertyName
+ * The name of the property in a property file that may be used to
+ * override the default value but will be overridden by a
+ * command-line argument.
+ * @param description
+ * LocalizableMessage for the description of this argument.
+ * @throws ArgumentException
+ * If there is a problem with any of the parameters used to create
+ * this argument.
+ */
+ public IntegerArgument(final String name, final Character shortIdentifier,
+ final String longIdentifier, final boolean isRequired,
+ final boolean isMultiValued, final boolean needsValue,
+ final LocalizableMessage valuePlaceholder, final double defaultValue,
+ final String propertyName, final LocalizableMessage description)
+ throws ArgumentException
+ {
+ super(name, shortIdentifier, longIdentifier, isRequired, isMultiValued,
+ needsValue, valuePlaceholder, String.format("%f", defaultValue),
+ propertyName, description);
+
+ hasLowerBound = false;
+ hasUpperBound = false;
+ lowerBound = Integer.MIN_VALUE;
+ upperBound = Integer.MAX_VALUE;
+ }
+
+
+
+ /**
+ * Creates a new integer argument with the provided information.
+ *
+ * @param name
+ * The generic name that should be used to refer to this argument.
+ * @param shortIdentifier
+ * The single-character identifier for this argument, or
+ * <CODE>null</CODE> if there is none.
+ * @param longIdentifier
+ * The long identifier for this argument, or <CODE>null</CODE> if
+ * there is none.
+ * @param isRequired
+ * Indicates whether this argument must be specified on the command
+ * line.
+ * @param isMultiValued
+ * Indicates whether this argument may be specified more than once to
+ * provide multiple values.
+ * @param needsValue
+ * Indicates whether this argument requires a value.
+ * @param valuePlaceholder
+ * The placeholder for the argument value that will be displayed in
+ * usage information, or <CODE>null</CODE> if this argument does not
+ * require a value.
+ * @param defaultValue
+ * The default value that should be used for this argument if none is
+ * provided in a properties file or on the command line. This may be
+ * <CODE>null</CODE> if there is no generic default.
+ * @param propertyName
+ * The name of the property in a property file that may be used to
+ * override the default value but will be overridden by a
+ * command-line argument.
+ * @param hasLowerBound
+ * Indicates whether a lower bound should be enforced for values of
+ * this argument.
+ * @param lowerBound
+ * The lower bound that should be enforced for values of this
+ * argument.
+ * @param hasUpperBound
+ * Indicates whether an upperbound should be enforced for values of
+ * this argument.
+ * @param upperBound
+ * The upper bound that should be enforced for values of this
+ * argument.
+ * @param description
+ * LocalizableMessage for the description of this argument.
+ * @throws ArgumentException
+ * If there is a problem with any of the parameters used to create
+ * this argument.
+ */
+ public IntegerArgument(final String name, final Character shortIdentifier,
+ final String longIdentifier, final boolean isRequired,
+ final boolean isMultiValued, final boolean needsValue,
+ final LocalizableMessage valuePlaceholder, final int defaultValue,
+ final String propertyName, final boolean hasLowerBound,
+ final double lowerBound, final boolean hasUpperBound,
+ final double upperBound, final LocalizableMessage description)
+ throws ArgumentException
+ {
+ super(name, shortIdentifier, longIdentifier, isRequired, isMultiValued,
+ needsValue, valuePlaceholder, String.valueOf(defaultValue),
+ propertyName, description);
+
+ this.hasLowerBound = hasLowerBound;
+ this.hasUpperBound = hasUpperBound;
+ this.lowerBound = lowerBound;
+ this.upperBound = upperBound;
+
+ if (hasLowerBound && hasUpperBound && (lowerBound > upperBound))
+ {
+ final LocalizableMessage message = ERR_INTARG_LOWER_BOUND_ABOVE_UPPER_BOUND
+ .get(name, lowerBound, upperBound);
+ throw new ArgumentException(message);
+ }
+ }
+
+
+
+ /**
+ * Creates a new integer argument with the provided information.
+ *
+ * @param name
+ * The generic name that should be used to refer to this argument.
+ * @param shortIdentifier
+ * The single-character identifier for this argument, or
+ * <CODE>null</CODE> if there is none.
+ * @param longIdentifier
+ * The long identifier for this argument, or <CODE>null</CODE> if
+ * there is none.
+ * @param isRequired
+ * Indicates whether this argument must be specified on the command
+ * line.
+ * @param isMultiValued
+ * Indicates whether this argument may be specified more than once to
+ * provide multiple values.
+ * @param needsValue
+ * Indicates whether this argument requires a value.
+ * @param valuePlaceholder
+ * The placeholder for the argument value that will be displayed in
+ * usage information, or <CODE>null</CODE> if this argument does not
+ * require a value.
+ * @param defaultValue
+ * The default value that should be used for this argument if none is
+ * provided in a properties file or on the command line. This may be
+ * <CODE>null</CODE> if there is no generic default.
+ * @param propertyName
+ * The name of the property in a property file that may be used to
+ * override the default value but will be overridden by a
+ * command-line argument.
+ * @param description
+ * LocalizableMessage for the description of this argument.
+ * @throws ArgumentException
+ * If there is a problem with any of the parameters used to create
+ * this argument.
+ */
+ public IntegerArgument(final String name, final Character shortIdentifier,
+ final String longIdentifier, final boolean isRequired,
+ final boolean isMultiValued, final boolean needsValue,
+ final LocalizableMessage valuePlaceholder, final int defaultValue,
+ final String propertyName, final LocalizableMessage description)
+ throws ArgumentException
+ {
+ super(name, shortIdentifier, longIdentifier, isRequired, isMultiValued,
+ needsValue, valuePlaceholder, String.valueOf(defaultValue),
+ propertyName, description);
+
+ hasLowerBound = false;
+ hasUpperBound = false;
+ lowerBound = Integer.MIN_VALUE;
+ upperBound = Integer.MAX_VALUE;
+ }
+
+
+
+ /**
+ * Creates a new integer argument with the provided information.
+ *
+ * @param name
+ * The generic name that should be used to refer to this argument.
+ * @param shortIdentifier
+ * The single-character identifier for this argument, or
+ * <CODE>null</CODE> if there is none.
+ * @param longIdentifier
+ * The long identifier for this argument, or <CODE>null</CODE> if
+ * there is none.
+ * @param isRequired
+ * Indicates whether this argument must be specified on the command
+ * line.
+ * @param needsValue
+ * Indicates whether this argument requires a value.
+ * @param valuePlaceholder
+ * The placeholder for the argument value that will be displayed in
+ * usage information, or <CODE>null</CODE> if this argument does not
+ * require a value.
+ * @param hasLowerBound
+ * Indicates whether a lower bound should be enforced for values of
+ * this argument.
+ * @param lowerBound
+ * The lower bound that should be enforced for values of this
+ * argument.
+ * @param hasUpperBound
+ * Indicates whether an upperbound should be enforced for values of
+ * this argument.
+ * @param upperBound
+ * The upper bound that should be enforced for values of this
+ * argument.
+ * @param description
+ * LocalizableMessage for the description of this argument.
+ * @throws ArgumentException
+ * If there is a problem with any of the parameters used to create
+ * this argument.
+ */
+ public IntegerArgument(final String name, final Character shortIdentifier,
+ final String longIdentifier, final boolean isRequired,
+ final boolean needsValue, final LocalizableMessage valuePlaceholder,
+ final boolean hasLowerBound, final double lowerBound,
+ final boolean hasUpperBound, final double upperBound,
+ final LocalizableMessage description) throws ArgumentException
+ {
+ super(name, shortIdentifier, longIdentifier, isRequired, false, needsValue,
+ valuePlaceholder, null, null, description);
+
+ this.hasLowerBound = hasLowerBound;
+ this.hasUpperBound = hasUpperBound;
+ this.lowerBound = lowerBound;
+ this.upperBound = upperBound;
+
+ if (hasLowerBound && hasUpperBound && (lowerBound > upperBound))
+ {
+ final LocalizableMessage message = ERR_INTARG_LOWER_BOUND_ABOVE_UPPER_BOUND
+ .get(name, lowerBound, upperBound);
+ throw new ArgumentException(message);
+ }
+ }
+
+
+
+ /**
+ * Creates a new integer argument with the provided information.
+ *
+ * @param name
+ * The generic name that should be used to refer to this argument.
+ * @param shortIdentifier
+ * The single-character identifier for this argument, or
+ * <CODE>null</CODE> if there is none.
+ * @param longIdentifier
+ * The long identifier for this argument, or <CODE>null</CODE> if
+ * there is none.
+ * @param isRequired
+ * Indicates whether this argument must be specified on the command
+ * line.
+ * @param needsValue
+ * Indicates whether this argument requires a value.
+ * @param valuePlaceholder
+ * The placeholder for the argument value that will be displayed in
+ * usage information, or <CODE>null</CODE> if this argument does not
+ * require a value.
+ * @param description
+ * LocalizableMessage for the description of this argument.
+ * @throws ArgumentException
+ * If there is a problem with any of the parameters used to create
+ * this argument.
+ */
+ public IntegerArgument(final String name, final Character shortIdentifier,
+ final String longIdentifier, final boolean isRequired,
+ final boolean needsValue, final LocalizableMessage valuePlaceholder,
+ final LocalizableMessage description) throws ArgumentException
+ {
+ super(name, shortIdentifier, longIdentifier, isRequired, false, needsValue,
+ valuePlaceholder, null, null, description);
hasLowerBound = false;
hasUpperBound = false;
@@ -101,359 +431,9 @@
/**
- * Creates a new integer argument with the provided information.
+ * Retrieves the lower bound that may be enforced for values of this argument.
*
- * @param name
- * The generic name that should be used to refer to this
- * argument.
- * @param shortIdentifier
- * The single-character identifier for this argument, or
- * <CODE>null</CODE> if there is none.
- * @param longIdentifier
- * The long identifier for this argument, or
- * <CODE>null</CODE> if there is none.
- * @param isRequired
- * Indicates whether this argument must be specified on the
- * command line.
- * @param needsValue
- * Indicates whether this argument requires a value.
- * @param valuePlaceholder
- * The placeholder for the argument value that will be
- * displayed in usage information, or <CODE>null</CODE> if
- * this argument does not require a value.
- * @param hasLowerBound
- * Indicates whether a lower bound should be enforced for
- * values of this argument.
- * @param lowerBound
- * The lower bound that should be enforced for values of this
- * argument.
- * @param hasUpperBound
- * Indicates whether an upperbound should be enforced for
- * values of this argument.
- * @param upperBound
- * The upper bound that should be enforced for values of this
- * argument.
- * @param description
- * LocalizableMessage for the description of this argument.
- * @throws ArgumentException
- * If there is a problem with any of the parameters used to
- * create this argument.
- */
- public IntegerArgument(String name, Character shortIdentifier,
- String longIdentifier, boolean isRequired, boolean needsValue,
- LocalizableMessage valuePlaceholder, boolean hasLowerBound,
- double lowerBound, boolean hasUpperBound, double upperBound,
- LocalizableMessage description) throws ArgumentException
- {
- super(name, shortIdentifier, longIdentifier, isRequired, false,
- needsValue, valuePlaceholder, null, null, description);
-
- this.hasLowerBound = hasLowerBound;
- this.hasUpperBound = hasUpperBound;
- this.lowerBound = lowerBound;
- this.upperBound = upperBound;
-
- if (hasLowerBound && hasUpperBound && (lowerBound > upperBound))
- {
- LocalizableMessage message =
- ERR_INTARG_LOWER_BOUND_ABOVE_UPPER_BOUND.get(name,
- lowerBound, upperBound);
- throw new ArgumentException(message);
- }
- }
-
-
-
- /**
- * Creates a new integer argument with the provided information.
- *
- * @param name
- * The generic name that should be used to refer to this
- * argument.
- * @param shortIdentifier
- * The single-character identifier for this argument, or
- * <CODE>null</CODE> if there is none.
- * @param longIdentifier
- * The long identifier for this argument, or
- * <CODE>null</CODE> if there is none.
- * @param isRequired
- * Indicates whether this argument must be specified on the
- * command line.
- * @param isMultiValued
- * Indicates whether this argument may be specified more than
- * once to provide multiple values.
- * @param needsValue
- * Indicates whether this argument requires a value.
- * @param valuePlaceholder
- * The placeholder for the argument value that will be
- * displayed in usage information, or <CODE>null</CODE> if
- * this argument does not require a value.
- * @param defaultValue
- * The default value that should be used for this argument if
- * none is provided in a properties file or on the command
- * line. This may be <CODE>null</CODE> if there is no generic
- * default.
- * @param propertyName
- * The name of the property in a property file that may be
- * used to override the default value but will be overridden
- * by a command-line argument.
- * @param description
- * LocalizableMessage for the description of this argument.
- * @throws ArgumentException
- * If there is a problem with any of the parameters used to
- * create this argument.
- */
- public IntegerArgument(String name, Character shortIdentifier,
- String longIdentifier, boolean isRequired, boolean isMultiValued,
- boolean needsValue, LocalizableMessage valuePlaceholder, int defaultValue,
- String propertyName, LocalizableMessage description)
- throws ArgumentException
- {
- super(name, shortIdentifier, longIdentifier, isRequired,
- isMultiValued, needsValue, valuePlaceholder, String
- .valueOf(defaultValue), propertyName, description);
-
- hasLowerBound = false;
- hasUpperBound = false;
- lowerBound = Integer.MIN_VALUE;
- upperBound = Integer.MAX_VALUE;
- }
-
-
-
- /**
- * Creates a new integer argument with the provided information.
- *
- * @param name
- * The generic name that should be used to refer to this
- * argument.
- * @param shortIdentifier
- * The single-character identifier for this argument, or
- * <CODE>null</CODE> if there is none.
- * @param longIdentifier
- * The long identifier for this argument, or
- * <CODE>null</CODE> if there is none.
- * @param isRequired
- * Indicates whether this argument must be specified on the
- * command line.
- * @param isMultiValued
- * Indicates whether this argument may be specified more than
- * once to provide multiple values.
- * @param needsValue
- * Indicates whether this argument requires a value.
- * @param valuePlaceholder
- * The placeholder for the argument value that will be
- * displayed in usage information, or <CODE>null</CODE> if
- * this argument does not require a value.
- * @param defaultValue
- * The default value that should be used for this argument if
- * none is provided in a properties file or on the command
- * line. This may be <CODE>null</CODE> if there is no generic
- * default.
- * @param propertyName
- * The name of the property in a property file that may be
- * used to override the default value but will be overridden
- * by a command-line argument.
- * @param description
- * LocalizableMessage for the description of this argument.
- * @throws ArgumentException
- * If there is a problem with any of the parameters used to
- * create this argument.
- */
- public IntegerArgument(String name, Character shortIdentifier,
- String longIdentifier, boolean isRequired, boolean isMultiValued,
- boolean needsValue, LocalizableMessage valuePlaceholder,
- double defaultValue, String propertyName, LocalizableMessage description)
- throws ArgumentException
- {
- super(name, shortIdentifier, longIdentifier, isRequired,
- isMultiValued, needsValue, valuePlaceholder, String.format(
- "%f", defaultValue), propertyName, description);
-
- hasLowerBound = false;
- hasUpperBound = false;
- lowerBound = Integer.MIN_VALUE;
- upperBound = Integer.MAX_VALUE;
- }
-
-
-
- /**
- * Creates a new integer argument with the provided information.
- *
- * @param name
- * The generic name that should be used to refer to this
- * argument.
- * @param shortIdentifier
- * The single-character identifier for this argument, or
- * <CODE>null</CODE> if there is none.
- * @param longIdentifier
- * The long identifier for this argument, or
- * <CODE>null</CODE> if there is none.
- * @param isRequired
- * Indicates whether this argument must be specified on the
- * command line.
- * @param isMultiValued
- * Indicates whether this argument may be specified more than
- * once to provide multiple values.
- * @param needsValue
- * Indicates whether this argument requires a value.
- * @param valuePlaceholder
- * The placeholder for the argument value that will be
- * displayed in usage information, or <CODE>null</CODE> if
- * this argument does not require a value.
- * @param defaultValue
- * The default value that should be used for this argument if
- * none is provided in a properties file or on the command
- * line. This may be <CODE>null</CODE> if there is no generic
- * default.
- * @param propertyName
- * The name of the property in a property file that may be
- * used to override the default value but will be overridden
- * by a command-line argument.
- * @param hasLowerBound
- * Indicates whether a lower bound should be enforced for
- * values of this argument.
- * @param lowerBound
- * The lower bound that should be enforced for values of this
- * argument.
- * @param hasUpperBound
- * Indicates whether an upperbound should be enforced for
- * values of this argument.
- * @param upperBound
- * The upper bound that should be enforced for values of this
- * argument.
- * @param description
- * LocalizableMessage for the description of this argument.
- * @throws ArgumentException
- * If there is a problem with any of the parameters used to
- * create this argument.
- */
- public IntegerArgument(String name, Character shortIdentifier,
- String longIdentifier, boolean isRequired, boolean isMultiValued,
- boolean needsValue, LocalizableMessage valuePlaceholder, int defaultValue,
- String propertyName, boolean hasLowerBound, double lowerBound,
- boolean hasUpperBound, double upperBound, LocalizableMessage description)
- throws ArgumentException
- {
- super(name, shortIdentifier, longIdentifier, isRequired,
- isMultiValued, needsValue, valuePlaceholder, String
- .valueOf(defaultValue), propertyName, description);
-
- this.hasLowerBound = hasLowerBound;
- this.hasUpperBound = hasUpperBound;
- this.lowerBound = lowerBound;
- this.upperBound = upperBound;
-
- if (hasLowerBound && hasUpperBound && (lowerBound > upperBound))
- {
- LocalizableMessage message =
- ERR_INTARG_LOWER_BOUND_ABOVE_UPPER_BOUND.get(name,
- lowerBound, upperBound);
- throw new ArgumentException(message);
- }
- }
-
-
-
- /**
- * Creates a new integer argument with the provided information.
- *
- * @param name
- * The generic name that should be used to refer to this
- * argument.
- * @param shortIdentifier
- * The single-character identifier for this argument, or
- * <CODE>null</CODE> if there is none.
- * @param longIdentifier
- * The long identifier for this argument, or
- * <CODE>null</CODE> if there is none.
- * @param isRequired
- * Indicates whether this argument must be specified on the
- * command line.
- * @param isMultiValued
- * Indicates whether this argument may be specified more than
- * once to provide multiple values.
- * @param needsValue
- * Indicates whether this argument requires a value.
- * @param valuePlaceholder
- * The placeholder for the argument value that will be
- * displayed in usage information, or <CODE>null</CODE> if
- * this argument does not require a value.
- * @param defaultValue
- * The default value that should be used for this argument if
- * none is provided in a properties file or on the command
- * line. This may be <CODE>null</CODE> if there is no generic
- * default.
- * @param propertyName
- * The name of the property in a property file that may be
- * used to override the default value but will be overridden
- * by a command-line argument.
- * @param hasLowerBound
- * Indicates whether a lower bound should be enforced for
- * values of this argument.
- * @param lowerBound
- * The lower bound that should be enforced for values of this
- * argument.
- * @param hasUpperBound
- * Indicates whether an upperbound should be enforced for
- * values of this argument.
- * @param upperBound
- * The upper bound that should be enforced for values of this
- * argument.
- * @param description
- * LocalizableMessage for the description of this argument.
- * @throws ArgumentException
- * If there is a problem with any of the parameters used to
- * create this argument.
- */
- public IntegerArgument(String name, Character shortIdentifier,
- String longIdentifier, boolean isRequired, boolean isMultiValued,
- boolean needsValue, LocalizableMessage valuePlaceholder,
- double defaultValue, String propertyName, boolean hasLowerBound,
- double lowerBound, boolean hasUpperBound, double upperBound,
- LocalizableMessage description) throws ArgumentException
- {
- super(name, shortIdentifier, longIdentifier, isRequired,
- isMultiValued, needsValue, valuePlaceholder, String
- .valueOf(defaultValue), propertyName, description);
-
- this.hasLowerBound = hasLowerBound;
- this.hasUpperBound = hasUpperBound;
- this.lowerBound = lowerBound;
- this.upperBound = upperBound;
-
- if (hasLowerBound && hasUpperBound && (lowerBound > upperBound))
- {
- LocalizableMessage message =
- ERR_INTARG_LOWER_BOUND_ABOVE_UPPER_BOUND.get(name,
- lowerBound, upperBound);
- throw new ArgumentException(message);
- }
- }
-
-
-
- /**
- * Indicates whether a lower bound should be enforced for values of
- * this argument.
- *
- * @return <CODE>true</CODE> if a lower bound should be enforced for
- * values of this argument, or <CODE>false</CODE> if not.
- */
- public boolean hasLowerBound()
- {
- return hasLowerBound;
- }
-
-
-
- /**
- * Retrieves the lower bound that may be enforced for values of this
- * argument.
- *
- * @return The lower bound that may be enforced for values of this
- * argument.
+ * @return The lower bound that may be enforced for values of this argument.
*/
public double getLowerBound()
{
@@ -463,29 +443,41 @@
/**
- * Indicates whether a upper bound should be enforced for values of
- * this argument.
+ * Retrieves the upper bound that may be enforced for values of this argument.
*
- * @return <CODE>true</CODE> if a upper bound should be enforced for
- * values of this argument, or <CODE>false</CODE> if not.
+ * @return The upper bound that may be enforced for values of this argument.
*/
- public boolean hasUpperBound()
+ public double getUpperBound()
{
- return hasUpperBound;
+ return upperBound;
}
/**
- * Retrieves the upper bound that may be enforced for values of this
+ * Indicates whether a lower bound should be enforced for values of this
* argument.
*
- * @return The upper bound that may be enforced for values of this
- * argument.
+ * @return <CODE>true</CODE> if a lower bound should be enforced for values of
+ * this argument, or <CODE>false</CODE> if not.
*/
- public double getUpperBound()
+ public boolean hasLowerBound()
{
- return upperBound;
+ return hasLowerBound;
+ }
+
+
+
+ /**
+ * Indicates whether a upper bound should be enforced for values of this
+ * argument.
+ *
+ * @return <CODE>true</CODE> if a upper bound should be enforced for values of
+ * this argument, or <CODE>false</CODE> if not.
+ */
+ public boolean hasUpperBound()
+ {
+ return hasUpperBound;
}
@@ -497,13 +489,14 @@
* @param valueString
* The value for which to make the determination.
* @param invalidReason
- * A buffer into which the invalid reason may be written if
- * the value is not acceptable.
- * @return <CODE>true</CODE> if the value is acceptable, or
- * <CODE>false</CODE> if it is not.
+ * A buffer into which the invalid reason may be written if the value
+ * is not acceptable.
+ * @return <CODE>true</CODE> if the value is acceptable, or <CODE>false</CODE>
+ * if it is not.
*/
- public boolean valueIsAcceptable(String valueString,
- LocalizableMessageBuilder invalidReason)
+ @Override
+ public boolean valueIsAcceptable(final String valueString,
+ final LocalizableMessageBuilder invalidReason)
{
// First, the value must be decodable as an integer.
double intValue;
@@ -511,10 +504,10 @@
{
intValue = Double.parseDouble(valueString);
}
- catch (Exception e)
+ catch (final Exception e)
{
- invalidReason.append(ERR_ARG_CANNOT_DECODE_AS_INT.get(
- valueString, getName()));
+ invalidReason.append(ERR_ARG_CANNOT_DECODE_AS_INT.get(valueString,
+ getName()));
return false;
}
@@ -523,8 +516,8 @@
// to it.
if (hasLowerBound && (intValue < lowerBound))
{
- invalidReason.append(ERR_INTARG_VALUE_BELOW_LOWER_BOUND.get(
- getName(), intValue, lowerBound));
+ invalidReason.append(ERR_INTARG_VALUE_BELOW_LOWER_BOUND.get(getName(),
+ intValue, lowerBound));
return false;
}
@@ -534,8 +527,8 @@
if (hasUpperBound && (intValue > upperBound))
{
- invalidReason.append(ERR_INTARG_VALUE_ABOVE_UPPER_BOUND.get(
- getName(), intValue, upperBound));
+ invalidReason.append(ERR_INTARG_VALUE_ABOVE_UPPER_BOUND.get(getName(),
+ intValue, upperBound));
return false;
}
--
Gitblit v1.10.0