001package org.unix4j.unix.xargs; 002 003import java.util.Arrays; 004import java.util.Collections; 005import java.util.EnumSet; 006import java.util.Iterator; 007import org.unix4j.option.Option; 008 009import org.unix4j.unix.Xargs; 010 011/** 012 * Option sets for the {@link Xargs xargs} command with 013 * the following options: {@link #z z}, {@link #x x}, {@link #r r}, {@link #t t}. 014 * <p> 015 * Application code does normally not directly refer to this class; 016 * {@link Xargs#Options} should be used instead to specify command 017 * options. See also {@link org.unix4j.unix.xargs.XargsOptions} for more information. 018 */ 019public enum XargsOptionSet_rtxz implements XargsOptions { 020 /** Option set with the following active options: {@link #delimiter0 z}, {@link #exactArgs x}, {@link #noRunIfEmpty r}, {@link #verbose t}.*/ 021 Active_rtxz( 022 /*z:*/null /*already set*/, /*delimiter0:*/null /*already set*/, /*x:*/null /*already set*/, /*exactArgs:*/null /*already set*/, /*r:*/null /*already set*/, /*noRunIfEmpty:*/null /*already set*/, /*t:*/null /*already set*/, /*verbose:*/null /*already set*/, 023 true, 024 /*active:*/XargsOption.delimiter0, XargsOption.exactArgs, XargsOption.noRunIfEmpty, XargsOption.verbose 025 ), 026 /** Option set with the following active options: {@link #delimiter0 z}, {@link #exactArgs x}, {@link #noRunIfEmpty r}, {@link #verbose t}.*/ 027 Active_rtxz_long( 028 /*z:*/null /*already set*/, /*delimiter0:*/null /*already set*/, /*x:*/null /*already set*/, /*exactArgs:*/null /*already set*/, /*r:*/null /*already set*/, /*noRunIfEmpty:*/null /*already set*/, /*t:*/null /*already set*/, /*verbose:*/null /*already set*/, 029 false, 030 /*active:*/XargsOption.delimiter0, XargsOption.exactArgs, XargsOption.noRunIfEmpty, XargsOption.verbose 031 ), 032 /** Option set with the following active options: {@link #delimiter0 z}, {@link #exactArgs x}, {@link #noRunIfEmpty r}.*/ 033 Active_rxz( 034 /*z:*/null /*already set*/, /*delimiter0:*/null /*already set*/, /*x:*/null /*already set*/, /*exactArgs:*/null /*already set*/, /*r:*/null /*already set*/, /*noRunIfEmpty:*/null /*already set*/, /*t:*/Active_rtxz, /*verbose:*/Active_rtxz_long, 035 true, 036 /*active:*/XargsOption.delimiter0, XargsOption.exactArgs, XargsOption.noRunIfEmpty 037 ), 038 /** Option set with the following active options: {@link #delimiter0 z}, {@link #exactArgs x}, {@link #noRunIfEmpty r}.*/ 039 Active_rxz_long( 040 /*z:*/null /*already set*/, /*delimiter0:*/null /*already set*/, /*x:*/null /*already set*/, /*exactArgs:*/null /*already set*/, /*r:*/null /*already set*/, /*noRunIfEmpty:*/null /*already set*/, /*t:*/Active_rtxz, /*verbose:*/Active_rtxz_long, 041 false, 042 /*active:*/XargsOption.delimiter0, XargsOption.exactArgs, XargsOption.noRunIfEmpty 043 ), 044 /** Option set with the following active options: {@link #delimiter0 z}, {@link #exactArgs x}, {@link #verbose t}.*/ 045 Active_txz( 046 /*z:*/null /*already set*/, /*delimiter0:*/null /*already set*/, /*x:*/null /*already set*/, /*exactArgs:*/null /*already set*/, /*r:*/Active_rtxz, /*noRunIfEmpty:*/Active_rtxz_long, /*t:*/null /*already set*/, /*verbose:*/null /*already set*/, 047 true, 048 /*active:*/XargsOption.delimiter0, XargsOption.exactArgs, XargsOption.verbose 049 ), 050 /** Option set with the following active options: {@link #delimiter0 z}, {@link #exactArgs x}, {@link #verbose t}.*/ 051 Active_txz_long( 052 /*z:*/null /*already set*/, /*delimiter0:*/null /*already set*/, /*x:*/null /*already set*/, /*exactArgs:*/null /*already set*/, /*r:*/Active_rtxz, /*noRunIfEmpty:*/Active_rtxz_long, /*t:*/null /*already set*/, /*verbose:*/null /*already set*/, 053 false, 054 /*active:*/XargsOption.delimiter0, XargsOption.exactArgs, XargsOption.verbose 055 ), 056 /** Option set with the following active options: {@link #delimiter0 z}, {@link #noRunIfEmpty r}, {@link #verbose t}.*/ 057 Active_rtz( 058 /*z:*/null /*already set*/, /*delimiter0:*/null /*already set*/, /*x:*/Active_rtxz, /*exactArgs:*/Active_rtxz_long, /*r:*/null /*already set*/, /*noRunIfEmpty:*/null /*already set*/, /*t:*/null /*already set*/, /*verbose:*/null /*already set*/, 059 true, 060 /*active:*/XargsOption.delimiter0, XargsOption.noRunIfEmpty, XargsOption.verbose 061 ), 062 /** Option set with the following active options: {@link #delimiter0 z}, {@link #noRunIfEmpty r}, {@link #verbose t}.*/ 063 Active_rtz_long( 064 /*z:*/null /*already set*/, /*delimiter0:*/null /*already set*/, /*x:*/Active_rtxz, /*exactArgs:*/Active_rtxz_long, /*r:*/null /*already set*/, /*noRunIfEmpty:*/null /*already set*/, /*t:*/null /*already set*/, /*verbose:*/null /*already set*/, 065 false, 066 /*active:*/XargsOption.delimiter0, XargsOption.noRunIfEmpty, XargsOption.verbose 067 ), 068 /** Option set with the following active options: {@link #exactArgs x}, {@link #noRunIfEmpty r}, {@link #verbose t}.*/ 069 Active_rtx( 070 /*z:*/Active_rtxz, /*delimiter0:*/Active_rtxz_long, /*x:*/null /*already set*/, /*exactArgs:*/null /*already set*/, /*r:*/null /*already set*/, /*noRunIfEmpty:*/null /*already set*/, /*t:*/null /*already set*/, /*verbose:*/null /*already set*/, 071 true, 072 /*active:*/XargsOption.exactArgs, XargsOption.noRunIfEmpty, XargsOption.verbose 073 ), 074 /** Option set with the following active options: {@link #exactArgs x}, {@link #noRunIfEmpty r}, {@link #verbose t}.*/ 075 Active_rtx_long( 076 /*z:*/Active_rtxz, /*delimiter0:*/Active_rtxz_long, /*x:*/null /*already set*/, /*exactArgs:*/null /*already set*/, /*r:*/null /*already set*/, /*noRunIfEmpty:*/null /*already set*/, /*t:*/null /*already set*/, /*verbose:*/null /*already set*/, 077 false, 078 /*active:*/XargsOption.exactArgs, XargsOption.noRunIfEmpty, XargsOption.verbose 079 ), 080 /** Option set with the following active options: {@link #delimiter0 z}, {@link #exactArgs x}.*/ 081 Active_xz( 082 /*z:*/null /*already set*/, /*delimiter0:*/null /*already set*/, /*x:*/null /*already set*/, /*exactArgs:*/null /*already set*/, /*r:*/Active_rxz, /*noRunIfEmpty:*/Active_rxz_long, /*t:*/Active_txz, /*verbose:*/Active_txz_long, 083 true, 084 /*active:*/XargsOption.delimiter0, XargsOption.exactArgs 085 ), 086 /** Option set with the following active options: {@link #delimiter0 z}, {@link #exactArgs x}.*/ 087 Active_xz_long( 088 /*z:*/null /*already set*/, /*delimiter0:*/null /*already set*/, /*x:*/null /*already set*/, /*exactArgs:*/null /*already set*/, /*r:*/Active_rxz, /*noRunIfEmpty:*/Active_rxz_long, /*t:*/Active_txz, /*verbose:*/Active_txz_long, 089 false, 090 /*active:*/XargsOption.delimiter0, XargsOption.exactArgs 091 ), 092 /** Option set with the following active options: {@link #delimiter0 z}, {@link #noRunIfEmpty r}.*/ 093 Active_rz( 094 /*z:*/null /*already set*/, /*delimiter0:*/null /*already set*/, /*x:*/Active_rxz, /*exactArgs:*/Active_rxz_long, /*r:*/null /*already set*/, /*noRunIfEmpty:*/null /*already set*/, /*t:*/Active_rtz, /*verbose:*/Active_rtz_long, 095 true, 096 /*active:*/XargsOption.delimiter0, XargsOption.noRunIfEmpty 097 ), 098 /** Option set with the following active options: {@link #delimiter0 z}, {@link #noRunIfEmpty r}.*/ 099 Active_rz_long( 100 /*z:*/null /*already set*/, /*delimiter0:*/null /*already set*/, /*x:*/Active_rxz, /*exactArgs:*/Active_rxz_long, /*r:*/null /*already set*/, /*noRunIfEmpty:*/null /*already set*/, /*t:*/Active_rtz, /*verbose:*/Active_rtz_long, 101 false, 102 /*active:*/XargsOption.delimiter0, XargsOption.noRunIfEmpty 103 ), 104 /** Option set with the following active options: {@link #delimiter0 z}, {@link #verbose t}.*/ 105 Active_tz( 106 /*z:*/null /*already set*/, /*delimiter0:*/null /*already set*/, /*x:*/Active_txz, /*exactArgs:*/Active_txz_long, /*r:*/Active_rtz, /*noRunIfEmpty:*/Active_rtz_long, /*t:*/null /*already set*/, /*verbose:*/null /*already set*/, 107 true, 108 /*active:*/XargsOption.delimiter0, XargsOption.verbose 109 ), 110 /** Option set with the following active options: {@link #delimiter0 z}, {@link #verbose t}.*/ 111 Active_tz_long( 112 /*z:*/null /*already set*/, /*delimiter0:*/null /*already set*/, /*x:*/Active_txz, /*exactArgs:*/Active_txz_long, /*r:*/Active_rtz, /*noRunIfEmpty:*/Active_rtz_long, /*t:*/null /*already set*/, /*verbose:*/null /*already set*/, 113 false, 114 /*active:*/XargsOption.delimiter0, XargsOption.verbose 115 ), 116 /** Option set with the following active options: {@link #exactArgs x}, {@link #noRunIfEmpty r}.*/ 117 Active_rx( 118 /*z:*/Active_rxz, /*delimiter0:*/Active_rxz_long, /*x:*/null /*already set*/, /*exactArgs:*/null /*already set*/, /*r:*/null /*already set*/, /*noRunIfEmpty:*/null /*already set*/, /*t:*/Active_rtx, /*verbose:*/Active_rtx_long, 119 true, 120 /*active:*/XargsOption.exactArgs, XargsOption.noRunIfEmpty 121 ), 122 /** Option set with the following active options: {@link #exactArgs x}, {@link #noRunIfEmpty r}.*/ 123 Active_rx_long( 124 /*z:*/Active_rxz, /*delimiter0:*/Active_rxz_long, /*x:*/null /*already set*/, /*exactArgs:*/null /*already set*/, /*r:*/null /*already set*/, /*noRunIfEmpty:*/null /*already set*/, /*t:*/Active_rtx, /*verbose:*/Active_rtx_long, 125 false, 126 /*active:*/XargsOption.exactArgs, XargsOption.noRunIfEmpty 127 ), 128 /** Option set with the following active options: {@link #exactArgs x}, {@link #verbose t}.*/ 129 Active_tx( 130 /*z:*/Active_txz, /*delimiter0:*/Active_txz_long, /*x:*/null /*already set*/, /*exactArgs:*/null /*already set*/, /*r:*/Active_rtx, /*noRunIfEmpty:*/Active_rtx_long, /*t:*/null /*already set*/, /*verbose:*/null /*already set*/, 131 true, 132 /*active:*/XargsOption.exactArgs, XargsOption.verbose 133 ), 134 /** Option set with the following active options: {@link #exactArgs x}, {@link #verbose t}.*/ 135 Active_tx_long( 136 /*z:*/Active_txz, /*delimiter0:*/Active_txz_long, /*x:*/null /*already set*/, /*exactArgs:*/null /*already set*/, /*r:*/Active_rtx, /*noRunIfEmpty:*/Active_rtx_long, /*t:*/null /*already set*/, /*verbose:*/null /*already set*/, 137 false, 138 /*active:*/XargsOption.exactArgs, XargsOption.verbose 139 ), 140 /** Option set with the following active options: {@link #noRunIfEmpty r}, {@link #verbose t}.*/ 141 Active_rt( 142 /*z:*/Active_rtz, /*delimiter0:*/Active_rtz_long, /*x:*/Active_rtx, /*exactArgs:*/Active_rtx_long, /*r:*/null /*already set*/, /*noRunIfEmpty:*/null /*already set*/, /*t:*/null /*already set*/, /*verbose:*/null /*already set*/, 143 true, 144 /*active:*/XargsOption.noRunIfEmpty, XargsOption.verbose 145 ), 146 /** Option set with the following active options: {@link #noRunIfEmpty r}, {@link #verbose t}.*/ 147 Active_rt_long( 148 /*z:*/Active_rtz, /*delimiter0:*/Active_rtz_long, /*x:*/Active_rtx, /*exactArgs:*/Active_rtx_long, /*r:*/null /*already set*/, /*noRunIfEmpty:*/null /*already set*/, /*t:*/null /*already set*/, /*verbose:*/null /*already set*/, 149 false, 150 /*active:*/XargsOption.noRunIfEmpty, XargsOption.verbose 151 ), 152 /** Option set with the following active options: {@link #delimiter0 z}.*/ 153 Active_z( 154 /*z:*/null /*already set*/, /*delimiter0:*/null /*already set*/, /*x:*/Active_xz, /*exactArgs:*/Active_xz_long, /*r:*/Active_rz, /*noRunIfEmpty:*/Active_rz_long, /*t:*/Active_tz, /*verbose:*/Active_tz_long, 155 true, 156 /*active:*/XargsOption.delimiter0 157 ), 158 /** Option set with the following active options: {@link #delimiter0 z}.*/ 159 Active_z_long( 160 /*z:*/null /*already set*/, /*delimiter0:*/null /*already set*/, /*x:*/Active_xz, /*exactArgs:*/Active_xz_long, /*r:*/Active_rz, /*noRunIfEmpty:*/Active_rz_long, /*t:*/Active_tz, /*verbose:*/Active_tz_long, 161 false, 162 /*active:*/XargsOption.delimiter0 163 ), 164 /** Option set with the following active options: {@link #exactArgs x}.*/ 165 Active_x( 166 /*z:*/Active_xz, /*delimiter0:*/Active_xz_long, /*x:*/null /*already set*/, /*exactArgs:*/null /*already set*/, /*r:*/Active_rx, /*noRunIfEmpty:*/Active_rx_long, /*t:*/Active_tx, /*verbose:*/Active_tx_long, 167 true, 168 /*active:*/XargsOption.exactArgs 169 ), 170 /** Option set with the following active options: {@link #exactArgs x}.*/ 171 Active_x_long( 172 /*z:*/Active_xz, /*delimiter0:*/Active_xz_long, /*x:*/null /*already set*/, /*exactArgs:*/null /*already set*/, /*r:*/Active_rx, /*noRunIfEmpty:*/Active_rx_long, /*t:*/Active_tx, /*verbose:*/Active_tx_long, 173 false, 174 /*active:*/XargsOption.exactArgs 175 ), 176 /** Option set with the following active options: {@link #noRunIfEmpty r}.*/ 177 Active_r( 178 /*z:*/Active_rz, /*delimiter0:*/Active_rz_long, /*x:*/Active_rx, /*exactArgs:*/Active_rx_long, /*r:*/null /*already set*/, /*noRunIfEmpty:*/null /*already set*/, /*t:*/Active_rt, /*verbose:*/Active_rt_long, 179 true, 180 /*active:*/XargsOption.noRunIfEmpty 181 ), 182 /** Option set with the following active options: {@link #noRunIfEmpty r}.*/ 183 Active_r_long( 184 /*z:*/Active_rz, /*delimiter0:*/Active_rz_long, /*x:*/Active_rx, /*exactArgs:*/Active_rx_long, /*r:*/null /*already set*/, /*noRunIfEmpty:*/null /*already set*/, /*t:*/Active_rt, /*verbose:*/Active_rt_long, 185 false, 186 /*active:*/XargsOption.noRunIfEmpty 187 ), 188 /** Option set with the following active options: {@link #verbose t}.*/ 189 Active_t( 190 /*z:*/Active_tz, /*delimiter0:*/Active_tz_long, /*x:*/Active_tx, /*exactArgs:*/Active_tx_long, /*r:*/Active_rt, /*noRunIfEmpty:*/Active_rt_long, /*t:*/null /*already set*/, /*verbose:*/null /*already set*/, 191 true, 192 /*active:*/XargsOption.verbose 193 ), 194 /** Option set with the following active options: {@link #verbose t}.*/ 195 Active_t_long( 196 /*z:*/Active_tz, /*delimiter0:*/Active_tz_long, /*x:*/Active_tx, /*exactArgs:*/Active_tx_long, /*r:*/Active_rt, /*noRunIfEmpty:*/Active_rt_long, /*t:*/null /*already set*/, /*verbose:*/null /*already set*/, 197 false, 198 /*active:*/XargsOption.verbose 199 ); 200 private XargsOptionSet_rtxz( 201 XargsOptionSet_rtxz z, XargsOptionSet_rtxz delimiter0, XargsOptionSet_rtxz x, XargsOptionSet_rtxz exactArgs, XargsOptionSet_rtxz r, XargsOptionSet_rtxz noRunIfEmpty, XargsOptionSet_rtxz t, XargsOptionSet_rtxz verbose, 202 boolean useAcronym, 203 XargsOption... activeOptions 204 ) { 205 this.z = z == null ? this : z; 206 this.delimiter0 = delimiter0 == null ? this : delimiter0; 207 this.x = x == null ? this : x; 208 this.exactArgs = exactArgs == null ? this : exactArgs; 209 this.r = r == null ? this : r; 210 this.noRunIfEmpty = noRunIfEmpty == null ? this : noRunIfEmpty; 211 this.t = t == null ? this : t; 212 this.verbose = verbose == null ? this : verbose; 213 this.useAcronym = useAcronym; 214 this.options = activeOptions.length == 0 ? EnumSet.noneOf(XargsOption.class) : EnumSet.copyOf(Arrays.asList(activeOptions)); 215 } 216 private final boolean useAcronym; 217 /** 218 * Option {@code "-z"}: Input items are terminated by a null character instead of by 219 whitespace, and the quotes and backslash are not special (every 220 character is taken literally). Disables the end of file string, 221 which is treated like any other argument. Useful when input items 222 might contain white space, quote marks, or backslashes. The find 223 --print0 option produces input suitable for this mode. 224 <p> 225 (This option is ignored if an explicit delimiter operand is specified). 226 * <p> 227 * The option {@code "-z"} is equivalent to the {@code "--}{@link #delimiter0 delimiter0}{@code "} option. 228 * <p> 229 * Technically speaking, this field points to a set with the options of the 230 * current set plus the option {@code "-z"}. If the option {@code "-z"} 231 * is already set, the field {@code z} points to the enum constant itself 232 * as it already represents the current set of options. 233 */ 234 public final XargsOptionSet_rtxz z; 235 /** 236 * Option {@code "--delimiter0"}: Input items are terminated by a null character instead of by 237 whitespace, and the quotes and backslash are not special (every 238 character is taken literally). Disables the end of file string, 239 which is treated like any other argument. Useful when input items 240 might contain white space, quote marks, or backslashes. The find 241 --print0 option produces input suitable for this mode. 242 <p> 243 (This option is ignored if an explicit delimiter operand is specified). 244 * <p> 245 * The option {@code "--delimiter0"} is equivalent to the {@code "-}{@link #z z}{@code "} option. 246 * <p> 247 * Technically speaking, this field points to a set with the options of the 248 * current set plus the option {@code "--delimiter0"}. If the option {@code "--delimiter0"} 249 * is already set, the field {@code delimiter0} points to the enum constant itself 250 * as it already represents the current set of options. 251 */ 252 public final XargsOptionSet_rtxz delimiter0; 253 /** 254 * Option {@code "-x"}: Terminate immediately if {@code maxArgs} is specified but the found 255 number of variable items is less than {@code maxArgs}. 256<p> 257 (This option is ignored if no {@code maxArgs} operand is specified). 258 * <p> 259 * The option {@code "-x"} is equivalent to the {@code "--}{@link #exactArgs exactArgs}{@code "} option. 260 * <p> 261 * Technically speaking, this field points to a set with the options of the 262 * current set plus the option {@code "-x"}. If the option {@code "-x"} 263 * is already set, the field {@code x} points to the enum constant itself 264 * as it already represents the current set of options. 265 */ 266 public final XargsOptionSet_rtxz x; 267 /** 268 * Option {@code "--exactArgs"}: Terminate immediately if {@code maxArgs} is specified but the found 269 number of variable items is less than {@code maxArgs}. 270<p> 271 (This option is ignored if no {@code maxArgs} operand is specified). 272 * <p> 273 * The option {@code "--exactArgs"} is equivalent to the {@code "-}{@link #x x}{@code "} option. 274 * <p> 275 * Technically speaking, this field points to a set with the options of the 276 * current set plus the option {@code "--exactArgs"}. If the option {@code "--exactArgs"} 277 * is already set, the field {@code exactArgs} points to the enum constant itself 278 * as it already represents the current set of options. 279 */ 280 public final XargsOptionSet_rtxz exactArgs; 281 /** 282 * Option {@code "-r"}: If the standard input does not contain any nonblanks, do not run the 283 command. Normally, the command is run once even if there is no 284 input. 285 * <p> 286 * The option {@code "-r"} is equivalent to the {@code "--}{@link #noRunIfEmpty noRunIfEmpty}{@code "} option. 287 * <p> 288 * Technically speaking, this field points to a set with the options of the 289 * current set plus the option {@code "-r"}. If the option {@code "-r"} 290 * is already set, the field {@code r} points to the enum constant itself 291 * as it already represents the current set of options. 292 */ 293 public final XargsOptionSet_rtxz r; 294 /** 295 * Option {@code "--noRunIfEmpty"}: If the standard input does not contain any nonblanks, do not run the 296 command. Normally, the command is run once even if there is no 297 input. 298 * <p> 299 * The option {@code "--noRunIfEmpty"} is equivalent to the {@code "-}{@link #r r}{@code "} option. 300 * <p> 301 * Technically speaking, this field points to a set with the options of the 302 * current set plus the option {@code "--noRunIfEmpty"}. If the option {@code "--noRunIfEmpty"} 303 * is already set, the field {@code noRunIfEmpty} points to the enum constant itself 304 * as it already represents the current set of options. 305 */ 306 public final XargsOptionSet_rtxz noRunIfEmpty; 307 /** 308 * Option {@code "-t"}: Print the command line on the standard error output before executing 309 it. 310 * <p> 311 * The option {@code "-t"} is equivalent to the {@code "--}{@link #verbose verbose}{@code "} option. 312 * <p> 313 * Technically speaking, this field points to a set with the options of the 314 * current set plus the option {@code "-t"}. If the option {@code "-t"} 315 * is already set, the field {@code t} points to the enum constant itself 316 * as it already represents the current set of options. 317 */ 318 public final XargsOptionSet_rtxz t; 319 /** 320 * Option {@code "--verbose"}: Print the command line on the standard error output before executing 321 it. 322 * <p> 323 * The option {@code "--verbose"} is equivalent to the {@code "-}{@link #t t}{@code "} option. 324 * <p> 325 * Technically speaking, this field points to a set with the options of the 326 * current set plus the option {@code "--verbose"}. If the option {@code "--verbose"} 327 * is already set, the field {@code verbose} points to the enum constant itself 328 * as it already represents the current set of options. 329 */ 330 public final XargsOptionSet_rtxz verbose; 331 private final EnumSet<XargsOption> options; 332 333 //inherit javadoc 334 @Override 335 public Class<XargsOption> optionType() { 336 return XargsOption.class; 337 } 338 //inherit javadoc 339 @Override 340 public boolean isSet(XargsOption option) { 341 return options.contains(option); 342 } 343 //inherit javadoc 344 @Override 345 public int size() { 346 return options.size(); 347 } 348 /** 349 * Returns the set with the active options. The returned set a new defensive 350 * copy instance created when this method is called, modifications of this 351 * set will therefore not alter {@code this} option set. 352 * 353 * @return a copy of the set with the active options. 354 */ 355 @Override 356 public EnumSet<XargsOption> asSet() { 357 return EnumSet.copyOf(options); 358 } 359 /** 360 * Returns an immutable iterator with the active options of this option set. 361 * 362 * @return an immutable iterator for over the active options 363 */ 364 @Override 365 public Iterator<XargsOption> iterator() { 366 return Collections.unmodifiableSet(options).iterator(); 367 } 368 /** 369 * Returns true if the {@link Option#acronym() acronym} should be used in 370 * for the specified {@code option} string representations. 371 * <p> 372 * In particular and independent from the {@code option} argument, this 373 * option set returns true if the last option added to this set was an 374 * acronym, and false if it was a long option name. 375 * <p> 376 * For instance, the set defined as 377 * <pre> 378 * XargsOptionSet_rtxz.delimiter0.x; 379 * </pre> 380 * uses acronyms, that is, this method always returns true for the above 381 * set. 382 * <p> 383 * On the other hand, long option names are used and this method always 384 * returns false for the set 385 * <pre> 386 * XargsOptionSet_rtxz.z.exactArgs; 387 * </pre> 388 * <p> 389 * Note that a repeated option is <i>not</i> treated as the last set option. 390 * For instance, the first and last option of the following set are 391 * equivalent and acronyms are used: 392 * <pre> 393 * XargsOptionSet_rtxz.z.x.delimiter0; 394 * </pre> 395 * <p> 396 * This method always returns true for the empty set with no active options. 397 * 398 * @param option 399 * the option of interest, has no impact on the result returned 400 * by this method 401 * @return true if option acronyms should be used for string representations 402 * of any option of this option set 403 */ 404 @Override 405 public boolean useAcronymFor(XargsOption option) { 406 return useAcronym; 407 } 408}