Package org.refcodes.console
Class ArgsParserImpl
- java.lang.Object
-
- org.refcodes.console.ArgsParserImpl
-
- All Implemented Interfaces:
org.refcodes.component.Resetable
,ArgsParser
,ArgsParserMixin<ArgsParser>
,RootConditionAccessor
,org.refcodes.mixin.DescriptionAccessor
,org.refcodes.mixin.DescriptionAccessor.DescriptionBuilder<ArgsParser>
,org.refcodes.mixin.DescriptionAccessor.DescriptionMutator
,org.refcodes.mixin.DescriptionAccessor.DescriptionProperty
,org.refcodes.mixin.EscapeCodesStatusAccessor
,org.refcodes.mixin.EscapeCodesStatusAccessor.EscapeCodeStatusBuilder<ArgsParser>
,org.refcodes.mixin.EscapeCodesStatusAccessor.EscapeCodeStatusMutator
,org.refcodes.mixin.EscapeCodesStatusAccessor.EscapeCodeStatusProperty
,org.refcodes.mixin.NameAccessor
,org.refcodes.mixin.NameAccessor.NameBuilder<ArgsParser>
,org.refcodes.mixin.NameAccessor.NameMutator
,org.refcodes.mixin.NameAccessor.NameProperty
,org.refcodes.mixin.ResetEscapeCodeAccessor
,org.refcodes.mixin.ResetEscapeCodeAccessor.ResetEscapeCodeBuilder<ArgsParser>
,org.refcodes.mixin.ResetEscapeCodeAccessor.ResetEscapeCodeMutator
,org.refcodes.mixin.ResetEscapeCodeAccessor.ResetEscapeCodeProperty
,org.refcodes.mixin.TitleAccessor
,org.refcodes.mixin.TitleAccessor.TitleBuilder<ArgsParser>
,org.refcodes.mixin.TitleAccessor.TitleMutator
,org.refcodes.mixin.TitleAccessor.TitleProperty
,org.refcodes.textual.TextBoxGridAccessor
,org.refcodes.textual.TextBoxGridAccessor.TextBoxGridBuilder<ArgsParser>
,org.refcodes.textual.TextBoxGridAccessor.TextBoxGridMutator
,org.refcodes.textual.TextBoxGridAccessor.TextBoxGridProperty
public class ArgsParserImpl extends java.lang.Object implements ArgsParser
A straightforward implementation of theArgsParser
interface. The constructor only provides means to set the required attributes as the attributes to be adjusted optionally are already sufficiently pre-configured. For adjusting them, a flavor of the Builder-Pattern is provided with which you can easily chain the configuration of this instance; as them methods return the instance of this class being configured. This helps to prevent the telescoping constructor anti-pattern.The
SyntaxNotation
is pre-set with theSyntaxNotation.REFCODES
notation.The console width id pre-configured with the console's width as determined by the
SystemUtility.getTerminalWidth()
.The standard out
PrintStream
is pre-configured with theSystem.out
PrintStream
.The newline characters to be used for line breaks is "\r\n" on Windows machines and "\"n" on all other machines as of the
SystemUtility.getLineBreak()
.- See Also:
- "http://en.wikipedia.org/wiki/Builder_pattern"
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.refcodes.mixin.DescriptionAccessor
org.refcodes.mixin.DescriptionAccessor.DescriptionBuilder<B extends org.refcodes.mixin.DescriptionAccessor.DescriptionBuilder<B>>, org.refcodes.mixin.DescriptionAccessor.DescriptionMutator, org.refcodes.mixin.DescriptionAccessor.DescriptionProperty
-
Nested classes/interfaces inherited from interface org.refcodes.mixin.EscapeCodesStatusAccessor
org.refcodes.mixin.EscapeCodesStatusAccessor.EscapeCodeStatusBuilder<B extends org.refcodes.mixin.EscapeCodesStatusAccessor.EscapeCodeStatusBuilder<B>>, org.refcodes.mixin.EscapeCodesStatusAccessor.EscapeCodeStatusMutator, org.refcodes.mixin.EscapeCodesStatusAccessor.EscapeCodeStatusProperty
-
Nested classes/interfaces inherited from interface org.refcodes.mixin.NameAccessor
org.refcodes.mixin.NameAccessor.NameBuilder<B extends org.refcodes.mixin.NameAccessor.NameBuilder<B>>, org.refcodes.mixin.NameAccessor.NameMutator, org.refcodes.mixin.NameAccessor.NameProperty
-
Nested classes/interfaces inherited from interface org.refcodes.mixin.ResetEscapeCodeAccessor
org.refcodes.mixin.ResetEscapeCodeAccessor.ResetEscapeCodeBuilder<B extends org.refcodes.mixin.ResetEscapeCodeAccessor.ResetEscapeCodeBuilder<B>>, org.refcodes.mixin.ResetEscapeCodeAccessor.ResetEscapeCodeMutator, org.refcodes.mixin.ResetEscapeCodeAccessor.ResetEscapeCodeProperty
-
Nested classes/interfaces inherited from interface org.refcodes.console.RootConditionAccessor
RootConditionAccessor.RootConditionBuilder<B extends RootConditionAccessor.RootConditionBuilder<B>>, RootConditionAccessor.RootConditionMutator, RootConditionAccessor.RootConditionProperty
-
Nested classes/interfaces inherited from interface org.refcodes.textual.TextBoxGridAccessor
org.refcodes.textual.TextBoxGridAccessor.TextBoxGridBuilder<B extends org.refcodes.textual.TextBoxGridAccessor.TextBoxGridBuilder<?>>, org.refcodes.textual.TextBoxGridAccessor.TextBoxGridMutator, org.refcodes.textual.TextBoxGridAccessor.TextBoxGridProperty
-
-
Constructor Summary
Constructors Constructor Description ArgsParserImpl()
Constructs theArgsParser
instance without any restrictions to the parsed arguments.ArgsParserImpl(Condition aRootCondition)
Constructs theArgsParser
instance with the given rootCondition
and the defaultSyntaxNotation.REFCODES
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
errorLn(java.lang.String aLine)
Prints the given line to standard error with regards to to the console width as specified by theArgsParser.withConsoleWidth(int)
method.java.util.List<? extends Operand<?>>
evalArgs(java.lang.String[] aArgs)
Evaluates the provided command line arguments and determines the according values by evaluating the rootCondition
.protected static java.util.List<? extends Operand<?>>
fromArgs(java.lang.String[] aArgs, char aDelimiter)
Heuristically loads the arguments without any syntax required, e.g.java.lang.String
getBannerBorderEscapeCode()
Retrieves the banner's border Escape-Code from the banner border Escape-Code property.java.lang.String
getBannerEscapeCode()
Retrieves the banner's content Escape-Code from the banner Escape-Code property.java.lang.String
getCopyrightNote()
Retrieves the copyright.protected char
getDelimiter()
Returns the delimiter to be used by colliding command line args when creating non colliding arg's aliases (keys for key/value-pairs).java.lang.String
getDescription()
Retrieves the description.java.lang.String
getLicenseNote()
Retrieves the license.java.lang.String
getLineSeparatorEscapeCode()
Retrieves the line separator Escape-Code from the line separator Escape-Code property.java.lang.String
getName()
java.lang.String
getParameterDescriptionEscapeCode()
Retrieves the parameter's description Escape-Code from the parameter's description Escape-Code property.java.lang.String
getParameterEscapeCode()
Retrieves the parameter Escape-Code from the parameter Escape-Code property.java.lang.String
getResetEscapeCode()
Condition
getRootCondition()
The root condition is the starting point node of aSyntaxable
hierarchy to be traversed when determining the syntax for command line arguments or when evaluating the command line arguments.char
getSeparatorLnChar()
Gets the character to be used when printing a separator line with theArgsParser.printSeparatorLn()
method.org.refcodes.textual.TextBoxGrid
getTextBoxGrid()
java.lang.String
getTitle()
boolean
isEscapeCodesEnabled()
void
printBanner()
Prints the banner; the banner most probably is an ASCII_HEADER_ASCII_BODY art text block which's look depends strongly on the taste of the author implementing this interface.void
printCopyrightNote()
Prints the copyright note as specified by theArgsParser.withCopyrightNote(String)
method; with regards to to the console width as specified by theArgsParser.withConsoleWidth(int)
method.void
printDescription()
Prints the description as set by theArgsParser.withDescription(String)
method with regards to the console width as specified by theArgsParser.withConsoleWidth(int)
method.void
printLicenseNote()
Prints the license note as specified by theArgsParser.withLicenseNote(String)
method; with regards to to the console width as specified by theArgsParser.withConsoleWidth(int)
method.void
printLn()
Prints an empty line / a line break.void
printLn(java.lang.String aLine)
Prints the given line to standard out with regards to to the console width as specified by theArgsParser.withConsoleWidth(int)
method.void
printOptions()
Prints theOption
s (short- and the long-options), theFlag
es and theOperand
and their description with regards to the console width as specified by theArgsParser.withConsoleWidth(int)
method.void
printSeparatorLn()
Prints a separator line using the separator character as specified by theArgsParser.withSeparatorLnChar(char)
method; with regards to to the console width as specified by theArgsParser.withConsoleWidth(int)
method.void
printUsage()
Prints the syntax as retrieved by the rootCondition
with regards to theSyntaxNotation
set by theArgsParser.withSyntaxNotation(SyntaxNotation)
method; making use of the usage label as passed by theArgsParser.withUsageLabel(String)
method.void
reset()
void
setBannerBorderEscapeCode(java.lang.String aBannerBorderEscCode)
Sets the banner's border Escape-Code for the banner border Escape-Code property.void
setBannerEscapeCode(java.lang.String aBannerEscCode)
Sets the banner's content Escape-Code for the banner Escape-Code property.void
setBannerFont(org.refcodes.textual.Font aBannerFont)
Sets the banner font.void
setBannerFontPalette(char[] aColorPalette)
Sets the banner font palette.void
setConsoleWidth(int aConsoleWidth)
Set the console with.void
setCopyrightNote(java.lang.String aCopyrightNote)
Set the copyright note used by theArgsParser.printHelp()
method when writing out the copyright claim and make other adjustments with the result (with regards to the Builder-Pattern).void
setDescription(java.lang.String aDescription)
void
setErrorOut(java.io.PrintStream aErrorOut)
Set the error outPrintStream
and make other adjustments with the result (with regards to the Builder-Pattern).void
setEscapeCodesEnabled(boolean isEscCodeEnabled)
void
setLicenseNote(java.lang.String aLicenseNote)
Set the license note used by theArgsParser.printHelp()
method when writing out the licensing conditions.void
setLineBreak(java.lang.String aLineBreak)
Set the console's line break.void
setLineSeparatorEscapeCode(java.lang.String aLineSeparatorEscCode)
Sets the line separator Escape-Code for the line separator Escape-Code property.void
setMaxConsoleWidth(int aMaxConsoleWidth)
Set the maximum console width to use in case the console width is greater than the maximum you want.void
setName(java.lang.String aName)
void
setParameterDescriptionEscapeCode(java.lang.String aParamDescriptionEscCode)
Sets the parameter's description Escape-Code for the parameter's description Escape-Code property.void
setParameterEscapeCode(java.lang.String aParamEscCode)
Sets the parameter Escape-Code for the parameter Escape-Code property.void
setResetEscapeCode(java.lang.String aResetEscCode)
void
setSeparatorLnChar(char aSeparatorLnChar)
Set the character to be used when printing a separator line with theArgsParser.printSeparatorLn()
method.void
setStandardOut(java.io.PrintStream aStandardOut)
Set the standard outPrintStream
and make other adjustments with the result (with regards to the Builder-Pattern).void
setSyntaxNotation(SyntaxNotation aSyntaxNotation)
Set theSyntaxNotation
.void
setTextBoxGrid(org.refcodes.textual.TextBoxGrid aTextBoxGrid)
void
setTitle(java.lang.String aTitle)
void
setUsageLabel(java.lang.String aUsageLabel)
Set the usage label used by theArgsParser.printHelp()
method when writing out the syntax.-
Methods inherited from interface org.refcodes.console.ArgsParser
evalArgs, printBody, printHelp, withBannerBorderEscapeCode, withBannerEscapeCode, withBannerFont, withBannerFontPalette, withConsoleWidth, withCopyrightNote, withDescription, withErrorOut, withEscapeCodesEnabled, withEvalArgs, withEvalArgs, withLicenseNote, withLineBreak, withLineSeparatorEscapeCode, withMaxConsoleWidth, withName, withParameterDescriptionEscapeCode, withParameterEscapeCode, withParseArgs, withResetEscapeCode, withSeparatorLnChar, withStandardOut, withSyntaxNotation, withTextBoxGrid, withTitle, withUsageLabel
-
Methods inherited from interface org.refcodes.console.ArgsParserMixin
withParseArgs
-
-
-
-
Constructor Detail
-
ArgsParserImpl
public ArgsParserImpl()
Constructs theArgsParser
instance without any restrictions to the parsed arguments. The constructor only provides means to set the required attributes as the attributes to be adjusted optionally are already sufficiently pre-configured. For adjusting them, a flavor of the Builder-Pattern is provided with which you can easily chain the configuration of this instance; as them methods return the instance of this class being configured.
-
ArgsParserImpl
public ArgsParserImpl(Condition aRootCondition)
Constructs theArgsParser
instance with the given rootCondition
and the defaultSyntaxNotation.REFCODES
. The constructor only provides means to set the required attributes as the attributes to be adjusted optionally are already sufficiently pre-configured. For adjusting them, a flavor of the Builder-Pattern is provided with which you can easily chain the configuration of this instance; as them methods return the instance of this class being configured.- Parameters:
aRootCondition
- The root condition being the node from which parsing the command line arguments starts.
-
-
Method Detail
-
getLineSeparatorEscapeCode
public java.lang.String getLineSeparatorEscapeCode()
Retrieves the line separator Escape-Code from the line separator Escape-Code property.- Specified by:
getLineSeparatorEscapeCode
in interfaceArgsParser
- Returns:
- The line separator Escape-Code stored by the line separator Escape-Code property.
-
setLineSeparatorEscapeCode
public void setLineSeparatorEscapeCode(java.lang.String aLineSeparatorEscCode)
Sets the line separator Escape-Code for the line separator Escape-Code property.- Specified by:
setLineSeparatorEscapeCode
in interfaceArgsParser
- Parameters:
aLineSeparatorEscCode
- The line separator Escape-Code to be stored by the line separator Escape-Code property.
-
getBannerEscapeCode
public java.lang.String getBannerEscapeCode()
Retrieves the banner's content Escape-Code from the banner Escape-Code property.- Specified by:
getBannerEscapeCode
in interfaceArgsParser
- Returns:
- The banner Escape-Code stored by the banner Escape-Code property.
-
getBannerBorderEscapeCode
public java.lang.String getBannerBorderEscapeCode()
Retrieves the banner's border Escape-Code from the banner border Escape-Code property.- Specified by:
getBannerBorderEscapeCode
in interfaceArgsParser
- Returns:
- The banner border Escape-Code stored by the banner border Escape-Code property.
-
setBannerEscapeCode
public void setBannerEscapeCode(java.lang.String aBannerEscCode)
Sets the banner's content Escape-Code for the banner Escape-Code property.- Specified by:
setBannerEscapeCode
in interfaceArgsParser
- Parameters:
aBannerEscCode
- The banner Escape-Code to be stored by the banner Escape-Code property.
-
setBannerBorderEscapeCode
public void setBannerBorderEscapeCode(java.lang.String aBannerBorderEscCode)
Sets the banner's border Escape-Code for the banner border Escape-Code property.- Specified by:
setBannerBorderEscapeCode
in interfaceArgsParser
- Parameters:
aBannerBorderEscCode
- The banner border Escape-Code to be stored by the banner border Escape-Code property.
-
getParameterEscapeCode
public java.lang.String getParameterEscapeCode()
Retrieves the parameter Escape-Code from the parameter Escape-Code property.- Specified by:
getParameterEscapeCode
in interfaceArgsParser
- Returns:
- The parameter Escape-Code stored by the parameter Escape-Code property.
-
setParameterEscapeCode
public void setParameterEscapeCode(java.lang.String aParamEscCode)
Sets the parameter Escape-Code for the parameter Escape-Code property.- Specified by:
setParameterEscapeCode
in interfaceArgsParser
- Parameters:
aParamEscCode
- The parameter Escape-Code to be stored by the parameter Escape-Code property.
-
errorLn
public void errorLn(java.lang.String aLine)
Prints the given line to standard error with regards to to the console width as specified by theArgsParser.withConsoleWidth(int)
method.- Specified by:
errorLn
in interfaceArgsParser
- Parameters:
aLine
- The line to be printed.
-
evalArgs
public java.util.List<? extends Operand<?>> evalArgs(java.lang.String[] aArgs) throws UnknownArgsException, AmbiguousArgsException, SuperfluousArgsException, ParseArgsException
Evaluates the provided command line arguments and determines the according values by evaluating the rootCondition
. In case of parsing failure, an according exception is thrown. ATTENTION: This method tests(!) for superfluous command line arguments being passed; e.g. command line arguments not being evaluated by any of theSyntaxable
instance being traversed starting at the rootCondition
will be reported. Business logic therefore should invoke this root node'sArgsParser.evalArgs(String[])
method instead of aCondition
'sSyntaxable.parseArgs(String[], String[])
method; as ignoring superfluous command line arguments will cause unexpected behavior from the point of view of the invoker.- Specified by:
evalArgs
in interfaceArgsParser
- Parameters:
aArgs
- The command line arguments to be evaluated.- Returns:
- The list of evaluated command line arguments being instances of
the
Operand
interfaces or its sub-types. - Throws:
UnknownArgsException
- Thrown in case not one command line argument matched regarding the provided args vs. the expected args.AmbiguousArgsException
- Thrown in case at least one command line argument is ambiguous regarding expected args vs. provided args.SuperfluousArgsException
- Thrown in case there were arguments found not being used (superfluous arguments).ParseArgsException
- Thrown in case the provided command line arguments do not respect the required syntax or cannot be converted to the required type
-
getCopyrightNote
public java.lang.String getCopyrightNote()
Retrieves the copyright.- Specified by:
getCopyrightNote
in interfaceArgsParser
- Returns:
- The copyright note.
-
getDelimiter
protected char getDelimiter()
Returns the delimiter to be used by colliding command line args when creating non colliding arg's aliases (keys for key/value-pairs).- Returns:
- The according delimiter.
-
getDescription
public java.lang.String getDescription()
Retrieves the description.- Specified by:
getDescription
in interfaceArgsParser
- Specified by:
getDescription
in interfaceorg.refcodes.mixin.DescriptionAccessor
- Returns:
- The description.
-
getLicenseNote
public java.lang.String getLicenseNote()
Retrieves the license.- Specified by:
getLicenseNote
in interfaceArgsParser
- Returns:
- The license note.
-
getName
public java.lang.String getName()
- Specified by:
getName
in interfaceorg.refcodes.mixin.NameAccessor
-
getRootCondition
public Condition getRootCondition()
The root condition is the starting point node of aSyntaxable
hierarchy to be traversed when determining the syntax for command line arguments or when evaluating the command line arguments. Retrieves the rootCondition from the rootCondition property.- Specified by:
getRootCondition
in interfaceArgsParser
- Specified by:
getRootCondition
in interfaceRootConditionAccessor
- Returns:
- The root
Condition
in which's syntax this parser is based.
-
getResetEscapeCode
public java.lang.String getResetEscapeCode()
- Specified by:
getResetEscapeCode
in interfaceorg.refcodes.mixin.ResetEscapeCodeAccessor
-
setResetEscapeCode
public void setResetEscapeCode(java.lang.String aResetEscCode)
- Specified by:
setResetEscapeCode
in interfaceorg.refcodes.mixin.ResetEscapeCodeAccessor.ResetEscapeCodeMutator
-
getTitle
public java.lang.String getTitle()
- Specified by:
getTitle
in interfaceorg.refcodes.mixin.TitleAccessor
-
printBanner
public void printBanner()
Prints the banner; the banner most probably is an ASCII_HEADER_ASCII_BODY art text block which's look depends strongly on the taste of the author implementing this interface.- Specified by:
printBanner
in interfaceArgsParser
-
printCopyrightNote
public void printCopyrightNote()
Prints the copyright note as specified by theArgsParser.withCopyrightNote(String)
method; with regards to to the console width as specified by theArgsParser.withConsoleWidth(int)
method.- Specified by:
printCopyrightNote
in interfaceArgsParser
-
printDescription
public void printDescription()
Prints the description as set by theArgsParser.withDescription(String)
method with regards to the console width as specified by theArgsParser.withConsoleWidth(int)
method.- Specified by:
printDescription
in interfaceArgsParser
-
printLicenseNote
public void printLicenseNote()
Prints the license note as specified by theArgsParser.withLicenseNote(String)
method; with regards to to the console width as specified by theArgsParser.withConsoleWidth(int)
method.- Specified by:
printLicenseNote
in interfaceArgsParser
-
printLn
public void printLn()
Prints an empty line / a line break.- Specified by:
printLn
in interfaceArgsParser
-
printLn
public void printLn(java.lang.String aLine)
Prints the given line to standard out with regards to to the console width as specified by theArgsParser.withConsoleWidth(int)
method.- Specified by:
printLn
in interfaceArgsParser
- Parameters:
aLine
- The line to be printed.
-
printOptions
public void printOptions()
Prints theOption
s (short- and the long-options), theFlag
es and theOperand
and their description with regards to the console width as specified by theArgsParser.withConsoleWidth(int)
method.- Specified by:
printOptions
in interfaceArgsParser
-
printSeparatorLn
public void printSeparatorLn()
Prints a separator line using the separator character as specified by theArgsParser.withSeparatorLnChar(char)
method; with regards to to the console width as specified by theArgsParser.withConsoleWidth(int)
method.- Specified by:
printSeparatorLn
in interfaceArgsParser
-
printUsage
public void printUsage()
Prints the syntax as retrieved by the rootCondition
with regards to theSyntaxNotation
set by theArgsParser.withSyntaxNotation(SyntaxNotation)
method; making use of the usage label as passed by theArgsParser.withUsageLabel(String)
method.- Specified by:
printUsage
in interfaceArgsParser
-
reset
public void reset()
- Specified by:
reset
in interfaceorg.refcodes.component.Resetable
-
setBannerFont
public void setBannerFont(org.refcodes.textual.Font aBannerFont)
Sets the banner font.- Specified by:
setBannerFont
in interfaceArgsParser
- Parameters:
aBannerFont
- the new banner font
-
setBannerFontPalette
public void setBannerFontPalette(char[] aColorPalette)
Sets the banner font palette.- Specified by:
setBannerFontPalette
in interfaceArgsParser
- Parameters:
aColorPalette
- the new banner font palette
-
setConsoleWidth
public void setConsoleWidth(int aConsoleWidth)
Set the console with. A setting of "-1" makes the instance use theSystemUtility.getTerminalWidth()
value, i.e. the console width is set automatically to be the width of your terminal.- Specified by:
setConsoleWidth
in interfaceArgsParser
- Parameters:
aConsoleWidth
- The width to set or -1 to let the parser automatically determine the console width.
-
setCopyrightNote
public void setCopyrightNote(java.lang.String aCopyrightNote)
Set the copyright note used by theArgsParser.printHelp()
method when writing out the copyright claim and make other adjustments with the result (with regards to the Builder-Pattern).- Specified by:
setCopyrightNote
in interfaceArgsParser
- Parameters:
aCopyrightNote
- The license note printed out by theArgsParser.printHelp()
method.
-
setDescription
public void setDescription(java.lang.String aDescription)
- Specified by:
setDescription
in interfaceorg.refcodes.mixin.DescriptionAccessor.DescriptionMutator
-
setErrorOut
public void setErrorOut(java.io.PrintStream aErrorOut)
Set the error outPrintStream
and make other adjustments with the result (with regards to the Builder-Pattern).- Specified by:
setErrorOut
in interfaceArgsParser
- Parameters:
aErrorOut
- The error outPrintStream
to set.
-
isEscapeCodesEnabled
public boolean isEscapeCodesEnabled()
- Specified by:
isEscapeCodesEnabled
in interfaceorg.refcodes.mixin.EscapeCodesStatusAccessor
-
setEscapeCodesEnabled
public void setEscapeCodesEnabled(boolean isEscCodeEnabled)
- Specified by:
setEscapeCodesEnabled
in interfaceorg.refcodes.mixin.EscapeCodesStatusAccessor.EscapeCodeStatusMutator
-
getParameterDescriptionEscapeCode
public java.lang.String getParameterDescriptionEscapeCode()
Retrieves the parameter's description Escape-Code from the parameter's description Escape-Code property.- Specified by:
getParameterDescriptionEscapeCode
in interfaceArgsParser
- Returns:
- The parameter's description Escape-Code stored by the parameter's description Escape-Code property.
-
setParameterDescriptionEscapeCode
public void setParameterDescriptionEscapeCode(java.lang.String aParamDescriptionEscCode)
Sets the parameter's description Escape-Code for the parameter's description Escape-Code property.- Specified by:
setParameterDescriptionEscapeCode
in interfaceArgsParser
- Parameters:
aParamDescriptionEscCode
- The parameter's description Escape-Code to be stored by the parameter's description Escape-Code property.
-
setLicenseNote
public void setLicenseNote(java.lang.String aLicenseNote)
Set the license note used by theArgsParser.printHelp()
method when writing out the licensing conditions.- Specified by:
setLicenseNote
in interfaceArgsParser
- Parameters:
aLicenseNote
- The license note printed out by theArgsParser.printHelp()
method.
-
setLineBreak
public void setLineBreak(java.lang.String aLineBreak)
Set the console's line break. A setting of null makes the instance use theSystemUtility.getLineBreak()
value.- Specified by:
setLineBreak
in interfaceArgsParser
- Parameters:
aLineBreak
- the new line break
-
setMaxConsoleWidth
public void setMaxConsoleWidth(int aMaxConsoleWidth)
Set the maximum console width to use in case the console width is greater than the maximum you want. This is most useful when the console width is determined automatically to be the width of your terminal.- Specified by:
setMaxConsoleWidth
in interfaceArgsParser
- Parameters:
aMaxConsoleWidth
- the new max console width
-
setName
public void setName(java.lang.String aName)
- Specified by:
setName
in interfaceorg.refcodes.mixin.NameAccessor.NameMutator
-
setSeparatorLnChar
public void setSeparatorLnChar(char aSeparatorLnChar)
Set the character to be used when printing a separator line with theArgsParser.printSeparatorLn()
method.- Specified by:
setSeparatorLnChar
in interfaceArgsParser
- Parameters:
aSeparatorLnChar
- The character used by theArgsParser.printSeparatorLn()
method when printing out the line of characters..
-
getSeparatorLnChar
public char getSeparatorLnChar()
Gets the character to be used when printing a separator line with theArgsParser.printSeparatorLn()
method.- Specified by:
getSeparatorLnChar
in interfaceArgsParser
- Returns:
- aSeparatorChar The character used by the
ArgsParser.printSeparatorLn()
method when printing out the line of characters..
-
setStandardOut
public void setStandardOut(java.io.PrintStream aStandardOut)
Set the standard outPrintStream
and make other adjustments with the result (with regards to the Builder-Pattern).- Specified by:
setStandardOut
in interfaceArgsParser
- Parameters:
aStandardOut
- The standard outPrintStream
to set.
-
setSyntaxNotation
public void setSyntaxNotation(SyntaxNotation aSyntaxNotation)
Set theSyntaxNotation
.- Specified by:
setSyntaxNotation
in interfaceArgsParser
- Parameters:
aSyntaxNotation
- TheSyntaxNotation
to set.
-
setTitle
public void setTitle(java.lang.String aTitle)
- Specified by:
setTitle
in interfaceorg.refcodes.mixin.TitleAccessor.TitleMutator
-
setUsageLabel
public void setUsageLabel(java.lang.String aUsageLabel)
Set the usage label used by theArgsParser.printHelp()
method when writing out the syntax.- Specified by:
setUsageLabel
in interfaceArgsParser
- Parameters:
aUsageLabel
- The usage label printed out by theArgsParser.printHelp()
method.
-
fromArgs
protected static java.util.List<? extends Operand<?>> fromArgs(java.lang.String[] aArgs, char aDelimiter)
Heuristically loads the arguments without any syntax required, e.g. without any rootCondition
to be set.- Parameters:
aArgs
- The arguments to be loaded.aDelimiter
- The delimiter to resolve name clashes.- Returns:
- A list of heuristically determined
Flag
andStringOperand
instances.
-
getTextBoxGrid
public org.refcodes.textual.TextBoxGrid getTextBoxGrid()
- Specified by:
getTextBoxGrid
in interfaceorg.refcodes.textual.TextBoxGridAccessor
-
setTextBoxGrid
public void setTextBoxGrid(org.refcodes.textual.TextBoxGrid aTextBoxGrid)
- Specified by:
setTextBoxGrid
in interfaceorg.refcodes.textual.TextBoxGridAccessor.TextBoxGridMutator
-
-