001    package edu.ucdenver.ccp.nlp.biolemmatizer;
002    
003    import java.io.File;
004    
005    import org.kohsuke.args4j.Argument;
006    import org.kohsuke.args4j.Option;
007    
008    /**
009     * Command-line options for the BioLemmatizer
010     * 
011     * @author Colorado Computational Pharmacology, UC Denver; ccpsupport@ucdenver.edu
012     * 
013     */
014    public class BioLemmatizerCmdOpts {
015    
016            @Option(name = "-f", usage = "optional path to a lexicon file. If not set, the default lexicon available on the classpath is used", required = false)
017            private String lexiconFilePath;
018    
019            @Option(name = "-i", usage = "the path to the input file", required = false)
020            private String inputFilePath;
021    
022            @Option(name = "-o", usage = "the path to the output file", required = false)
023            private String outputFilePath;
024            
025            @Option(name = "-a", usage = "if present, normalize common British spellings into American spellings and retrieve lemmas", required = false)
026            private boolean americanize = false;
027    
028            @Option(name = "-l", usage = "if present, only the lemma is returned (part-of-speech information is suppressed)", required = false)
029            private boolean outputLemmaOnly = false;
030    
031            @Option(name = "-t", usage = "if present, the interactive mode is used")
032            private boolean useInteractiveMode = false;
033    
034            @Argument(index = 0, usage = "Single input to be lemmatized", required = false)
035            private String inputStr;
036    
037            @Argument(index = 1, usage = "Part of speech of the single input to be lemmatized", required = false)
038            private String inputStrPos;
039    
040            /**
041             * @return the inputFile
042             */
043            public File getInputFile() {
044                    return (inputFilePath != null) ? new File(inputFilePath) : null;
045            }
046    
047            /**
048             * @return the outputFile
049             */
050            public File getOutputFile() {
051                    return (outputFilePath != null) ? new File(outputFilePath) : null;
052            }
053    
054            /**
055             * @return the lexiconFile
056             */
057            public File getLexiconFile() {
058                    return (lexiconFilePath != null) ? new File(lexiconFilePath) : null;
059            }
060            
061            /**
062             * @return americanize
063             */
064            public boolean americanizedLemma() {
065                    return americanize;
066            }
067    
068            /**
069             * @return outputLemmaOnly
070             */
071            public boolean outputLemmaOnly() {
072                    return outputLemmaOnly;
073            }
074    
075            /**
076             * @return useInteractiveMode
077             */
078            public boolean useInteractiveMode() {
079                    return useInteractiveMode;
080            }
081    
082            /**
083             * @return the inputStr
084             */
085            public String getInputStr() {
086                    return inputStr;
087            }
088    
089            /**
090             * @return the inputStrPos
091             */
092            public String getInputStrPos() {
093                    return inputStrPos;
094            }
095    
096    }