/* * This file is part of the OpenJML project. * Author: David R. Cok */ package org.jmlspecs.openjml; /** This is an interface for the behavior of options. */ public interface IOption { /** The name of the option, as used on the command-line * @return The name of the option, as used on the command-line */ /*@ non_null */ public String optionName(); /** Whether the option takes a required argument * @return Whether the option takes a required argument */ public boolean hasArg(); /** The default value of the option * @return The default value of the option */ /*@ nullable */ public Object defaultValue(); /** The help string for the option * @return The help string for the option */ /*@ non_null */ public String help(); /** The canonical form for the option */ /*@ nullable */ public String synonym(); /* Whether the option is obsolete */ public boolean obsolete(); }