Class ConfigBeanFactory


  • public class ConfigBeanFactory
    extends java.lang.Object
    Factory for automatically creating a Java class from a Config. See create(Config,Class).
    Since:
    1.3.0
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static <T> T create​(Config config, java.lang.Class<T> clazz)
      Creates an instance of a class, initializing its fields from a Config.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ConfigBeanFactory

        public ConfigBeanFactory()
    • Method Detail

      • create

        public static <T> T create​(Config config,
                                   java.lang.Class<T> clazz)
        Creates an instance of a class, initializing its fields from a Config. Example usage:
         Config configSource = ConfigFactory.load().getConfig("foo");
         FooConfig config = ConfigBeanFactory.create(configSource, FooConfig.class);
         
        The Java class should follow JavaBean conventions. Field types can be any of the types you can normally get from a Config, including java.time.Duration or ConfigMemorySize. Fields may also be another JavaBean-style class. Fields are mapped to config by converting the config key to camel case. So the key foo-bar becomes JavaBean setter setFooBar.
        Type Parameters:
        T - the type of the class to be instantiated
        Parameters:
        config - source of config information
        clazz - class to be instantiated
        Returns:
        an instance of the class populated with data from the config
        Throws:
        ConfigException.BadBean - If something is wrong with the JavaBean
        ConfigException.ValidationFailed - If the config doesn't conform to the bean's implied schema
        ConfigException - Can throw the same exceptions as the getters on Config
        Since:
        1.3.0