package ie.dcu.segment.options; /** * Interface for a segmentation algorithm parameter. * * @author Kevin McGuinness */ public interface Option { /** * Return the option type */ public OptionType getType(); /** * Try to convert a object to the required type for the option. * * @param value * An object. * @return A conversion object containing the result or an error message. */ public Conversion convert(Object value); /** * Set the option to the given object value. * * @param value * A value. */ public void setValue(Object value); /** * Get the current value. */ public T getValue(); /** * Get the default option value. */ public T getDefaultValue(); /** * Returns all allowable values, or null. */ public T[] values(); /** * Return the option name. */ public String getName(); /** * Return a description of the option */ public String getDescription(); }