Class ArgsParserPropertiesImpl

  • All Implemented Interfaces:
    org.refcodes.component.Resetable, ArgsParserProperties, org.refcodes.configuration.Properties, org.refcodes.console.ArgsParser, org.refcodes.console.ArgsParserMixin<org.refcodes.console.ArgsParser>, org.refcodes.console.RootConditionAccessor, org.refcodes.mixin.DelimiterAccessor, org.refcodes.mixin.DescriptionAccessor.DescriptionBuilder<org.refcodes.console.ArgsParser>, org.refcodes.mixin.DescriptionAccessor.DescriptionMutator, org.refcodes.mixin.Dumpable, org.refcodes.mixin.NameAccessor.NameBuilder<org.refcodes.console.ArgsParser>, org.refcodes.mixin.NameAccessor.NameMutator, org.refcodes.mixin.TitleAccessor.TitleBuilder<org.refcodes.console.ArgsParser>, org.refcodes.mixin.TitleAccessor.TitleMutator, org.refcodes.mixin.TypeAccessor<java.lang.String>, org.refcodes.structure.CanonicalMap, org.refcodes.structure.Containable, org.refcodes.structure.Dictionary<java.lang.String,java.lang.String>, org.refcodes.structure.Keys<java.lang.String,java.lang.String>, org.refcodes.structure.PathMap<java.lang.String>, org.refcodes.structure.PropertiesAccessorMixin

    public class ArgsParserPropertiesImpl
    extends org.refcodes.console.ArgsParserImpl
    implements ArgsParserProperties
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.refcodes.structure.CanonicalMap

        org.refcodes.structure.CanonicalMap.CanonicalMapBuilder, org.refcodes.structure.CanonicalMap.MutableCanonicalMap
      • Nested classes/interfaces inherited from interface org.refcodes.mixin.DelimiterAccessor

        org.refcodes.mixin.DelimiterAccessor.DelimiterBuilder<B extends org.refcodes.mixin.DelimiterAccessor.DelimiterBuilder<B>>, org.refcodes.mixin.DelimiterAccessor.DelimiterMutator, org.refcodes.mixin.DelimiterAccessor.DelimiterProperty
      • Nested classes/interfaces inherited from interface org.refcodes.structure.Dictionary

        org.refcodes.structure.Dictionary.MutableDictionary<K extends java.lang.Object,V extends java.lang.Object>
      • Nested classes/interfaces inherited from interface org.refcodes.structure.Keys

        org.refcodes.structure.Keys.MutableKeys<K extends java.lang.Object,V extends java.lang.Object>, org.refcodes.structure.Keys.MutableValues<K extends java.lang.Object,V extends java.lang.Object>
      • Nested classes/interfaces inherited from interface org.refcodes.structure.PathMap

        org.refcodes.structure.PathMap.MutablePathMap<T extends java.lang.Object>, org.refcodes.structure.PathMap.PathMapBuilder<T extends java.lang.Object>
      • Nested classes/interfaces inherited from interface org.refcodes.configuration.Properties

        org.refcodes.configuration.Properties.MutableProperties, org.refcodes.configuration.Properties.PropertiesBuilder
      • Nested classes/interfaces inherited from interface org.refcodes.structure.PropertiesAccessorMixin

        org.refcodes.structure.PropertiesAccessorMixin.PropertiesBuilderMixin<T extends java.lang.Object>, org.refcodes.structure.PropertiesAccessorMixin.PropertiesMixin, org.refcodes.structure.PropertiesAccessorMixin.PropertiesMutatorMixin
      • Nested classes/interfaces inherited from interface org.refcodes.console.RootConditionAccessor

        org.refcodes.console.RootConditionAccessor.RootConditionBuilder<B extends org.refcodes.console.RootConditionAccessor.RootConditionBuilder<B>>, org.refcodes.console.RootConditionAccessor.RootConditionMutator, org.refcodes.console.RootConditionAccessor.RootConditionProperty
      • Nested classes/interfaces inherited from interface org.refcodes.mixin.TypeAccessor

        org.refcodes.mixin.TypeAccessor.TypeMutator<T extends java.lang.Object>, org.refcodes.mixin.TypeAccessor.TypeProperty<T extends java.lang.Object>
    • Field Summary

      • Fields inherited from interface org.refcodes.configuration.Properties

        DEFAULT_COMMENT
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.refcodes.configuration.Properties childrenOf​(java.lang.String aParentPath)
      boolean containsKey​(java.lang.Object aKey)
      java.util.List<? extends org.refcodes.console.Operand<?>> evalArgs​(java.lang.String[] aArgs)
      Evaluates the command line arguments and sets the identified properties in this Properties instance.
      java.util.List<? extends org.refcodes.console.Operand<?>> evalArgs​(java.lang.String aToPath, java.lang.String[] aArgs)
      Same as ArgsParserProperties.evalArgs(String[]) with the difference that the identified properties are inserted below the provided path.
      java.util.List<? extends org.refcodes.console.Operand<?>> evalArgs​(java.lang.String aToPath, java.util.List<java.lang.String> aArgs)
      Same as ArgsParserProperties.evalArgs(String[]) with the difference that the identified properties are inserted below the provided path.
      java.util.List<? extends org.refcodes.console.Operand<?>> evalArgs​(java.util.List<java.lang.String> aArgs)
      Evaluates the command line arguments and sets the identified properties in this Properties instance.
      java.lang.String get​(java.lang.Object aKey)
      char getDelimiter()
      boolean isEmpty()
      java.util.Set<java.lang.String> keySet()
      org.refcodes.configuration.Properties retrieveFrom​(java.lang.String aFromPath)
      org.refcodes.configuration.Properties retrieveTo​(java.lang.String aToPath)
      int size()
      java.lang.Object toDataStructure​(java.lang.String aPath)
      java.util.Collection<java.lang.String> values()
      • Methods inherited from interface org.refcodes.console.ArgsParser

        errorLn, getRootCondition, printBanner, printCopyrightNote, printDescription, printHelp, printLicenseNote, printLn, printLn, printOptions, printSeparatorLn, printUsage, setBannerFont, setBannerFontPalette, setConsoleWidth, setCopyrightNote, setErrorOut, setLicenseNote, setLineBreak, setMaxConsoleWidth, setSeparatorChar, setStandardOut, setSyntaxNotation, setUsageLabel, withBannerFont, withBannerFontPalette, withConsoleWidth, withCopyrightNote, withDescription, withErrorOut, withLicenseNote, withLineBreak, withMaxConsoleWidth, withName, withParseArgs, withSeparatorChar, withStandardOut, withSyntaxNotation, withTitle, withUsageLabel
      • Methods inherited from class org.refcodes.console.ArgsParserImpl

        errorLn, fromArgs, getRootCondition, printBanner, printCopyrightNote, printDescription, printHelp, printLicenseNote, printLn, printLn, printOptions, printSeparatorLn, printUsage, reset, setBannerFont, setBannerFontPalette, setConsoleWidth, setCopyrightNote, setDescription, setErrorOut, setLicenseNote, setLineBreak, setMaxConsoleWidth, setName, setSeparatorChar, setStandardOut, setSyntaxNotation, setTitle, setUsageLabel
      • Methods inherited from interface org.refcodes.console.ArgsParserMixin

        withParseArgs
      • Methods inherited from interface org.refcodes.structure.CanonicalMap

        toInstance, toInstance, toType, toType
      • Methods inherited from interface org.refcodes.mixin.DescriptionAccessor.DescriptionMutator

        setDescription
      • Methods inherited from interface org.refcodes.mixin.Dumpable

        toDump, toDump
      • Methods inherited from interface org.refcodes.structure.Keys

        get, use
      • Methods inherited from interface org.refcodes.mixin.NameAccessor.NameMutator

        setName
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.refcodes.structure.PathMap

        directories, directories, entries, entries, fromExternalKey, getArray, getArray, getRootPath, hasParentPath, isArray, isArray, isDirectory, isEntry, isRecord, isRootPath, keySet, paths, paths, records, records, toDataStructure, toExternalKey, toMap, toNormalizedPath, toNormalizedPath, toParentPath, toPath
      • Methods inherited from interface org.refcodes.configuration.Properties

        containsValue, getType, retrieve, toMap, toProperties, toPropertyPath
      • Methods inherited from interface org.refcodes.structure.PropertiesAccessorMixin

        containsKey, get, getBoolean, getBoolean, getByte, getByte, getCharacter, getCharacter, getDouble, getDouble, getFloat, getFloat, getInteger, getInteger, getLong, getLong, getShort, getShort, use, useBoolean, useBoolean, useByte, useByte, useDouble, useDouble, useFloat, useFloat, useInteger, useInteger, useLong, useLong, useShort, useShort
      • Methods inherited from interface org.refcodes.component.Resetable

        reset
      • Methods inherited from interface org.refcodes.mixin.TitleAccessor.TitleMutator

        setTitle
    • Constructor Detail

      • ArgsParserPropertiesImpl

        public ArgsParserPropertiesImpl()
        Constructs the ArgsParserProperties instance with no syntax notation (no root Condition). As no syntax notation is required by the constructor (no root Condition), no syntax validation is done by evalArgs(String[]) and the like methods. When no syntax validation is fine for you, you can directly go for the constructor ArgsParserPropertiesImpl(String[]).
      • ArgsParserPropertiesImpl

        public ArgsParserPropertiesImpl​(org.refcodes.console.Condition aRootCondition)
        Constructs the ArgsParserProperties instance with the given root Condition and the default SyntaxNotation.REFCODES.
        Parameters:
        aRootCondition - The root condition being the node from which parsing the command line arguments starts.
      • ArgsParserPropertiesImpl

        public ArgsParserPropertiesImpl​(java.lang.String[] aArgs)
        Constructs the ArgsParserProperties instance with the given arguments and the default SyntaxNotation.REFCODES. As no syntax notation is required by the constructor (no root Condition), no syntax validation is done. Therefore the properties are heuristically determined from the provided command line arguments.
        Parameters:
        aArgs - The command line arguments to be evaluated.
      • ArgsParserPropertiesImpl

        public ArgsParserPropertiesImpl​(java.lang.String[] aArgs,
                                        org.refcodes.console.Condition aRootCondition)
                                 throws org.refcodes.console.UnknownArgsException,
                                        org.refcodes.console.AmbiguousArgsException,
                                        org.refcodes.console.SuperfluousArgsException,
                                        org.refcodes.console.ParseArgsException
        Constructs the ArgsParserProperties instance with the given root Condition and the default SyntaxNotation.REFCODES.
        Parameters:
        aArgs - The command line arguments to be evaluated.
        aRootCondition - The root condition being the node from which parsing the command line arguments starts.
        Throws:
        org.refcodes.console.UnknownArgsException - Thrown in case not one command line argument matched regarding the provided args vs. the expected args.
        org.refcodes.console.AmbiguousArgsException - Thrown in case at least one command line argument is ambiguous regarding expected args vs. provided args.
        org.refcodes.console.SuperfluousArgsException - Thrown in case there were arguments found not being used (superfluous arguments).
        org.refcodes.console.ParseArgsException - Thrown in case the provided command line arguments do not respect the required syntax or cannot be converted to the required type
    • Method Detail

      • evalArgs

        public java.util.List<? extends org.refcodes.console.Operand<?>> evalArgs​(java.lang.String[] aArgs)
                                                                           throws org.refcodes.console.UnknownArgsException,
                                                                                  org.refcodes.console.AmbiguousArgsException,
                                                                                  org.refcodes.console.SuperfluousArgsException,
                                                                                  org.refcodes.console.ParseArgsException
        Evaluates the command line arguments and sets the identified properties in this Properties instance. Previously identified properties are reset upon invocation of this method. When provided, then an Operand's alias is used as property name, else as fall back, the operand's (when being of sub-type Option) long-option or short-option is used. Make sure, to provide an alias to make the Properties work and feel as intended!
        Specified by:
        evalArgs in interface org.refcodes.console.ArgsParser
        Specified by:
        evalArgs in interface ArgsParserProperties
        Overrides:
        evalArgs in class org.refcodes.console.ArgsParserImpl
        Throws:
        org.refcodes.console.UnknownArgsException
        org.refcodes.console.AmbiguousArgsException
        org.refcodes.console.SuperfluousArgsException
        org.refcodes.console.ParseArgsException
      • evalArgs

        public java.util.List<? extends org.refcodes.console.Operand<?>> evalArgs​(java.util.List<java.lang.String> aArgs)
                                                                           throws org.refcodes.console.UnknownArgsException,
                                                                                  org.refcodes.console.AmbiguousArgsException,
                                                                                  org.refcodes.console.SuperfluousArgsException,
                                                                                  org.refcodes.console.ParseArgsException
        Evaluates the command line arguments and sets the identified properties in this Properties instance. Previously identified properties are reset upon invocation of this method. When provided, then an Operand's alias is used as property name, else as fall back, the operand's (when being of sub-type Option) long-option or short-option is used. Make sure, to provide an alias to make the Properties work and feel as intended!
        Specified by:
        evalArgs in interface org.refcodes.console.ArgsParser
        Specified by:
        evalArgs in interface ArgsParserProperties
        Throws:
        org.refcodes.console.UnknownArgsException
        org.refcodes.console.AmbiguousArgsException
        org.refcodes.console.SuperfluousArgsException
        org.refcodes.console.ParseArgsException
      • evalArgs

        public java.util.List<? extends org.refcodes.console.Operand<?>> evalArgs​(java.lang.String aToPath,
                                                                                  java.util.List<java.lang.String> aArgs)
                                                                           throws org.refcodes.console.UnknownArgsException,
                                                                                  org.refcodes.console.AmbiguousArgsException,
                                                                                  org.refcodes.console.SuperfluousArgsException,
                                                                                  org.refcodes.console.ParseArgsException
        Same as ArgsParserProperties.evalArgs(String[]) with the difference that the identified properties are inserted below the provided path.
        Specified by:
        evalArgs in interface ArgsParserProperties
        Parameters:
        aToPath - The path below which to insert the identified properties.
        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:
        org.refcodes.console.UnknownArgsException - Thrown in case not one command line argument matched regarding the provided args vs. the expected args.
        org.refcodes.console.AmbiguousArgsException - Thrown in case at least one command line argument is ambiguous regarding expected args vs. provided args.
        org.refcodes.console.SuperfluousArgsException - Thrown in case there were arguments found not being used (superfluous arguments).
        org.refcodes.console.ParseArgsException - Thrown in case the provided command line arguments do not respect the required syntax or cannot be converted to the required type
      • getDelimiter

        public char getDelimiter()
        Specified by:
        getDelimiter in interface org.refcodes.mixin.DelimiterAccessor
        Specified by:
        getDelimiter in interface org.refcodes.configuration.Properties
        Overrides:
        getDelimiter in class org.refcodes.console.ArgsParserImpl
      • size

        public int size()
        Specified by:
        size in interface org.refcodes.structure.Containable
      • containsKey

        public boolean containsKey​(java.lang.Object aKey)
        Specified by:
        containsKey in interface org.refcodes.structure.Keys<java.lang.String,java.lang.String>
      • isEmpty

        public boolean isEmpty()
        Specified by:
        isEmpty in interface org.refcodes.structure.Containable
      • get

        public java.lang.String get​(java.lang.Object aKey)
        Specified by:
        get in interface org.refcodes.structure.Keys<java.lang.String,java.lang.String>
      • keySet

        public java.util.Set<java.lang.String> keySet()
        Specified by:
        keySet in interface org.refcodes.structure.Keys<java.lang.String,java.lang.String>
      • values

        public java.util.Collection<java.lang.String> values()
        Specified by:
        values in interface org.refcodes.structure.Keys<java.lang.String,java.lang.String>
      • retrieveFrom

        public org.refcodes.configuration.Properties retrieveFrom​(java.lang.String aFromPath)
        Specified by:
        retrieveFrom in interface org.refcodes.structure.CanonicalMap
        Specified by:
        retrieveFrom in interface org.refcodes.structure.PathMap<java.lang.String>
        Specified by:
        retrieveFrom in interface org.refcodes.configuration.Properties
      • retrieveTo

        public org.refcodes.configuration.Properties retrieveTo​(java.lang.String aToPath)
        Specified by:
        retrieveTo in interface org.refcodes.structure.CanonicalMap
        Specified by:
        retrieveTo in interface org.refcodes.structure.PathMap<java.lang.String>
        Specified by:
        retrieveTo in interface org.refcodes.configuration.Properties
      • childrenOf

        public org.refcodes.configuration.Properties childrenOf​(java.lang.String aParentPath)
        Specified by:
        childrenOf in interface org.refcodes.structure.CanonicalMap
        Specified by:
        childrenOf in interface org.refcodes.structure.PathMap<java.lang.String>
        Specified by:
        childrenOf in interface org.refcodes.configuration.Properties
      • toDataStructure

        public java.lang.Object toDataStructure​(java.lang.String aPath)
        Specified by:
        toDataStructure in interface org.refcodes.structure.PathMap<java.lang.String>
      • evalArgs

        public java.util.List<? extends org.refcodes.console.Operand<?>> evalArgs​(java.lang.String aToPath,
                                                                                  java.lang.String[] aArgs)
                                                                           throws org.refcodes.console.UnknownArgsException,
                                                                                  org.refcodes.console.AmbiguousArgsException,
                                                                                  org.refcodes.console.SuperfluousArgsException,
                                                                                  org.refcodes.console.ParseArgsException
        Same as ArgsParserProperties.evalArgs(String[]) with the difference that the identified properties are inserted below the provided path.
        Specified by:
        evalArgs in interface ArgsParserProperties
        Parameters:
        aToPath - The path below which to insert the identified properties.
        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:
        org.refcodes.console.UnknownArgsException - Thrown in case not one command line argument matched regarding the provided args vs. the expected args.
        org.refcodes.console.AmbiguousArgsException - Thrown in case at least one command line argument is ambiguous regarding expected args vs. provided args.
        org.refcodes.console.SuperfluousArgsException - Thrown in case there were arguments found not being used (superfluous arguments).
        org.refcodes.console.ParseArgsException - Thrown in case the provided command line arguments do not respect the required syntax or cannot be converted to the required type