Module storm

Interface ModelBuilder


public interface ModelBuilder
Builder for creating a model.
Since:
1.2
  • Method Details

    • newInstance

      static ModelBuilder newInstance()
      Creates a new instance of the model builder.
      Returns:
      a new instance of the model builder.
    • tableNameResolver

      TableNameResolver tableNameResolver()
      Returns the table name resolver for the model.
    • tableNameResolver

      ModelBuilder tableNameResolver(@Nullable TableNameResolver tableNameResolver)
      Sets the table name resolver for the model.
      Parameters:
      tableNameResolver - the table name resolver.
      Returns:
      this model builder.
    • columnNameResolver

      ColumnNameResolver columnNameResolver()
      Returns the column name resolver for the model.
    • columnNameResolver

      ModelBuilder columnNameResolver(@Nullable ColumnNameResolver columnNameResolver)
      Sets the column name resolver for the model.
      Parameters:
      columnNameResolver - the column name resolver.
      Returns:
      this model builder.
    • foreignKeyResolver

      ForeignKeyResolver foreignKeyResolver()
      Returns the foreign key resolver for the model.
    • foreignKeyResolver

      ModelBuilder foreignKeyResolver(@Nullable ForeignKeyResolver foreignKeyResolver)
      Sets the foreign key resolver for the model.
      Parameters:
      foreignKeyResolver - the foreign key resolver.
      Returns:
      this model builder.
    • build

      <T extends Record, ID> Model<T,ID> build(@Nonnull T record, boolean requirePrimaryKey) throws SqlTemplateException
      Builds the model.
      Type Parameters:
      ID - the primary key type.
      Returns:
      the model.
      Throws:
      SqlTemplateException - if an error occurs while building the model.
    • build

      <T extends Record, ID> Model<T,ID> build(@Nonnull Class<T> type, boolean requirePrimaryKey) throws SqlTemplateException
      Builds the model.
      Type Parameters:
      ID - the primary key type.
      Returns:
      the model.
      Throws:
      SqlTemplateException - if an error occurs while building the model.
    • supplier

      default <T extends Record, ID> Supplier<Model<T,ID>> supplier(@Nonnull Class<T> type, boolean requirePrimaryKey)
      Returns a supplier for the model.
      Type Parameters:
      T - the record type.
      ID - the primary key type.
      Parameters:
      type - the record type.
      requirePrimaryKey - true if the primary key is required, false otherwise.
      Returns:
      a supplier for the model.