@Test public void testCanSetPropertyValueResolver() { builder.setPropertyValueResolver( new ValueResolver() { @Override public Properties resolvedPropertyValues(Properties properties) { return resolvedPropertyValues(properties, false); } public Properties resolvedPropertyValues(Properties properties, boolean trimValues) { Properties p = new Properties(); p.putAll(Collections.singletonMap("hey", "hey")); return p; } @Override public Map<String, String> resolvedPropertyValues(Map<String, String> properties) { return resolvedPropertyValues(properties, false); } public Map<String, String> resolvedPropertyValues( Map<String, String> properties, boolean trimValues) { return Collections.singletonMap("hey", "hey"); } @Override public String resolvedPropertyValue(Properties properties, String key) { return resolvedPropertyValue(properties, key, false); } public String resolvedPropertyValue( Properties properties, String key, boolean trimValues) { return "hey"; } @Override public String resolvedPropertyValue(Map<String, String> map, String key) { return resolvedPropertyValue(map, key, false); } public String resolvedPropertyValue( Map<String, String> map, String key, boolean trimValues) { return "hey"; } }); ValueResolver v = builder.getValueResolver(); assertEquals("hey", v.resolvedPropertyValue(new Properties(), "x")); assertEquals("hey", v.resolvedPropertyValue(Collections.singletonMap("hey", "hey"), "x")); }