@Test public void bind() { Binder binder = new Binder(BinderTest::props); Obj obj = binder.bind(Obj.class); Assert.assertEquals("1", obj.f1); Assert.assertEquals("3", obj.f2); Obj1 obj1 = binder.bind(Obj1.class); Assert.assertEquals("4", obj1.f1); Assert.assertEquals("3", obj1.f2); }
public <T> T bind(Class<T> clazz) { return bind(clazz, Strings.DOT); }
Binder { public <T> T bind(Class<T> clazz) { return bind(clazz, Strings.DOT); } }
Binder { public <T> T bind(Class<T> clazz) { return bind(clazz, Strings.DOT); }  }
Binder { public <T> T bind(Class<T> clazz) { return bind(clazz, Strings.DOT); }  T bind(Class<T> clazz); T bind(Class<T> clazz, String prefix); T bind(T obj, String prefix); }
Binder { public <T> T bind(Class<T> clazz) { return bind(clazz, Strings.DOT); }  T bind(Class<T> clazz); T bind(Class<T> clazz, String prefix); T bind(T obj, String prefix);  }