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 }