Class PojoCodecProvider.Builder

  • Enclosing class:
    PojoCodecProvider

    public static final class PojoCodecProvider.Builder
    extends Object
    A Builder for the PojoCodecProvider
    • Method Detail

      • build

        public PojoCodecProvider build()
        Creates the PojoCodecProvider with the classes or packages that configured and registered.
        Returns:
        the Provider
        See Also:
        register(Class...)
      • automatic

        public PojoCodecProvider.Builder automatic(boolean automatic)
        Sets whether the provider should automatically try to wrap a ClassModel for any class that is requested.

        Note: As Java Beans are convention based, when using automatic settings the provider should be the last provider in the registry.

        Parameters:
        automatic - whether to automatically wrap ClassModels or not.
        Returns:
        this
      • conventions

        public PojoCodecProvider.Builder conventions(List<Convention> conventions)
        Sets the conventions to use when creating ClassModels from classes or packages.
        Parameters:
        conventions - a list of conventions
        Returns:
        this
      • register

        public PojoCodecProvider.Builder register(Class<?>... classes)
        Registers a classes with the builder for inclusion in the Provider.

        Note: Uses reflection for the property mapping. If no conventions are configured on the builder the Conventions.DEFAULT_CONVENTIONS will be used.

        Parameters:
        classes - the classes to register
        Returns:
        this
      • register

        public PojoCodecProvider.Builder register(ClassModel<?>... classModels)
        Registers classModels for inclusion in the Provider.
        Parameters:
        classModels - the classModels to register
        Returns:
        this
      • register

        public PojoCodecProvider.Builder register(String... packageNames)
        Registers the packages of the given classes with the builder for inclusion in the Provider. This will allow classes in the given packages to mapped for use with PojoCodecProvider.

        Note: Uses reflection for the field mapping. If no conventions are configured on the builder the Conventions.DEFAULT_CONVENTIONS will be used.

        Parameters:
        packageNames - the package names to register
        Returns:
        this
      • register

        public PojoCodecProvider.Builder register(PropertyCodecProvider... providers)
        Registers codec providers that receive the type parameters of properties for instances encoded and decoded by a PojoCodec handled by this provider.

        Note that you should prefer working with the CodecRegistry/CodecProvider hierarchy. Providers should only be registered here if a codec needs to be created for custom container types like optionals and collections. Support for types Map and Collection are built-in so explicitly handling them is not necessary.

        Parameters:
        providers - property codec providers to register
        Returns:
        this
        Since:
        3.6