001package Torello.JSON; 002 003import Torello.JavaDoc.Annotations.LinkJavaSource; 004import Torello.JavaDoc.Annotations.StaticFunctional; 005import Torello.JavaDoc.Annotations.JDHeaderBackgroundImg; 006 007import Torello.JavaDoc.Annotations.IntoHTMLTable; 008import static Torello.JavaDoc.Annotations.IntoHTMLTable.Background.GreenDither; 009import static Torello.JavaDoc.Annotations.IntoHTMLTable.Background.BlueDither; 010 011import javax.json.Json; 012import javax.json.JsonArray; 013import javax.json.JsonString; 014import javax.json.JsonValue; 015 016import java.util.Objects; 017 018import Torello.Java.Function.IntIntTConsumer; 019import java.util.function.Consumer; 020import java.util.function.Function; 021 022import Torello.JSON.JFlag; 023 024import static Torello.JSON.BASIC_TYPES.BOXED; 025 026import static javax.json.JsonValue.TRUE; 027import static javax.json.JsonValue.FALSE; 028 029/** 030 * Generate a Pre-Configured {@link SettingsRec} instance which can handle Java Boxed-Primitives. 031 * 032 * <EMBED CLASS=globalDefs DATA-A_AN=A> 033 * <EMBED CLASS='external-html' DATA-FILE-ID=ALL_CLASSES_NOTE> 034 * <EMBED CLASS='external-html' DATA-FILE-ID=RJA_BOXED_CONS_REC> 035 * <EMBED CLASS='external-html' DATA-FILE-ID=LOOP_OPTIMIZED_NOTE> 036 * <EMBED CLASS='external-html' DATA-FILE-ID=RJ_PT_BOXED_CONS_REC> 037 * 038 * @see Json 039 * @see JsonArray 040 */ 041@StaticFunctional 042@JDHeaderBackgroundImg(EmbedTagFileID="RJA_JDHBI_BOXED_CONS_REC") 043public class RJArrBoxedConsumerRec 044{ 045 private RJArrBoxedConsumerRec() { } 046 047 /** 048 * <EMBED CLASS=defs DATA-A_AN=An DATA-DEFVAL=0 DATA-TYPE=Integer DATA-TYPE_LC=int 049 * DATA-METH_NAME=numeric> 050 * <EMBED CLASS='external-html' DATA-FILE-ID=RJ_ARR_BOXED_CONS_REC1> 051 */ 052 @IntoHTMLTable( 053 background=GreenDither, 054 title="Create a SettingsRec Instance for a Boxed-Integer Consumer" 055 ) 056 @LinkJavaSource(handle="BASIC_TYPES", name="INTEGER") 057 @LinkJavaSource(handle="SETTINGS_REC_BUILDER", name="updateableConsumer") 058 public static SettingsRec<Integer, Void> intRec( 059 final int defaultValue, 060 final int FLAGS, 061 final Function<String, Integer> optionalUserParser 062 ) 063 { 064 return new SETTINGS_REC_BUILDER<Integer, Void> 065 (defaultValue, FLAGS, optionalUserParser, BASIC_TYPES.BOXED_INTEGER()) 066 .updateableConsumer(true); 067 } 068 069 /** 070 * <EMBED CLASS=defs DATA-DEFVAL=0 DATA-TYPE=Short DATA-TYPE_LC=short DATA-METH_NAME=numeric> 071 * <EMBED CLASS='external-html' DATA-FILE-ID=RJ_ARR_BOXED_CONS_REC1> 072 */ 073 @IntoHTMLTable( 074 background=BlueDither, 075 title="Create a SettingsRec Instance for a Boxed Short-Integer Consumer" 076 ) 077 @LinkJavaSource(handle="BASIC_TYPES", name="SHORT") 078 @LinkJavaSource(handle="SETTINGS_REC_BUILDER", name="updateableConsumer") 079 public static SettingsRec<Short, Void> shortRec( 080 final short defaultValue, 081 final int FLAGS, 082 final Function<String, Short> optionalUserParser 083 ) 084 { 085 return new SETTINGS_REC_BUILDER<Short, Void> 086 (defaultValue, FLAGS, optionalUserParser, BASIC_TYPES.BOXED_SHORT()) 087 .updateableConsumer(true); 088 } 089 090 /** 091 * <EMBED CLASS=defs DATA-DEFVAL=0 DATA-TYPE=Byte DATA-TYPE_LC=byte DATA-METH_NAME=numeric> 092 * <EMBED CLASS='external-html' DATA-FILE-ID=RJ_ARR_BOXED_CONS_REC1> 093 */ 094 @IntoHTMLTable( 095 background=GreenDither, 096 title="Create a SettingsRec Instance for a Boxed-Byte Consumer" 097 ) 098 @LinkJavaSource(handle="BASIC_TYPES", name="BYTE") 099 @LinkJavaSource(handle="SETTINGS_REC_BUILDER", name="updateableConsumer") 100 public static SettingsRec<Byte, Void> byteRec( 101 final byte defaultValue, 102 final int FLAGS, 103 final Function<String, Byte> optionalUserParser 104 ) 105 { 106 return new SETTINGS_REC_BUILDER<Byte, Void> 107 (defaultValue, FLAGS, optionalUserParser, BASIC_TYPES.BOXED_BYTE()) 108 .updateableConsumer(true); 109 } 110 111 /** 112 * <EMBED CLASS=defs DATA-DEFVAL=0 DATA-TYPE=Long DATA-TYPE_LC=long DATA-METH_NAME=numeric> 113 * <EMBED CLASS='external-html' DATA-FILE-ID=RJ_ARR_BOXED_CONS_REC1> 114 */ 115 @IntoHTMLTable( 116 background=BlueDither, 117 title="Create a SettingsRec Instance for a Boxed Long-Integer Consumer" 118 ) 119 @LinkJavaSource(handle="BASIC_TYPES", name="LONG") 120 @LinkJavaSource(handle="SETTINGS_REC_BUILDER", name="updateableConsumer") 121 public static SettingsRec<Long, Void> longRec( 122 final long defaultValue, 123 final int FLAGS, 124 final Function<String, Long> optionalUserParser 125 ) 126 { 127 return new SETTINGS_REC_BUILDER<Long, Void> 128 (defaultValue, FLAGS, optionalUserParser, BASIC_TYPES.BOXED_LONG()) 129 .updateableConsumer(true); 130 } 131 132 /** 133 * <EMBED CLASS=defs DATA-DEFVAL="0.0" DATA-TYPE=Double DATA-TYPE_LC=double 134 * DATA-METH_NAME=numeric> 135 * <EMBED CLASS='external-html' DATA-FILE-ID=RJ_ARR_BOXED_CONS_REC1> 136 */ 137 @IntoHTMLTable( 138 background=GreenDither, 139 title="Create a SettingsRec Instance for a Boxed-Double Consumer" 140 ) 141 @LinkJavaSource(handle="BASIC_TYPES", name="DOUBLE") 142 @LinkJavaSource(handle="SETTINGS_REC_BUILDER", name="updateableConsumer") 143 public static SettingsRec<Double, Void> doubleRec( 144 final double defaultValue, 145 final int FLAGS, 146 final Function<String, Double> optionalUserParser 147 ) 148 { 149 return new SETTINGS_REC_BUILDER<Double, Void> 150 (defaultValue, FLAGS, optionalUserParser, BASIC_TYPES.BOXED_DOUBLE()) 151 .updateableConsumer(true); 152 } 153 154 /** 155 * <EMBED CLASS=defs DATA-DEFVAL="0.0f" DATA-TYPE=Float DATA-TYPE_LC=float 156 * DATA-METH_NAME=numeric> 157 * <EMBED CLASS='external-html' DATA-FILE-ID=RJ_ARR_BOXED_CONS_REC1> 158 */ 159 @IntoHTMLTable( 160 background=BlueDither, 161 title="Create a SettingsRec Instance for a Boxed-Float Consumer" 162 ) 163 @LinkJavaSource(handle="BASIC_TYPES", name="FLOAT") 164 @LinkJavaSource(handle="SETTINGS_REC_BUILDER", name="updateableConsumer") 165 public static SettingsRec<Float, Void> floatRec( 166 final float defaultValue, 167 final int FLAGS, 168 final Function<String, Float> optionalUserParser 169 ) 170 { 171 return new SETTINGS_REC_BUILDER<Float, Void> 172 (defaultValue, FLAGS, optionalUserParser, BASIC_TYPES.BOXED_FLOAT()) 173 .updateableConsumer(true); 174 } 175 176 /** 177 * <EMBED CLASS=defs DATA-DEFVAL=false DATA-TYPE=Boolean DATA-TYPE_LC=boolean 178 * DATA-METH_NAME=boolean> 179 * <EMBED CLASS='external-html' DATA-FILE-ID=RJ_ARR_BOXED_CONS_REC1> 180 */ 181 @IntoHTMLTable( 182 background=GreenDither, 183 title="Create a SettingsRec Instance for a Boxed-Boolean Consumer" 184 ) 185 @LinkJavaSource(handle="BASIC_TYPES", name="BOOLEAN") 186 @LinkJavaSource(handle="SETTINGS_REC_BUILDER", name="updateableConsumer") 187 public static SettingsRec<Boolean, Void> booleanRec( 188 final boolean defaultValue, 189 final int FLAGS, 190 final Function<String, Boolean> optionalUserParser 191 ) 192 { 193 return new SETTINGS_REC_BUILDER<Boolean, Void> 194 (defaultValue, FLAGS, optionalUserParser, BASIC_TYPES.BOXED_BOOLEAN()) 195 .updateableConsumer(true); 196 } 197 198 /** 199 * <EMBED CLASS=defs DATA-DEFVAL=0 DATA-TYPE=Number DATA-TYPE_LC=int DATA-METH_NAME=numeric> 200 * <EMBED CLASS='external-html' DATA-FILE-ID=RJ_ARR_BOXED_CONS_REC1> 201 */ 202 @IntoHTMLTable( 203 background=BlueDither, 204 title="Create a SettingsRec Instance for a (Best Filt) Boxed-Number Consumer" 205 ) 206 @LinkJavaSource(handle="BASIC_TYPES", name="NUMBER_REC") 207 @LinkJavaSource(handle="SETTINGS_REC_BUILDER", name="updateableConsumer") 208 public static SettingsRec<Number, Void> numberRec( 209 final Number defaultValue, 210 final int FLAGS, 211 final Function<String, Number> optionalUserParser 212 ) 213 { 214 return new SETTINGS_REC_BUILDER<Number, Void> 215 (defaultValue, FLAGS, optionalUserParser, BASIC_TYPES.NUMBER_REC()) 216 .updateableConsumer(true); 217 } 218 219 220 221 222 // ******************************************************************************************** 223 // ******************************************************************************************** 224 // IntIntTConsumer Variant 225 // ******************************************************************************************** 226 // ******************************************************************************************** 227 228 229 230 231 /** 232 * <EMBED CLASS=defs DATA-A_AN=An DATA-DEFVAL=1 DATA-TYPE=Integer DATA-TYPE_LC=int 233 * DATA-METH_NAME=numeric> 234 * <EMBED CLASS='external-html' DATA-FILE-ID=RJ_ARR_BOXED_CONS_REC2> 235 */ 236 @IntoHTMLTable( 237 background=GreenDither, 238 title="Create a SettingsRec Instance for a Consumer of Boxed-Integers, w/ Array-Indices" 239 ) 240 @LinkJavaSource(handle="BASIC_TYPES", name="INTEGER") 241 @LinkJavaSource(handle="SETTINGS_REC_BUILDER", name="updateableConsumer") 242 public static SettingsRec<Integer, Void> intRec2( 243 final int defaultValue, 244 final int FLAGS, 245 final Function<String, Integer> optionalUserParser 246 ) 247 { 248 return new SETTINGS_REC_BUILDER<Integer, Void> 249 (defaultValue, FLAGS, optionalUserParser, BASIC_TYPES.BOXED_INTEGER()) 250 .updateableConsumer(false); 251 } 252 253 /** 254 * <EMBED CLASS=defs DATA-DEFVAL=1 DATA-TYPE=Short DATA-TYPE_LC=short DATA-METH_NAME=numeric> 255 * <EMBED CLASS='external-html' DATA-FILE-ID=RJ_ARR_BOXED_CONS_REC2> 256 */ 257 @IntoHTMLTable( 258 background=BlueDither, 259 title="Create a SettingsRec Instance for a Consumer of Boxed Short-Integers, " + 260 "w/ Array-Indices" 261 ) 262 @LinkJavaSource(handle="BASIC_TYPES", name="SHORT") 263 @LinkJavaSource(handle="SETTINGS_REC_BUILDER", name="updateableConsumer") 264 public static SettingsRec<Short, Void> shortRec2( 265 final short defaultValue, 266 final int FLAGS, 267 final Function<String, Short> optionalUserParser 268 ) 269 { 270 return new SETTINGS_REC_BUILDER<Short, Void> 271 (defaultValue, FLAGS, optionalUserParser, BASIC_TYPES.BOXED_SHORT()) 272 .updateableConsumer(false); 273 } 274 275 /** 276 * <EMBED CLASS=defs DATA-DEFVAL=1 DATA-TYPE=Byte DATA-TYPE_LC=byte DATA-METH_NAME=numeric> 277 * <EMBED CLASS='external-html' DATA-FILE-ID=RJ_ARR_BOXED_CONS_REC2> 278 */ 279 @IntoHTMLTable( 280 background=GreenDither, 281 title="Create a SettingsRec Instance for a Consumer of Boxed-Bytes, w/ Array-Indices" 282 ) 283 @LinkJavaSource(handle="BASIC_TYPES", name="BYTE") 284 @LinkJavaSource(handle="SETTINGS_REC_BUILDER", name="updateableConsumer") 285 public static SettingsRec<Byte, Void> byteRec2( 286 final byte defaultValue, 287 final int FLAGS, 288 final Function<String, Byte> optionalUserParser 289 ) 290 { 291 return new SETTINGS_REC_BUILDER<Byte, Void> 292 (defaultValue, FLAGS, optionalUserParser, BASIC_TYPES.BOXED_BYTE()) 293 .updateableConsumer(false); 294 } 295 296 /** 297 * <EMBED CLASS=defs DATA-DEFVAL=1 DATA-TYPE=Long DATA-TYPE_LC=long DATA-METH_NAME=numeric> 298 * <EMBED CLASS='external-html' DATA-FILE-ID=RJ_ARR_BOXED_CONS_REC2> 299 */ 300 @IntoHTMLTable( 301 background=BlueDither, 302 title="Create a SettingsRec Instance for a Consumer of Boxed Long-Integers, " + 303 "w/ Array-Indices" 304 ) 305 @LinkJavaSource(handle="BASIC_TYPES", name="LONG") 306 @LinkJavaSource(handle="SETTINGS_REC_BUILDER", name="updateableConsumer") 307 public static SettingsRec<Long, Void> longRec2( 308 final long defaultValue, 309 final int FLAGS, 310 final Function<String, Long> optionalUserParser 311 ) 312 { 313 return new SETTINGS_REC_BUILDER<Long, Void> 314 (defaultValue, FLAGS, optionalUserParser, BASIC_TYPES.BOXED_LONG()) 315 .updateableConsumer(false); 316 } 317 318 /** 319 * <EMBED CLASS=defs DATA-DEFVAL="1.0" DATA-TYPE=Double DATA-TYPE_LC=double 320 * DATA-METH_NAME=numeric> 321 * <EMBED CLASS='external-html' DATA-FILE-ID=RJ_ARR_BOXED_CONS_REC2> 322 */ 323 @IntoHTMLTable( 324 background=GreenDither, 325 title="Create a SettingsRec Instance for a Consumer of Boxed-Doubles, w/ Array-Indices" 326 ) 327 @LinkJavaSource(handle="BASIC_TYPES", name="DOUBLE") 328 @LinkJavaSource(handle="SETTINGS_REC_BUILDER", name="updateableConsumer") 329 public static SettingsRec<Double, Void> doubleRec2( 330 final double defaultValue, 331 final int FLAGS, 332 final Function<String, Double> optionalUserParser 333 ) 334 { 335 return new SETTINGS_REC_BUILDER<Double, Void> 336 (defaultValue, FLAGS, optionalUserParser, BASIC_TYPES.BOXED_DOUBLE()) 337 .updateableConsumer(false); 338 } 339 340 /** 341 * <EMBED CLASS=defs DATA-DEFVAL="1.0f" DATA-TYPE=Float DATA-TYPE_LC=float 342 * DATA-METH_NAME=numeric> 343 * <EMBED CLASS='external-html' DATA-FILE-ID=RJ_ARR_BOXED_CONS_REC2> 344 */ 345 @IntoHTMLTable( 346 background=BlueDither, 347 title="Create a SettingsRec Instance for a Consumer of Boxed-Floats, w/ Array-Indices" 348 ) 349 @LinkJavaSource(handle="BASIC_TYPES", name="FLOAT") 350 @LinkJavaSource(handle="SETTINGS_REC_BUILDER", name="updateableConsumer") 351 public static SettingsRec<Float, Void> floatRec2( 352 final float defaultValue, 353 final int FLAGS, 354 final Function<String, Float> optionalUserParser 355 ) 356 { 357 return new SETTINGS_REC_BUILDER<Float, Void> 358 (defaultValue, FLAGS, optionalUserParser, BASIC_TYPES.BOXED_FLOAT()) 359 .updateableConsumer(false); 360 } 361 362 /** 363 * <EMBED CLASS=defs DATA-DEFVAL=false DATA-TYPE=Boolean DATA-TYPE_LC=boolean 364 * DATA-METH_NAME=boolean> 365 * <EMBED CLASS='external-html' DATA-FILE-ID=RJ_ARR_BOXED_CONS_REC2> 366 */ 367 @IntoHTMLTable( 368 background=GreenDither, 369 title="Create a SettingsRec Instance for a Consumer of Boxed-Booleans, w/ Array-Indices" 370 ) 371 @LinkJavaSource(handle="BASIC_TYPES", name="BOOLEAN") 372 @LinkJavaSource(handle="SETTINGS_REC_BUILDER", name="updateableConsumer") 373 public static SettingsRec<Boolean, Void> booleanRec2( 374 final boolean defaultValue, 375 final int FLAGS, 376 final Function<String, Boolean> optionalUserParser 377 ) 378 { 379 return new SETTINGS_REC_BUILDER<Boolean, Void> 380 (defaultValue, FLAGS, optionalUserParser, BASIC_TYPES.BOXED_BOOLEAN()) 381 .updateableConsumer(false); 382 } 383 384 /** 385 * <EMBED CLASS=defs DATA-DEFVAL=1 DATA-TYPE=Number DATA-TYPE_LC=number DATA-METH_NAME=numeric> 386 * <EMBED CLASS='external-html' DATA-FILE-ID=RJ_ARR_BOXED_CONS_REC2> 387 */ 388 @IntoHTMLTable( 389 background=BlueDither, 390 title="Create a SettingsRec Instance for a Consumer of (Best-Fit) Boxed-Numbers, " + 391 "w/ Array-Indices" 392 ) 393 @LinkJavaSource(handle="BASIC_TYPES", name="NUMBER_REC") 394 @LinkJavaSource(handle="SETTINGS_REC_BUILDER", name="updateableConsumer") 395 public static SettingsRec<Number, Void> numberRec2( 396 final Number defaultValue, 397 final int FLAGS, 398 final Function<String, Number> optionalUserParser 399 ) 400 { 401 return new SETTINGS_REC_BUILDER<Number, Void> 402 (defaultValue, FLAGS, optionalUserParser, BASIC_TYPES.NUMBER_REC()) 403 .updateableConsumer(false); 404 } 405}