Class PojoCodecProvider.Builder

  • Enclosing class:
    PojoCodecProvider

    public static final class PojoCodecProvider.Builder
    extends java.lang.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​(java.util.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​(java.lang.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​(java.lang.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