Formatters { @NonNull public static <T extends Enum<T>> Formatter<T> enumFormatter() { return new Adapter<T>(nbbrd.io.text.Formatter.onEnum()); } private  Formatters(); @Nullable static CharSequence formatFirstNotNull(@NonNull T value, @NonNull Iterable<? extends IFormatter<T>> formatters); @NonNull static Formatter<T> firstNotNull(@NonNull IFormatter<T>... formatters); @NonNull static Formatter<T> firstNotNull(@NonNull ImmutableList<? extends IFormatter<T>> formatters); @NonNull static Formatter<T> onJAXB(@NonNull Class<T> classToBeFormatted, boolean formattedOutput); @NonNull static Formatter<T> onJAXB(@NonNull JAXBContext context, boolean formattedOutput); @NonNull static Formatter<T> onJAXB(@NonNull Marshaller marshaller); @NonNull static Formatter<Date> onDateFormat(@NonNull DateFormat dateFormat); @NonNull static Formatter<Number> onNumberFormat(@NonNull NumberFormat numberFormat); @NonNull static Formatter<T> onNull(); @NonNull @SuppressWarnings("null") static Formatter<T> ofInstance(@Nullable CharSequence instance); @NonNull static Formatter<File> fileFormatter(); @NonNull static Formatter<Integer> intFormatter(); @NonNull static Formatter<Long> longFormatter(); @NonNull static Formatter<Double> doubleFormatter(); @NonNull static Formatter<Boolean> boolFormatter(); @NonNull static Formatter<Character> charFormatter(); @NonNull static Formatter<Charset> charsetFormatter(); @NonNull static Formatter<T> enumFormatter(); @NonNull static Formatter<String> stringFormatter(); @NonNull static Formatter<double[]> doubleArrayFormatter(); @NonNull static Formatter<String[]> stringArrayFormatter(); @NonNull @SuppressWarnings("null") static Formatter<Y> compose(@NonNull IFormatter<X> formatter, @NonNull Function<? super Y, ? extends X> before); @NonNull static Formatter<Object> usingToString(); @NonNull static Formatter<List<String>> onJoiner(@NonNull Joiner joiner); @NonNull static Formatter<T> wrap(@NonNull IFormatter<T> formatter);  }
@Test public void testEnumFormatter() { Formatter<TsFrequency> f = Formatters.enumFormatter(); assertCompliance(f); assertThat(f.format(TsFrequency.Monthly)).isEqualTo("Monthly"); }