Interface EntityDefinition.Builder.AttributesStep

Enclosing interface:
EntityDefinition.Builder

public static sealed interface EntityDefinition.Builder.AttributesStep
Specifies the attributes to base an entity on.
  • Method Details

    • attributes

      EntityDefinition.Builder attributes(AttributeDefinition.Builder<?,?> definitionBuilder, AttributeDefinition.Builder<?,?>... additional)
      Creates a EntityDefinition.Builder instance based on the given attribute definition builders.
       EntityDefinition definition = Customer.TYPE.as()
           .attributes(
               Customer.ID.as()
                   .primaryKey(),
               Customer.NAME.as()
                   .column()
                   .caption("Customer Name")
                   .nullable(false)
                   .maximumLength(100),
               Customer.EMAIL.as()
                   .column()
                   .caption("Email Address")
                   .maximumLength(255),
               Customer.BIRTH_DATE.as()
                   .column()
                   .caption("Date of Birth")
                   .nullable(true),
               Customer.ACTIVE.as()
                   .column()
                   .caption("Active")
                   .nullable(false)
                   .defaultValue(true))
           .table("customer")
           .caption("Customer")
           .description("Customer information")
           .orderBy(ascending(Customer.NAME))
           .formatter(customer ->
               customer.get(Customer.NAME) + " (" + customer.get(Customer.EMAIL) + ")")
           .build();
      
      Parameters:
      definitionBuilder - builder for an attribute definition
      additional - additional builders for the attribute definitions comprising the entity
      Returns:
      a EntityDefinition.Builder instance
      Throws:
      IllegalArgumentException - in case definitionBuilders is empty
      IllegalArgumentException - in case of a entityType mismatch
    • attributes

      EntityDefinition.Builder attributes(List<? extends AttributeDefinition.Builder<?,?>> definitionBuilders)
      Creates a EntityDefinition.Builder instance based on the given attribute definition builders.
      Parameters:
      definitionBuilders - builders for the attribute definitions comprising the entity
      Returns:
      a EntityDefinition.Builder instance
      Throws:
      IllegalArgumentException - in case definitionBuilders is empty
      IllegalArgumentException - in case of a entityType mismatch