package jflex.core;

import java.io.File;
import java.nio.charset.Charset;
import jflex.exceptions.GeneratorException;
import jflex.l10n.ErrorMessages;
import jflex.logging.Out;
import jflex.option.Options;
import jflex.skeleton.Skeleton;

public class OptionUtils {
  private OptionUtils() {}

  
Sets encoding for input files, and check availability of encoding on this JVM.
/** Sets encoding for input files, and check availability of encoding on this JVM. */
public static void setEncoding(String encodingName) { if (Charset.isSupported(encodingName)) { Options.encoding = Charset.forName(encodingName); } else { Out.error(ErrorMessages.CHARSET_NOT_SUPPORTED, encodingName); throw new GeneratorException(); } }
Sets all options back to default values.
/** Sets all options back to default values. */
public static void setDefaultOptions() { Options.directory = null; // System.getProperty("user.dir"), the directory where java was run from. Options.resetRootDirectory(); Options.jlex = false; Options.no_minimize = false; Options.no_backup = false; Options.verbose = true; Options.progress = true; Options.unused_warning = true; Options.time = false; Options.dot = false; Options.dump = false; Options.legacy_dot = false; Options.encoding = Charset.defaultCharset(); Skeleton.readDefault(); } public static void setSkeleton(File skel) { Skeleton.readSkelFile(skel); }
Set output directory
Params:
  • d – the directory to write output files to
/** * Set output directory * * @param d the directory to write output files to */
public static void setDir(File d) { if (d.isFile()) { Out.error("Error: \"" + d + "\" is not a directory."); throw new GeneratorException(); } if (!d.isDirectory() && !d.mkdirs()) { Out.error("Error: couldn't create directory \"" + d + "\""); throw new GeneratorException(); } Options.directory = d; }
Set output directory
Params:
  • dirName – the name of the directory to write output files to
/** * Set output directory * * @param dirName the name of the directory to write output files to */
public static void setDir(String dirName) { setDir(new File(dirName)); } }