001 package com.thaiopensource.validate; 002 003 import com.thaiopensource.util.PropertyId; 004 005 public class StringOption implements Option { 006 private final StringPropertyId pid; 007 008 public StringOption(StringPropertyId pid) { 009 this.pid = pid; 010 } 011 012 public PropertyId getPropertyId() { 013 return pid; 014 } 015 016 public Object valueOf(String arg) throws OptionArgumentException { 017 if (arg == null) 018 return defaultValue(); 019 return normalize(arg); 020 } 021 022 public String defaultValue() throws OptionArgumentPresenceException { 023 throw new OptionArgumentPresenceException(); 024 } 025 026 public String normalize(String value) throws OptionArgumentFormatException { 027 return value; 028 } 029 030 public Object combine(Object[] values) { 031 return null; 032 } 033 }