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 * A string option is an option that contains a string value. 009 * 010 * @author Johan Hall 011 * @since 1.0 012**/ 013public class StringOption extends Option { 014 private String defaultValue; 015 016 /** 017 * Creates a string 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 * @param defaultValue a default value string. 025 * @throws OptionException 026 */ 027 public StringOption(OptionGroup group, 028 String name, 029 String shortDescription, 030 String flag, 031 String usage, 032 String defaultValue) throws MaltChainedException { 033 super(group, name, shortDescription, flag, usage); 034 setDefaultValue(defaultValue); 035 } 036 037 /* (non-Javadoc) 038 * @see org.maltparser.core.options.option.Option#getValueObject(java.lang.String) 039 */ 040 public Object getValueObject(String value) throws MaltChainedException { 041 return new String(value); 042 } 043 044 /* (non-Javadoc) 045 * @see org.maltparser.core.options.option.Option#getDefaultValueObject() 046 */ 047 public Object getDefaultValueObject() throws MaltChainedException { 048 return new String(defaultValue); 049 } 050 051 /* (non-Javadoc) 052 * @see org.maltparser.core.options.option.Option#setDefaultValue(java.lang.String) 053 */ 054 public void setDefaultValue(String defaultValue) { 055 this.defaultValue = defaultValue; 056 } 057 058 /* (non-Javadoc) 059 * @see org.maltparser.core.options.option.Option#getDefaultValueString() 060 */ 061 public String getDefaultValueString() { 062 return defaultValue; 063 } 064 065 /* (non-Javadoc) 066 * @see org.maltparser.core.options.option.Option#getStringRepresentation(java.lang.Object) 067 */ 068 public String getStringRepresentation(Object value) { 069 if (value instanceof String) { 070 return value.toString(); 071 } 072 return null; 073 } 074 075 /* (non-Javadoc) 076 * @see org.maltparser.core.options.option.Option#toString() 077 */ 078 public String toString() { 079 final StringBuilder sb = new StringBuilder(); 080 sb.append(super.toString()); 081 sb.append("-----------------------------------------------------------------------------\n"); 082 return sb.toString(); 083 } 084}