001 package com.thaiopensource.validate; 002 003 import com.thaiopensource.util.PropertyId; 004 005 public interface Option { 006 PropertyId getPropertyId(); 007 Object valueOf(String arg) throws OptionArgumentException; 008 /** 009 * Combines multiple values of an option into a single value. A property 010 * whose value is logically a sequence may be represented by multiple options 011 * each representing a single member of the sequence. 012 * 013 * @param values an array of values to be combined 014 * @return an Object representing the combination, or <code>null</code> 015 * if they cannot be combined 016 */ 017 Object combine(Object[] values); 018 }