Class JpaPersistenceUnitConfig.BuilderBase<BUILDER extends JpaPersistenceUnitConfig.BuilderBase<BUILDER, PROTOTYPE>, PROTOTYPE extends JpaPersistenceUnitConfig>

java.lang.Object
io.helidon.data.sql.common.SqlConfig.BuilderBase<BUILDER, PROTOTYPE>
io.helidon.data.jakarta.persistence.JpaPersistenceUnitConfig.BuilderBase<BUILDER, PROTOTYPE>
Type Parameters:
BUILDER - type of the builder extending this abstract builder
PROTOTYPE - type of the prototype interface that would be built by Prototype.Builder.buildPrototype()
All Implemented Interfaces:
Prototype.Builder<BUILDER, PROTOTYPE>, ConfigBuilderSupport.ConfiguredBuilder<BUILDER, PROTOTYPE>
Direct Known Subclasses:
JpaPersistenceUnitConfig.Builder
Enclosing interface:
JpaPersistenceUnitConfig

public abstract static class JpaPersistenceUnitConfig.BuilderBase<BUILDER extends JpaPersistenceUnitConfig.BuilderBase<BUILDER, PROTOTYPE>, PROTOTYPE extends JpaPersistenceUnitConfig> extends SqlConfig.BuilderBase<BUILDER, PROTOTYPE> implements ConfigBuilderSupport.ConfiguredBuilder<BUILDER, PROTOTYPE>
Fluent API builder base for JpaPersistenceUnitConfig.
  • Constructor Details

    • BuilderBase

      protected BuilderBase()
      Protected to support extensibility.
  • Method Details

    • from

      public BUILDER from(JpaPersistenceUnitConfig prototype)
      Update this builder from an existing prototype instance. This method disables automatic service discovery.
      Parameters:
      prototype - existing prototype to update this builder from
      Returns:
      updated builder instance
    • from

      public BUILDER from(JpaPersistenceUnitConfig.BuilderBase<?,?> builder)
      Update this builder from an existing prototype builder instance.
      Parameters:
      builder - existing builder prototype to update this builder from
      Returns:
      updated builder instance
    • config

      public BUILDER config(Config config)
      Update builder from configuration (node of this type). If a value is present in configuration, it would override currently configured values.
      Specified by:
      config in interface ConfigBuilderSupport.ConfiguredBuilder<BUILDER extends JpaPersistenceUnitConfig.BuilderBase<BUILDER, PROTOTYPE>, PROTOTYPE extends JpaPersistenceUnitConfig>
      Overrides:
      config in class SqlConfig.BuilderBase<BUILDER extends JpaPersistenceUnitConfig.BuilderBase<BUILDER, PROTOTYPE>, PROTOTYPE extends JpaPersistenceUnitConfig>
      Parameters:
      config - configuration instance used to obtain values to update this builder
      Returns:
      updated builder instance
    • name

      public BUILDER name(String name)
      Name of this persistence unit.
      Parameters:
      name - the persistence unit name
      Returns:
      updated builder instance
      See Also:
    • clearProviderClassName

      public BUILDER clearProviderClassName()
      Clear existing value of providerClassName.
      Returns:
      updated builder instance
      See Also:
    • providerClassName

      public BUILDER providerClassName(String providerClassName)
      Persistence provider class name. Implementation of jakarta.persistence.spi.PersistenceProvider, e.g. org.eclipse.persistence.jpa.PersistenceProvider Allows proper persistence provider selection when multiple providers are available.
      Parameters:
      providerClassName - fully qualified name of the persistence provider class
      Returns:
      updated builder instance
      See Also:
    • clearInitScript

      public BUILDER clearInitScript()
      Clear existing value of initScript.
      Returns:
      updated builder instance
      See Also:
    • initScript

      public BUILDER initScript(Path initScript)
      Path to database initialization script on classpath.
      Parameters:
      initScript - database initialization script path
      Returns:
      updated builder instance
      See Also:
    • clearDropScript

      public BUILDER clearDropScript()
      Clear existing value of dropScript.
      Returns:
      updated builder instance
      See Also:
    • dropScript

      public BUILDER dropScript(Path dropScript)
      Path to database cleanup script on classpath.
      Parameters:
      dropScript - database cleanup script path
      Returns:
      updated builder instance
      See Also:
    • properties

      public BUILDER properties(Map<String,String> properties)
      Additional persistence unit or connection properties. This method replaces all values with the new ones.
      Parameters:
      properties - the properties
      Returns:
      updated builder instance
      See Also:
    • addProperties

      public BUILDER addProperties(Map<String,String> properties)
      Additional persistence unit or connection properties. This method keeps existing values, then puts all new values into the map.
      Parameters:
      properties - the properties
      Returns:
      updated builder instance
      See Also:
    • putProperty

      public BUILDER putProperty(String key, String property)
      Additional persistence unit or connection properties. This method adds a new value to the map, or replaces it if the key already exists.
      Parameters:
      key - key to add or replace
      property - new value for the key
      Returns:
      updated builder instance
      See Also:
    • clearManagedClasses

      public BUILDER clearManagedClasses()
      Clear all managedClasses.
      Returns:
      updated builder instance
      See Also:
    • managedClasses

      public BUILDER managedClasses(Set<? extends Class> managedClasses)
      Managed persistence entities.
      Parameters:
      managedClasses - the entities list
      Returns:
      updated builder instance
      See Also:
    • addManagedClasses

      public BUILDER addManagedClasses(Set<? extends Class> managedClasses)
      Managed persistence entities.
      Parameters:
      managedClasses - the entities list
      Returns:
      updated builder instance
      See Also:
    • addManagedClass

      public BUILDER addManagedClass(Class managedClass)
      Managed persistence entities.
      Parameters:
      managedClass - add single the entities list
      Returns:
      updated builder instance
      See Also:
    • name

      public String name()
      Name of this persistence unit.
      Returns:
      the persistence unit name
    • providerClassName

      public Optional<String> providerClassName()
      Persistence provider class name. Implementation of jakarta.persistence.spi.PersistenceProvider, e.g. org.eclipse.persistence.jpa.PersistenceProvider Allows proper persistence provider selection when multiple providers are available.
      Returns:
      fully qualified name of the persistence provider class
    • initScript

      public Optional<Path> initScript()
      Path to database initialization script on classpath.
      Returns:
      database initialization script path
    • dropScript

      public Optional<Path> dropScript()
      Path to database cleanup script on classpath.
      Returns:
      database cleanup script path
    • properties

      public Map<String,String> properties()
      Additional persistence unit or connection properties.
      Returns:
      the properties
    • managedClasses

      public Set<Class> managedClasses()
      Managed persistence entities.
      Returns:
      the entities list
    • toString

    • preBuildPrototype

      protected void preBuildPrototype()
      Handles providers and decorators.
      Overrides:
      preBuildPrototype in class SqlConfig.BuilderBase<BUILDER extends JpaPersistenceUnitConfig.BuilderBase<BUILDER, PROTOTYPE>, PROTOTYPE extends JpaPersistenceUnitConfig>
    • validatePrototype

      protected void validatePrototype()
      Validates required properties.
      Overrides:
      validatePrototype in class SqlConfig.BuilderBase<BUILDER extends JpaPersistenceUnitConfig.BuilderBase<BUILDER, PROTOTYPE>, PROTOTYPE extends JpaPersistenceUnitConfig>