Class Options


  • public class Options
    extends java.lang.Object
    Yet another GNU long options parser. This one is configured by parsing its Usage string. Code coming from Apache Felix Gogo Shell
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  Options.HelpException
      Exception thrown when using the --help option on a built-in command.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.List<java.lang.String> args  
      private java.lang.String[] defArgs  
      private java.lang.String defOpts  
      private java.lang.String error  
      private static int GROUP_ARG_1  
      private static int GROUP_DEFAULT  
      private static int GROUP_LONG_OPT_1  
      private static int GROUP_LONG_OPT_2  
      private static int GROUP_SHORT_OPT_1  
      private static int GROUP_SHORT_OPT_2  
      private java.lang.String[] gspec  
      static java.lang.String NL  
      private java.util.Map<java.lang.String,​java.lang.String> optAlias  
      private java.util.Map<java.lang.String,​java.lang.Object> optArg  
      private boolean optionsFirst  
      private java.util.Map<java.lang.String,​java.lang.String> optName  
      private java.util.Map<java.lang.String,​java.lang.Boolean> optSet  
      private static java.util.regex.Pattern parser  
      private static java.lang.String regex  
      private java.lang.String[] spec  
      private boolean stopOnBadOption  
      private static java.util.regex.Pattern uname  
      private static java.lang.String UNKNOWN  
      private java.util.Map<java.lang.String,​java.lang.Object> unmodifiableOptArg  
      private java.util.Map<java.lang.String,​java.lang.Boolean> unmodifiableOptSet  
      private int usageIndex  
      private java.lang.String usageName  
      private java.util.List<java.lang.Object> xargs  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private Options​(java.lang.String[] spec, java.lang.String[] gspec, Options opt, java.util.function.Function<java.lang.String,​java.lang.String> env)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private void addArg​(java.lang.String name, java.lang.Object value)  
      java.util.List<java.lang.Object> argObjects()  
      java.util.List<java.lang.String> args()  
      static Options compile​(java.lang.String optSpec)  
      static Options compile​(java.lang.String[] optSpec)  
      static Options compile​(java.lang.String[] optSpec, java.lang.String[] gspec)  
      static Options compile​(java.lang.String[] optSpec, java.util.function.Function<java.lang.String,​java.lang.String> env)  
      static Options compile​(java.lang.String[] optSpec, Options gopt)  
      static Options compile​(java.lang.String optSpec, java.util.function.Function<java.lang.String,​java.lang.String> env)  
      java.lang.String get​(java.lang.String name)  
      java.util.List<java.lang.String> getList​(java.lang.String name)  
      int getNumber​(java.lang.String name)  
      java.lang.Object getObject​(java.lang.String name)  
      java.util.List<java.lang.Object> getObjectList​(java.lang.String name)  
      boolean isSet​(java.lang.String name)  
      Options parse​(java.lang.Object[] argv)  
      Options parse​(java.lang.Object[] argv, boolean skipArg0)  
      Options parse​(java.util.List<?> argv)  
      Options parse​(java.util.List<?> argv, boolean skipArg0)  
      private void parseSpec​(java.util.Map<java.lang.String,​java.lang.Boolean> myOptSet, java.util.Map<java.lang.String,​java.lang.Object> myOptArg)
      parse option spec.
      private void reset()  
      Options setOptionsFirst​(boolean optionsFirst)  
      Options setStopOnBadOption​(boolean stopOnBadOption)  
      java.lang.String toString()  
      java.lang.String usage()  
      void usage​(java.io.PrintStream err)  
      java.lang.IllegalArgumentException usageError​(java.lang.String s)
      Prints usage message and returns IllegalArgumentException, for you to throw.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • NL

        public static final java.lang.String NL
      • parser

        private static final java.util.regex.Pattern parser
      • uname

        private static final java.util.regex.Pattern uname
      • unmodifiableOptSet

        private final java.util.Map<java.lang.String,​java.lang.Boolean> unmodifiableOptSet
      • unmodifiableOptArg

        private final java.util.Map<java.lang.String,​java.lang.Object> unmodifiableOptArg
      • optSet

        private final java.util.Map<java.lang.String,​java.lang.Boolean> optSet
      • optArg

        private final java.util.Map<java.lang.String,​java.lang.Object> optArg
      • optName

        private final java.util.Map<java.lang.String,​java.lang.String> optName
      • optAlias

        private final java.util.Map<java.lang.String,​java.lang.String> optAlias
      • xargs

        private final java.util.List<java.lang.Object> xargs
      • args

        private java.util.List<java.lang.String> args
      • usageName

        private java.lang.String usageName
      • usageIndex

        private int usageIndex
      • spec

        private final java.lang.String[] spec
      • gspec

        private final java.lang.String[] gspec
      • defOpts

        private final java.lang.String defOpts
      • defArgs

        private final java.lang.String[] defArgs
      • error

        private java.lang.String error
      • optionsFirst

        private boolean optionsFirst
      • stopOnBadOption

        private boolean stopOnBadOption
    • Constructor Detail

      • Options

        private Options​(java.lang.String[] spec,
                        java.lang.String[] gspec,
                        Options opt,
                        java.util.function.Function<java.lang.String,​java.lang.String> env)
    • Method Detail

      • compile

        public static Options compile​(java.lang.String[] optSpec)
      • compile

        public static Options compile​(java.lang.String[] optSpec,
                                      java.util.function.Function<java.lang.String,​java.lang.String> env)
      • compile

        public static Options compile​(java.lang.String optSpec)
      • compile

        public static Options compile​(java.lang.String optSpec,
                                      java.util.function.Function<java.lang.String,​java.lang.String> env)
      • compile

        public static Options compile​(java.lang.String[] optSpec,
                                      Options gopt)
      • compile

        public static Options compile​(java.lang.String[] optSpec,
                                      java.lang.String[] gspec)
      • setStopOnBadOption

        public Options setStopOnBadOption​(boolean stopOnBadOption)
      • setOptionsFirst

        public Options setOptionsFirst​(boolean optionsFirst)
      • isSet

        public boolean isSet​(java.lang.String name)
      • getObject

        public java.lang.Object getObject​(java.lang.String name)
      • getObjectList

        public java.util.List<java.lang.Object> getObjectList​(java.lang.String name)
      • getList

        public java.util.List<java.lang.String> getList​(java.lang.String name)
      • addArg

        private void addArg​(java.lang.String name,
                            java.lang.Object value)
      • get

        public java.lang.String get​(java.lang.String name)
      • getNumber

        public int getNumber​(java.lang.String name)
      • argObjects

        public java.util.List<java.lang.Object> argObjects()
      • args

        public java.util.List<java.lang.String> args()
      • usage

        public void usage​(java.io.PrintStream err)
      • usage

        public java.lang.String usage()
      • usageError

        public java.lang.IllegalArgumentException usageError​(java.lang.String s)
        Prints usage message and returns IllegalArgumentException, for you to throw.
        Parameters:
        s - the message to display
        Returns:
        an exception with the generated message
      • parseSpec

        private void parseSpec​(java.util.Map<java.lang.String,​java.lang.Boolean> myOptSet,
                               java.util.Map<java.lang.String,​java.lang.Object> myOptArg)
        parse option spec.
      • reset

        private void reset()
      • parse

        public Options parse​(java.lang.Object[] argv)
      • parse

        public Options parse​(java.util.List<?> argv)
      • parse

        public Options parse​(java.lang.Object[] argv,
                             boolean skipArg0)
      • parse

        public Options parse​(java.util.List<?> argv,
                             boolean skipArg0)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object