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>&nbsp;&nbsp;</td><td nowrap="nowrap">{@code --chars}</td><td>&nbsp;</td><td>The list specifies character positions.</td></tr>
011 * <tr valign="top"><td width="10px"></td><td nowrap="nowrap">{@code -f}</td><td>&nbsp;&nbsp;</td><td nowrap="nowrap">{@code --fields}</td><td>&nbsp;</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}