package org.jooby; import static java.util.Objects.requireNonNull; import java.text.DecimalFormat; import javax.inject.Inject; import javax.inject.Named; import org.jooby.mvc.GET; import org.jooby.mvc.Path; import org.jooby.test.ServerFeature; import org.junit.Test; import com.typesafe.config.ConfigFactory; import com.typesafe.config.ConfigValueFactory; public class NumberFormatterFeature extends ServerFeature { public static class Resource { private DecimalFormat formatter; private String dateFormat; @Inject public Resource(final DecimalFormat formatter, @Named("application.numberFormat") final String numberFormat) { this.formatter = requireNonNull(formatter, "def formatter is required."); this.dateFormat = requireNonNull(numberFormat, "The dateFormat is required."); } @GET @Path("/") public String formatter() { return dateFormat + "|" + formatter.toPattern(); } } { use(ConfigFactory.empty().withValue("application.lang", ConfigValueFactory.fromAnyRef("en-US"))); use(Resource.class); } @Test public void numberFormat() throws Exception { request() .get("/") .expect("#,##0.###|#,##0.###") .expect(200); } }