com.unboundid.util.args
Class ScopeArgument

java.lang.Object
  extended by com.unboundid.util.args.Argument
      extended by com.unboundid.util.args.ScopeArgument
All Implemented Interfaces:
java.io.Serializable

@Mutable
@ThreadSafety(level=NOT_THREADSAFE)
public final class ScopeArgument
extends Argument

This class defines an argument that is intended to hold one search scope values. Scope arguments must take values, and those arguments must represent valid search scopes. Supported scope values include:

See Also:
Serialized Form

Constructor Summary
ScopeArgument(java.lang.Character shortIdentifier, java.lang.String longIdentifier, boolean isRequired, java.lang.String valuePlaceholder, java.lang.String description)
          Creates a new search scope argument with the provided information.
ScopeArgument(java.lang.Character shortIdentifier, java.lang.String longIdentifier, boolean isRequired, java.lang.String valuePlaceholder, java.lang.String description, SearchScope defaultValue)
          Creates a new search scope argument with the provided information.
 
Method Summary
protected  void addValue(java.lang.String valueString)
          Adds the provided value to the set of values for this argument.
 ScopeArgument getCleanCopy()
          Creates a copy of this argument that is "clean" and appears as if it has not been used in the course of parsing an argument set.
 java.lang.String getDataTypeName()
          Retrieves a concise name of the data type with which this argument is associated.
 SearchScope getDefaultValue()
          Retrieves the default value for this argument, which will be used if no value was provided.
 SearchScope getValue()
          Retrieves the value for this argument, or the default value if none was provided.
 java.lang.String getValueConstraints()
          Retrieves a human-readable string with information about any constraints that may be imposed for values of this argument.
protected  boolean hasDefaultValue()
          Indicates whether this argument has one or more default values that will be used if it is not provided on the command line.
 void toString(java.lang.StringBuilder buffer)
          Appends a string representation of this argument to the provided buffer.
 
Methods inherited from class com.unboundid.util.args.Argument
addLongIdentifier, addShortIdentifier, appendBasicToStringInfo, getDescription, getIdentifierString, getLongIdentifier, getLongIdentifiers, getMaxOccurrences, getNumOccurrences, getShortIdentifier, getShortIdentifiers, getValuePlaceholder, hasLongIdentifier, hasShortIdentifier, isHidden, isPresent, isRequired, isUsageArgument, setHidden, setMaxOccurrences, setUsageArgument, takesValue, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ScopeArgument

public ScopeArgument(java.lang.Character shortIdentifier,
                     java.lang.String longIdentifier,
                     boolean isRequired,
                     java.lang.String valuePlaceholder,
                     java.lang.String description)
              throws ArgumentException
Creates a new search scope argument with the provided information. It will not have a default value.

Parameters:
shortIdentifier - The short identifier for this argument. It may not be null if the long identifier is null.
longIdentifier - The long identifier for this argument. It may not be null if the short identifier is null.
isRequired - Indicates whether this argument is required to be provided.
valuePlaceholder - A placeholder to display in usage information to indicate that a value must be provided. It must not be null.
description - A human-readable description for this argument. It must not be null.
Throws:
ArgumentException - If there is a problem with the definition of this argument.

ScopeArgument

public ScopeArgument(java.lang.Character shortIdentifier,
                     java.lang.String longIdentifier,
                     boolean isRequired,
                     java.lang.String valuePlaceholder,
                     java.lang.String description,
                     SearchScope defaultValue)
              throws ArgumentException
Creates a new search scope argument with the provided information.

Parameters:
shortIdentifier - The short identifier for this argument. It may not be null if the long identifier is null.
longIdentifier - The long identifier for this argument. It may not be null if the short identifier is null.
isRequired - Indicates whether this argument is required to be provided.
valuePlaceholder - A placeholder to display in usage information to indicate that a value must be provided. It must not be null.
description - A human-readable description for this argument. It must not be null.
defaultValue - The default value to use for this argument if no values were provided. It may be null if there should be no default values.
Throws:
ArgumentException - If there is a problem with the definition of this argument.
Method Detail

getDefaultValue

public SearchScope getDefaultValue()
Retrieves the default value for this argument, which will be used if no value was provided.

Returns:
The default value for this argument, or null if there is no default value.

addValue

protected void addValue(java.lang.String valueString)
                 throws ArgumentException
Adds the provided value to the set of values for this argument. This method should only be called by the argument parser.

Specified by:
addValue in class Argument
Parameters:
valueString - The string representation of the value.
Throws:
ArgumentException - If the provided value is not acceptable, if this argument does not accept values, or if this argument already has the maximum allowed number of values.

getValue

public SearchScope getValue()
Retrieves the value for this argument, or the default value if none was provided.

Returns:
The value for this argument, or the default value if none was provided, or null if there is no value and no default value.

hasDefaultValue

protected boolean hasDefaultValue()
Indicates whether this argument has one or more default values that will be used if it is not provided on the command line.

Specified by:
hasDefaultValue in class Argument
Returns:
true if this argument has one or more default values, or false if not.

getDataTypeName

public java.lang.String getDataTypeName()
Retrieves a concise name of the data type with which this argument is associated.

Specified by:
getDataTypeName in class Argument
Returns:
A concise name of the data type with which this argument is associated.

getValueConstraints

public java.lang.String getValueConstraints()
Retrieves a human-readable string with information about any constraints that may be imposed for values of this argument.

Overrides:
getValueConstraints in class Argument
Returns:
A human-readable string with information about any constraints that may be imposed for values of this argument, or null if there are none.

getCleanCopy

public ScopeArgument getCleanCopy()
Creates a copy of this argument that is "clean" and appears as if it has not been used in the course of parsing an argument set. The new argument will have all of the same identifiers and The new parser will have all of the same arguments and constraints as this parser.

Specified by:
getCleanCopy in class Argument
Returns:
The "clean" copy of this argument.

toString

public void toString(java.lang.StringBuilder buffer)
Appends a string representation of this argument to the provided buffer.

Specified by:
toString in class Argument
Parameters:
buffer - The buffer to which the information should be appended.