001package org.maltparser.core.options.option;
002
003import org.maltparser.core.exception.MaltChainedException;
004import org.maltparser.core.options.OptionException;
005import org.maltparser.core.options.OptionGroup;
006
007/**
008 * An unary option is an option that doesn't need a value to the 
009 * specified. For example the --system-help option (-h or --help). 
010 *
011 * @author Johan Hall
012 * @since 1.0
013**/
014public class UnaryOption extends Option {
015
016        /**
017         * Creates an unary option description
018         * 
019         * @param group a reference to the option group.
020         * @param name  the name of the option.
021         * @param shortDescription      a short description of the option.
022         * @param flag  a short string that can be used in the command line.
023         * @param usage a string that explains the usage of the option.
024         * @throws OptionException
025         */
026        public UnaryOption(OptionGroup group, 
027                                                String name, 
028                                                String shortDescription, 
029                                                String flag, 
030                                                String usage) throws MaltChainedException {
031                super(group, name, shortDescription, flag, usage);
032        }
033
034        /* (non-Javadoc)
035         * @see org.maltparser.core.options.option.Option#getValueObject(java.lang.String)
036         */
037        public Object getValueObject(String value) throws MaltChainedException {
038                if (value.equalsIgnoreCase("used")) {
039                        return new Boolean(true);
040                }
041                return null;
042        }
043        
044        /* (non-Javadoc)
045         * @see org.maltparser.core.options.option.Option#getDefaultValueObject()
046         */
047        public Object getDefaultValueObject() throws MaltChainedException {
048                return null;
049        }
050        
051        /* (non-Javadoc)
052         * @see org.maltparser.core.options.option.Option#getDefaultValueString()
053         */
054        public String getDefaultValueString() {
055                return null;
056        }
057        
058        /* (non-Javadoc)
059         * @see org.maltparser.core.options.option.Option#getStringRepresentation(java.lang.Object)
060         */
061        public String getStringRepresentation(Object value)  {
062                return null;
063        }
064        
065        /* (non-Javadoc)
066         * @see org.maltparser.core.options.option.Option#setDefaultValue(java.lang.String)
067         */
068        public void setDefaultValue(String defaultValue) throws MaltChainedException { }
069        
070        /* (non-Javadoc)
071         * @see org.maltparser.core.options.option.Option#toString()
072         */
073        public String toString() {
074                final StringBuilder sb = new StringBuilder();
075                sb.append(super.toString());
076                sb.append("-----------------------------------------------------------------------------\n");
077                return sb.toString();
078        }
079}