001package org.unix4j.unix.cut; 002 003import org.unix4j.unix.Cut; 004 005/** 006 * Options for the {@link Cut cut} command with the 007 * the following options: 008 * <p> 009 * <table> 010 * <tr valign="top"><td width="10px"></td><td nowrap="nowrap">{@code -c}</td><td> </td><td nowrap="nowrap">{@code --chars}</td><td> </td><td>The list specifies character positions.</td></tr> 011 * <tr valign="top"><td width="10px"></td><td nowrap="nowrap">{@code -f}</td><td> </td><td nowrap="nowrap">{@code --fields}</td><td> </td><td>The list specifies fields, separated in the input by the field 012 delimiter character (see the -d option.) Output fields are 013 separated by a single occurrence of the field delimiter character.</td></tr> 014 * </table> 015 * <p> 016 * This class serves as entry point to every possible set of {@code cut} options 017 * defined as an enum constant. With this explicit expansion of all possible 018 * option combinations, options can be passed to the command in a very compact 019 * form, such as: 020 * <pre> 021 * cut(Cut.Options.c, ...); 022 * cut(Cut.Options.c.f, ...); 023 * </pre> 024 */ 025public final class CutOptionSets { 026 /** 027 * The singleton instance. 028 */ 029 public static final CutOptionSets INSTANCE = new CutOptionSets(); 030 031 /** 032 * Option {@code "-c"}: The list specifies character positions. 033 * <p> 034 * The option {@code "-c"} is equivalent to the {@code "--}{@link #chars chars}{@code "} option. 035 */ 036 public final CutOptionSet_cf c = CutOptionSet_cf.Active_c; 037 /** 038 * Option {@code "--chars"}: The list specifies character positions. 039 * <p> 040 * The option {@code "--chars"} is equivalent to the {@code "-}{@link #c c}{@code "} option. 041 */ 042 public final CutOptionSet_cf chars = CutOptionSet_cf.Active_c_long; 043 /** 044 * Option {@code "-f"}: The list specifies fields, separated in the input by the field 045 delimiter character (see the -d option.) Output fields are 046 separated by a single occurrence of the field delimiter character. 047 * <p> 048 * The option {@code "-f"} is equivalent to the {@code "--}{@link #fields fields}{@code "} option. 049 */ 050 public final CutOptionSet_cf f = CutOptionSet_cf.Active_f; 051 /** 052 * Option {@code "--fields"}: The list specifies fields, separated in the input by the field 053 delimiter character (see the -d option.) Output fields are 054 separated by a single occurrence of the field delimiter character. 055 * <p> 056 * The option {@code "--fields"} is equivalent to the {@code "-}{@link #f f}{@code "} option. 057 */ 058 public final CutOptionSet_cf fields = CutOptionSet_cf.Active_f_long; 059 060}