1 package org.pojomatic.formatter;
2
3 import java.lang.reflect.AnnotatedElement;
4
5 /**
6 * A formatter for a property.
7 * <p>
8 * Any implementation of {@code PropertyFormatter} must have a public no-argument constructor.
9 *
10 * @deprecated Since 2.0. Implement {@link EnhancedPropertyFormatter} instead. This class is unaware of primitives,
11 * and does not leverage StringBuilder.
12 */
13 @Deprecated
14 public interface PropertyFormatter {
15 /**
16 * Initialize the formatter for use; this method will be called exactly once on an instance, prior
17 * to any calls to {@link #format(Object)}. This method does not need to be thread-safe. A typical implementation
18 * might inspect the element for additional annotations used to configure the formatter.
19 * @param element the field or method this formatter will be used for.
20 */
21 public void initialize(AnnotatedElement element);
22
23 /**
24 * Format a given value. This method must be thread safe.
25 * @param value the value to format
26 * @return the value, formatted (must not be null)
27 */
28 public String format(Object value);
29 }