1 package net.sourceforge.pmd; 2 3 import java.util.Map; 4 5 /** 6 * 7 * @author Brian Remedios 8 */ 9 public interface PropertyDescriptorFactory { 10 11 Class<?> valueType(); 12 /** 13 * Denote the identifiers of the expected fields paired with booleans denoting whether they are 14 * required (non-null) or not. 15 * 16 * @return Map 17 */ 18 Map<String, Boolean> expectedFields(); 19 20 /** 21 * Create a property descriptor of the appropriate type using the values provided. 22 * 23 * @param valuesById 24 * @return PropertyDescriptor<?> 25 */ 26 PropertyDescriptor<?> createWith(Map<String, String> valuesById); 27 }