Class JsObjConsole

  • All Implemented Interfaces:
    java.util.function.Function<JsPath,​JsFuture<JsObj>>, JsConsole<JsObj>, Program<JsObj>

    public class JsObjConsole
    extends java.lang.Object
    implements JsConsole<JsObj>, Program<JsObj>
    represents a supplier of a completable future than composes a json object from the user inputs on the console. It has the same recursive structure as a json object. Each key of the object has a supplier of a completable future associated that, when executed, prints out its path on the console and waits for the user to type in a value and press Enter. When the user fills out all the values, all the futures are completed and a json object is composed.
    • Constructor Summary

      Constructors 
      Constructor Description
      JsObjConsole()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      JsFuture<JsObj> apply​(JsPath path)  
      JsObj exec()
      Execute the program
      static JsObjConsole of​(java.lang.String key, JsConsole<?> io)
      static factory method to create a JsObjIO of one mapping
      static JsObjConsole of​(java.lang.String ke1, JsConsole<?> io1, java.lang.String key2, JsConsole<?> io2)
      static factory method to create a JsObjIO of two mappings
      static JsObjConsole of​(java.lang.String key1, JsConsole<?> io1, java.lang.String key2, JsConsole<?> io2, java.lang.String key3, JsConsole<?> io3)
      static factory method to create a JsObjIO of three mappings
      static JsObjConsole of​(java.lang.String key1, JsConsole<?> io1, java.lang.String key2, JsConsole<?> io2, java.lang.String key3, JsConsole<?> io3, java.lang.String key4, JsConsole<?> io4)
      static factory method to create a JsObjIO of four mappings
      static JsObjConsole of​(java.lang.String key1, JsConsole<?> io1, java.lang.String key2, JsConsole<?> io2, java.lang.String key3, JsConsole<?> io3, java.lang.String key4, JsConsole<?> io4, java.lang.String key5, JsConsole<?> io5)
      static factory method to create a JsObjIO of five mappings
      static JsObjConsole of​(java.lang.String key1, JsConsole<?> io1, java.lang.String key2, JsConsole<?> io2, java.lang.String key3, JsConsole<?> io3, java.lang.String key4, JsConsole<?> io4, java.lang.String key5, JsConsole<?> io5, java.lang.String key6, JsConsole<?> io6)
      static factory method to create a JsObjIO of six mappings
      static JsObjConsole of​(java.lang.String key1, JsConsole<?> io1, java.lang.String key2, JsConsole<?> io2, java.lang.String key3, JsConsole<?> io3, java.lang.String key4, JsConsole<?> io4, java.lang.String key5, JsConsole<?> io5, java.lang.String key6, JsConsole<?> io6, java.lang.String key7, JsConsole<?> io7)
      static factory method to create a JsObjIO of seven mappings
      static JsObjConsole of​(java.lang.String key1, JsConsole<?> io1, java.lang.String key2, JsConsole<?> io2, java.lang.String key3, JsConsole<?> io3, java.lang.String key4, JsConsole<?> io4, java.lang.String key5, JsConsole<?> io5, java.lang.String key6, JsConsole<?> io6, java.lang.String key7, JsConsole<?> io7, java.lang.String key8, JsConsole<?> io8)
      static factory method to create a JsObjIO of eight mappings
      static JsObjConsole of​(java.lang.String key1, JsConsole<?> io1, java.lang.String key2, JsConsole<?> io2, java.lang.String key3, JsConsole<?> io3, java.lang.String key4, JsConsole<?> io4, java.lang.String key5, JsConsole<?> io5, java.lang.String key6, JsConsole<?> io6, java.lang.String key7, JsConsole<?> io7, java.lang.String key8, JsConsole<?> io8, java.lang.String key9, JsConsole<?> io9)
      static factory method to create a JsObjIO of nine mappings
      static JsObjConsole of​(java.lang.String key1, JsConsole<?> io1, java.lang.String key2, JsConsole<?> io2, java.lang.String key3, JsConsole<?> io3, java.lang.String key4, JsConsole<?> io4, java.lang.String key5, JsConsole<?> io5, java.lang.String key6, JsConsole<?> io6, java.lang.String key7, JsConsole<?> io7, java.lang.String key8, JsConsole<?> io8, java.lang.String key9, JsConsole<?> io9, java.lang.String key10, JsConsole<?> io10)
      static factory method to create a JsObjIO of ten mappings
      static JsObjConsole of​(java.lang.String key1, JsConsole<?> io1, java.lang.String key2, JsConsole<?> io2, java.lang.String key3, JsConsole<?> io3, java.lang.String key4, JsConsole<?> io4, java.lang.String key5, JsConsole<?> io5, java.lang.String key6, JsConsole<?> io6, java.lang.String key7, JsConsole<?> io7, java.lang.String key8, JsConsole<?> io8, java.lang.String key9, JsConsole<?> io9, java.lang.String key10, JsConsole<?> io10, java.lang.String key11, JsConsole<?> io11)
      static factory method to create a JsObjIO of eleven mappings
      static JsObjConsole of​(java.lang.String key1, JsConsole<?> io1, java.lang.String key2, JsConsole<?> io2, java.lang.String key3, JsConsole<?> io3, java.lang.String key4, JsConsole<?> io4, java.lang.String key5, JsConsole<?> io5, java.lang.String key6, JsConsole<?> io6, java.lang.String key7, JsConsole<?> io7, java.lang.String key8, JsConsole<?> io8, java.lang.String key9, JsConsole<?> io9, java.lang.String key10, JsConsole<?> io10, java.lang.String key11, JsConsole<?> io11, java.lang.String key12, JsConsole<?> io12)
      static factory method to create a JsObjIO of twelve mappings
      static JsObjConsole of​(java.lang.String key1, JsConsole<?> io1, java.lang.String key2, JsConsole<?> io2, java.lang.String key3, JsConsole<?> io3, java.lang.String key4, JsConsole<?> io4, java.lang.String key5, JsConsole<?> io5, java.lang.String key6, JsConsole<?> io6, java.lang.String key7, JsConsole<?> io7, java.lang.String key8, JsConsole<?> io8, java.lang.String key9, JsConsole<?> io9, java.lang.String key10, JsConsole<?> io10, java.lang.String key11, JsConsole<?> io11, java.lang.String key12, JsConsole<?> io12, java.lang.String key13, JsConsole<?> io13)
      static factory method to create a JsObjIO of thirteen mappings
      static JsObjConsole of​(java.lang.String key1, JsConsole<?> io1, java.lang.String key2, JsConsole<?> io2, java.lang.String key3, JsConsole<?> io3, java.lang.String key4, JsConsole<?> io4, java.lang.String key5, JsConsole<?> io5, java.lang.String key6, JsConsole<?> io6, java.lang.String key7, JsConsole<?> io7, java.lang.String key8, JsConsole<?> io8, java.lang.String key9, JsConsole<?> io9, java.lang.String key10, JsConsole<?> io10, java.lang.String key11, JsConsole<?> io11, java.lang.String key12, JsConsole<?> io12, java.lang.String key13, JsConsole<?> io13, java.lang.String key14, JsConsole<?> io14)
      static factory method to create a JsObjIO of fourteen mappings
      static JsObjConsole of​(java.lang.String key1, JsConsole<?> io1, java.lang.String key2, JsConsole<?> io2, java.lang.String key3, JsConsole<?> io3, java.lang.String key4, JsConsole<?> io4, java.lang.String key5, JsConsole<?> io5, java.lang.String key6, JsConsole<?> io6, java.lang.String key7, JsConsole<?> io7, java.lang.String key8, JsConsole<?> io8, java.lang.String key9, JsConsole<?> io9, java.lang.String key10, JsConsole<?> io10, java.lang.String key11, JsConsole<?> io11, java.lang.String key12, JsConsole<?> io12, java.lang.String key13, JsConsole<?> io13, java.lang.String key14, JsConsole<?> io14, java.lang.String key15, JsConsole<?> io15)
      static factory method to create a JsObjIO of fifteen mappings
      static JsObjConsole of​(java.lang.String key1, JsConsole<?> io1, java.lang.String key2, JsConsole<?> io2, java.lang.String key3, JsConsole<?> io3, java.lang.String key4, JsConsole<?> io4, java.lang.String key5, JsConsole<?> io5, java.lang.String key6, JsConsole<?> io6, java.lang.String key7, JsConsole<?> io7, java.lang.String key8, JsConsole<?> io8, java.lang.String key9, JsConsole<?> io9, java.lang.String key10, JsConsole<?> io10, java.lang.String key11, JsConsole<?> io11, java.lang.String key12, JsConsole<?> io12, java.lang.String key13, JsConsole<?> io13, java.lang.String key14, JsConsole<?> io14, java.lang.String key15, JsConsole<?> io15, java.lang.String key16, JsConsole<?> io16)
      static factory method to create a JsObjIO of sixteen mappings
      java.util.function.Consumer<JsPath> promptMessage()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.function.Function

        andThen, compose
      • Methods inherited from interface jsonvalues.console.Program

        exec
    • Constructor Detail

      • JsObjConsole

        public JsObjConsole()
    • Method Detail

      • of

        public static JsObjConsole of​(java.lang.String key1,
                                      JsConsole<?> io1,
                                      java.lang.String key2,
                                      JsConsole<?> io2,
                                      java.lang.String key3,
                                      JsConsole<?> io3,
                                      java.lang.String key4,
                                      JsConsole<?> io4,
                                      java.lang.String key5,
                                      JsConsole<?> io5,
                                      java.lang.String key6,
                                      JsConsole<?> io6,
                                      java.lang.String key7,
                                      JsConsole<?> io7,
                                      java.lang.String key8,
                                      JsConsole<?> io8,
                                      java.lang.String key9,
                                      JsConsole<?> io9,
                                      java.lang.String key10,
                                      JsConsole<?> io10,
                                      java.lang.String key11,
                                      JsConsole<?> io11,
                                      java.lang.String key12,
                                      JsConsole<?> io12,
                                      java.lang.String key13,
                                      JsConsole<?> io13,
                                      java.lang.String key14,
                                      JsConsole<?> io14,
                                      java.lang.String key15,
                                      JsConsole<?> io15,
                                      java.lang.String key16,
                                      JsConsole<?> io16)
        static factory method to create a JsObjIO of sixteen mappings
        Parameters:
        key1 - the first key
        io1 - the mapping associated to the first key
        key2 - the second key
        io2 - the mapping associated to the second key
        key3 - the third key
        io3 - the mapping associated to the third key
        key4 - the forth key
        io4 - the mapping associated to the forth key
        key5 - the fifth key
        io5 - the mapping associated to the fifth key
        key6 - the sixth key
        io6 - the mapping associated to the sixth key
        key7 - the seventh key
        io7 - the mapping associated to the seventh key
        key8 - the eight key
        io8 - the mapping associated to the eight key
        key9 - the ninth key
        io9 - the mapping associated to the ninth key
        key10 - the tenth key
        io10 - the mapping associated to the tenth key
        key11 - the eleventh key
        io11 - the mapping associated to the eleventh key
        key12 - the twelfth key
        io12 - the mapping associated to the twelfth key
        key13 - the thirteenth key
        io13 - the mapping associated to the thirteenth key
        key14 - the fourteenth key
        io14 - the mapping associated to the fourteenth key
        key15 - the fifteenth key
        io15 - the mapping associated to the fifteenth key
        key16 - the sixteenth key
        io16 - the mapping associated to the sixteenth key
        Returns:
        a JsObjIO
      • of

        public static JsObjConsole of​(java.lang.String key1,
                                      JsConsole<?> io1,
                                      java.lang.String key2,
                                      JsConsole<?> io2,
                                      java.lang.String key3,
                                      JsConsole<?> io3,
                                      java.lang.String key4,
                                      JsConsole<?> io4,
                                      java.lang.String key5,
                                      JsConsole<?> io5,
                                      java.lang.String key6,
                                      JsConsole<?> io6,
                                      java.lang.String key7,
                                      JsConsole<?> io7,
                                      java.lang.String key8,
                                      JsConsole<?> io8,
                                      java.lang.String key9,
                                      JsConsole<?> io9,
                                      java.lang.String key10,
                                      JsConsole<?> io10,
                                      java.lang.String key11,
                                      JsConsole<?> io11,
                                      java.lang.String key12,
                                      JsConsole<?> io12,
                                      java.lang.String key13,
                                      JsConsole<?> io13,
                                      java.lang.String key14,
                                      JsConsole<?> io14,
                                      java.lang.String key15,
                                      JsConsole<?> io15)
        static factory method to create a JsObjIO of fifteen mappings
        Parameters:
        key1 - the first key
        io1 - the mapping associated to the first key
        key2 - the second key
        io2 - the mapping associated to the second key
        key3 - the third key
        io3 - the mapping associated to the third key
        key4 - the forth key
        io4 - the mapping associated to the forth key
        key5 - the fifth key
        io5 - the mapping associated to the fifth key
        key6 - the sixth key
        io6 - the mapping associated to the sixth key
        key7 - the seventh key
        io7 - the mapping associated to the seventh key
        key8 - the eight key
        io8 - the mapping associated to the eight key
        key9 - the ninth key
        io9 - the mapping associated to the ninth key
        key10 - the tenth key
        io10 - the mapping associated to the tenth key
        key11 - the eleventh key
        io11 - the mapping associated to the eleventh key
        key12 - the twelfth key
        io12 - the mapping associated to the twelfth key
        key13 - the thirteenth key
        io13 - the mapping associated to the thirteenth key
        key14 - the fourteenth key
        io14 - the mapping associated to the fourteenth key
        key15 - the fifteenth key
        io15 - the mapping associated to the fifteenth key
        Returns:
        a JsObjIO
      • of

        public static JsObjConsole of​(java.lang.String key1,
                                      JsConsole<?> io1,
                                      java.lang.String key2,
                                      JsConsole<?> io2,
                                      java.lang.String key3,
                                      JsConsole<?> io3,
                                      java.lang.String key4,
                                      JsConsole<?> io4,
                                      java.lang.String key5,
                                      JsConsole<?> io5,
                                      java.lang.String key6,
                                      JsConsole<?> io6,
                                      java.lang.String key7,
                                      JsConsole<?> io7,
                                      java.lang.String key8,
                                      JsConsole<?> io8,
                                      java.lang.String key9,
                                      JsConsole<?> io9,
                                      java.lang.String key10,
                                      JsConsole<?> io10,
                                      java.lang.String key11,
                                      JsConsole<?> io11,
                                      java.lang.String key12,
                                      JsConsole<?> io12,
                                      java.lang.String key13,
                                      JsConsole<?> io13,
                                      java.lang.String key14,
                                      JsConsole<?> io14)
        static factory method to create a JsObjIO of fourteen mappings
        Parameters:
        key1 - the first key
        io1 - the mapping associated to the first key
        key2 - the second key
        io2 - the mapping associated to the second key
        key3 - the third key
        io3 - the mapping associated to the third key
        key4 - the forth key
        io4 - the mapping associated to the forth key
        key5 - the fifth key
        io5 - the mapping associated to the fifth key
        key6 - the sixth key
        io6 - the mapping associated to the sixth key
        key7 - the seventh key
        io7 - the mapping associated to the seventh key
        key8 - the eight key
        io8 - the mapping associated to the eight key
        key9 - the ninth key
        io9 - the mapping associated to the ninth key
        key10 - the tenth key
        io10 - the mapping associated to the tenth key
        key11 - the eleventh key
        io11 - the mapping associated to the eleventh key
        key12 - the twelfth key
        io12 - the mapping associated to the twelfth key
        key13 - the thirteenth key
        io13 - the mapping associated to the thirteenth key
        key14 - the fourteenth key
        io14 - the mapping associated to the fourteenth key
        Returns:
        a JsObjIO
      • of

        public static JsObjConsole of​(java.lang.String key1,
                                      JsConsole<?> io1,
                                      java.lang.String key2,
                                      JsConsole<?> io2,
                                      java.lang.String key3,
                                      JsConsole<?> io3,
                                      java.lang.String key4,
                                      JsConsole<?> io4,
                                      java.lang.String key5,
                                      JsConsole<?> io5,
                                      java.lang.String key6,
                                      JsConsole<?> io6,
                                      java.lang.String key7,
                                      JsConsole<?> io7,
                                      java.lang.String key8,
                                      JsConsole<?> io8,
                                      java.lang.String key9,
                                      JsConsole<?> io9,
                                      java.lang.String key10,
                                      JsConsole<?> io10,
                                      java.lang.String key11,
                                      JsConsole<?> io11,
                                      java.lang.String key12,
                                      JsConsole<?> io12,
                                      java.lang.String key13,
                                      JsConsole<?> io13)
        static factory method to create a JsObjIO of thirteen mappings
        Parameters:
        key1 - the first key
        io1 - the mapping associated to the first key
        key2 - the second key
        io2 - the mapping associated to the second key
        key3 - the third key
        io3 - the mapping associated to the third key
        key4 - the forth key
        io4 - the mapping associated to the forth key
        key5 - the fifth key
        io5 - the mapping associated to the fifth key
        key6 - the sixth key
        io6 - the mapping associated to the sixth key
        key7 - the seventh key
        io7 - the mapping associated to the seventh key
        key8 - the eight key
        io8 - the mapping associated to the eight key
        key9 - the ninth key
        io9 - the mapping associated to the ninth key
        key10 - the tenth key
        io10 - the mapping associated to the tenth key
        key11 - the eleventh key
        io11 - the mapping associated to the eleventh key
        key12 - the twelfth key
        io12 - the mapping associated to the twelfth key
        key13 - the thirteenth key
        io13 - the mapping associated to the thirteenth key
        Returns:
        a JsObjIO
      • of

        public static JsObjConsole of​(java.lang.String key1,
                                      JsConsole<?> io1,
                                      java.lang.String key2,
                                      JsConsole<?> io2,
                                      java.lang.String key3,
                                      JsConsole<?> io3,
                                      java.lang.String key4,
                                      JsConsole<?> io4,
                                      java.lang.String key5,
                                      JsConsole<?> io5,
                                      java.lang.String key6,
                                      JsConsole<?> io6,
                                      java.lang.String key7,
                                      JsConsole<?> io7,
                                      java.lang.String key8,
                                      JsConsole<?> io8,
                                      java.lang.String key9,
                                      JsConsole<?> io9,
                                      java.lang.String key10,
                                      JsConsole<?> io10,
                                      java.lang.String key11,
                                      JsConsole<?> io11,
                                      java.lang.String key12,
                                      JsConsole<?> io12)
        static factory method to create a JsObjIO of twelve mappings
        Parameters:
        key1 - the first key
        io1 - the mapping associated to the first key
        key2 - the second key
        io2 - the mapping associated to the second key
        key3 - the third key
        io3 - the mapping associated to the third key
        key4 - the forth key
        io4 - the mapping associated to the forth key
        key5 - the fifth key
        io5 - the mapping associated to the fifth key
        key6 - the sixth key
        io6 - the mapping associated to the sixth key
        key7 - the seventh key
        io7 - the mapping associated to the seventh key
        key8 - the eight key
        io8 - the mapping associated to the eight key
        key9 - the ninth key
        io9 - the mapping associated to the ninth key
        key10 - the tenth key
        io10 - the mapping associated to the tenth key
        key11 - the eleventh key
        io11 - the mapping associated to the eleventh key
        key12 - the twelfth key
        io12 - the mapping associated to the twelfth key
        Returns:
        a JsObjIO
      • of

        public static JsObjConsole of​(java.lang.String key1,
                                      JsConsole<?> io1,
                                      java.lang.String key2,
                                      JsConsole<?> io2,
                                      java.lang.String key3,
                                      JsConsole<?> io3,
                                      java.lang.String key4,
                                      JsConsole<?> io4,
                                      java.lang.String key5,
                                      JsConsole<?> io5,
                                      java.lang.String key6,
                                      JsConsole<?> io6,
                                      java.lang.String key7,
                                      JsConsole<?> io7,
                                      java.lang.String key8,
                                      JsConsole<?> io8,
                                      java.lang.String key9,
                                      JsConsole<?> io9,
                                      java.lang.String key10,
                                      JsConsole<?> io10,
                                      java.lang.String key11,
                                      JsConsole<?> io11)
        static factory method to create a JsObjIO of eleven mappings
        Parameters:
        key1 - the first key
        io1 - the mapping associated to the first key
        key2 - the second key
        io2 - the mapping associated to the second key
        key3 - the third key
        io3 - the mapping associated to the third key
        key4 - the forth key
        io4 - the mapping associated to the forth key
        key5 - the fifth key
        io5 - the mapping associated to the fifth key
        key6 - the sixth key
        io6 - the mapping associated to the sixth key
        key7 - the seventh key
        io7 - the mapping associated to the seventh key
        key8 - the eight key
        io8 - the mapping associated to the eight key
        key9 - the ninth key
        io9 - the mapping associated to the ninth key
        key10 - the tenth key
        io10 - the mapping associated to the tenth key
        key11 - the eleventh key
        io11 - the mapping associated to the eleventh key
        Returns:
        a JsObjIO
      • of

        public static JsObjConsole of​(java.lang.String key1,
                                      JsConsole<?> io1,
                                      java.lang.String key2,
                                      JsConsole<?> io2,
                                      java.lang.String key3,
                                      JsConsole<?> io3,
                                      java.lang.String key4,
                                      JsConsole<?> io4,
                                      java.lang.String key5,
                                      JsConsole<?> io5,
                                      java.lang.String key6,
                                      JsConsole<?> io6,
                                      java.lang.String key7,
                                      JsConsole<?> io7,
                                      java.lang.String key8,
                                      JsConsole<?> io8,
                                      java.lang.String key9,
                                      JsConsole<?> io9,
                                      java.lang.String key10,
                                      JsConsole<?> io10)
        static factory method to create a JsObjIO of ten mappings
        Parameters:
        key1 - the first key
        io1 - the mapping associated to the first key
        key2 - the second key
        io2 - the mapping associated to the second key
        key3 - the third key
        io3 - the mapping associated to the third key
        key4 - the forth key
        io4 - the mapping associated to the forth key
        key5 - the fifth key
        io5 - the mapping associated to the fifth key
        key6 - the sixth key
        io6 - the mapping associated to the sixth key
        key7 - the seventh key
        io7 - the mapping associated to the seventh key
        key8 - the eight key
        io8 - the mapping associated to the eight key
        key9 - the ninth key
        io9 - the mapping associated to the ninth key
        key10 - the tenth key
        io10 - the mapping associated to the tenth key
        Returns:
        a JsObjIO
      • of

        public static JsObjConsole of​(java.lang.String key1,
                                      JsConsole<?> io1,
                                      java.lang.String key2,
                                      JsConsole<?> io2,
                                      java.lang.String key3,
                                      JsConsole<?> io3,
                                      java.lang.String key4,
                                      JsConsole<?> io4,
                                      java.lang.String key5,
                                      JsConsole<?> io5,
                                      java.lang.String key6,
                                      JsConsole<?> io6,
                                      java.lang.String key7,
                                      JsConsole<?> io7,
                                      java.lang.String key8,
                                      JsConsole<?> io8,
                                      java.lang.String key9,
                                      JsConsole<?> io9)
        static factory method to create a JsObjIO of nine mappings
        Parameters:
        key1 - the first key
        io1 - the mapping associated to the first key
        key2 - the second key
        io2 - the mapping associated to the second key
        key3 - the third key
        io3 - the mapping associated to the third key
        key4 - the forth key
        io4 - the mapping associated to the forth key
        key5 - the fifth key
        io5 - the mapping associated to the fifth key
        key6 - the sixth key
        io6 - the mapping associated to the sixth key
        key7 - the seventh key
        io7 - the mapping associated to the seventh key
        key8 - the eight key
        io8 - the mapping associated to the eight key
        key9 - the ninth key
        io9 - the mapping associated to the ninth key
        Returns:
        a JsObjIO
      • of

        public static JsObjConsole of​(java.lang.String key1,
                                      JsConsole<?> io1,
                                      java.lang.String key2,
                                      JsConsole<?> io2,
                                      java.lang.String key3,
                                      JsConsole<?> io3,
                                      java.lang.String key4,
                                      JsConsole<?> io4,
                                      java.lang.String key5,
                                      JsConsole<?> io5,
                                      java.lang.String key6,
                                      JsConsole<?> io6,
                                      java.lang.String key7,
                                      JsConsole<?> io7,
                                      java.lang.String key8,
                                      JsConsole<?> io8)
        static factory method to create a JsObjIO of eight mappings
        Parameters:
        key1 - the first key
        io1 - the mapping associated to the first key
        key2 - the second key
        io2 - the mapping associated to the second key
        key3 - the third key
        io3 - the mapping associated to the third key
        key4 - the forth key
        io4 - the mapping associated to the forth key
        key5 - the fifth key
        io5 - the mapping associated to the fifth key
        key6 - the sixth key
        io6 - the mapping associated to the sixth key
        key7 - the seventh key
        io7 - the mapping associated to the seventh key
        key8 - the eight key
        io8 - the mapping associated to the eight key
        Returns:
        a JsObjIO
      • of

        public static JsObjConsole of​(java.lang.String key1,
                                      JsConsole<?> io1,
                                      java.lang.String key2,
                                      JsConsole<?> io2,
                                      java.lang.String key3,
                                      JsConsole<?> io3,
                                      java.lang.String key4,
                                      JsConsole<?> io4,
                                      java.lang.String key5,
                                      JsConsole<?> io5,
                                      java.lang.String key6,
                                      JsConsole<?> io6,
                                      java.lang.String key7,
                                      JsConsole<?> io7)
        static factory method to create a JsObjIO of seven mappings
        Parameters:
        key1 - the first key
        io1 - the mapping associated to the first key
        key2 - the second key
        io2 - the mapping associated to the second key
        key3 - the third key
        io3 - the mapping associated to the third key
        key4 - the forth key
        io4 - the mapping associated to the forth key
        key5 - the fifth key
        io5 - the mapping associated to the fifth key
        key6 - the sixth key
        io6 - the mapping associated to the sixth key
        key7 - the seventh key
        io7 - the mapping associated to the seventh key
        Returns:
        a JsObjIO
      • of

        public static JsObjConsole of​(java.lang.String key1,
                                      JsConsole<?> io1,
                                      java.lang.String key2,
                                      JsConsole<?> io2,
                                      java.lang.String key3,
                                      JsConsole<?> io3,
                                      java.lang.String key4,
                                      JsConsole<?> io4,
                                      java.lang.String key5,
                                      JsConsole<?> io5,
                                      java.lang.String key6,
                                      JsConsole<?> io6)
        static factory method to create a JsObjIO of six mappings
        Parameters:
        key1 - the first key
        io1 - the mapping associated to the first key
        key2 - the second key
        io2 - the mapping associated to the second key
        key3 - the third key
        io3 - the mapping associated to the third key
        key4 - the forth key
        io4 - the mapping associated to the forth key
        key5 - the fifth key
        io5 - the mapping associated to the fifth key
        key6 - the sixth key
        io6 - the mapping associated to the sixth key
        Returns:
        a JsObjIO
      • of

        public static JsObjConsole of​(java.lang.String key1,
                                      JsConsole<?> io1,
                                      java.lang.String key2,
                                      JsConsole<?> io2,
                                      java.lang.String key3,
                                      JsConsole<?> io3,
                                      java.lang.String key4,
                                      JsConsole<?> io4,
                                      java.lang.String key5,
                                      JsConsole<?> io5)
        static factory method to create a JsObjIO of five mappings
        Parameters:
        key1 - the first key
        io1 - the mapping associated to the first key
        key2 - the second key
        io2 - the mapping associated to the second key
        key3 - the third key
        io3 - the mapping associated to the third key
        key4 - the forth key
        io4 - the mapping associated to the forth key
        key5 - the fifth key
        io5 - the mapping associated to the fifth key
        Returns:
        a JsObjIO
      • of

        public static JsObjConsole of​(java.lang.String key1,
                                      JsConsole<?> io1,
                                      java.lang.String key2,
                                      JsConsole<?> io2,
                                      java.lang.String key3,
                                      JsConsole<?> io3,
                                      java.lang.String key4,
                                      JsConsole<?> io4)
        static factory method to create a JsObjIO of four mappings
        Parameters:
        key1 - the first key
        io1 - the mapping associated to the first key
        key2 - the second key
        io2 - the mapping associated to the second key
        key3 - the third key
        io3 - the mapping associated to the third key
        key4 - the forth key
        io4 - the mapping associated to the forth key
        Returns:
        a JsObjIO
      • of

        public static JsObjConsole of​(java.lang.String key1,
                                      JsConsole<?> io1,
                                      java.lang.String key2,
                                      JsConsole<?> io2,
                                      java.lang.String key3,
                                      JsConsole<?> io3)
        static factory method to create a JsObjIO of three mappings
        Parameters:
        key1 - the first key
        io1 - the mapping associated to the first key
        key2 - the second key
        io2 - the mapping associated to the second key
        key3 - the third key
        io3 - the mapping associated to the third key
        Returns:
        a JsObjIO
      • of

        public static JsObjConsole of​(java.lang.String ke1,
                                      JsConsole<?> io1,
                                      java.lang.String key2,
                                      JsConsole<?> io2)
        static factory method to create a JsObjIO of two mappings
        Parameters:
        ke1 - the first key
        io1 - the mapping associated to the first key
        key2 - the second key
        io2 - the mapping associated to the second key
        Returns:
        a JsObjIO
      • of

        public static JsObjConsole of​(java.lang.String key,
                                      JsConsole<?> io)
        static factory method to create a JsObjIO of one mapping
        Parameters:
        key - the key
        io - the mapping associated to the key
        Returns:
        a JsObjIO
      • exec

        public JsObj exec()
                   throws java.util.concurrent.ExecutionException,
                          java.lang.InterruptedException
        Description copied from interface: Program
        Execute the program
        Specified by:
        exec in interface Program<JsObj>
        Returns:
        a Json
        Throws:
        java.util.concurrent.ExecutionException - if this future completed exceptionally
        java.lang.InterruptedException - if the current thread was interrupted
      • promptMessage

        public java.util.function.Consumer<JsPath> promptMessage()
        Specified by:
        promptMessage in interface JsConsole<JsObj>
        Returns:
        consumer that accepts a path and prints out a message indicating to the user that they must type in the value associated to that path