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.LASTNAME.as()
                              .column()
                              .caption("Last name")
                              .nullable(false)
                              .maximumLength(20),
                      Customer.FIRSTNAME.as()
                              .column()
                              .caption("First name")
                              .nullable(false)
                              .maximumLength(40),
                      Customer.EMAIL.as()
                              .column()
                              .caption("Email")
                              .nullable(false)
                              .maximumLength(60),
                      Customer.COMPANY.as()
                              .column()
                              .caption("Company")
                              .maximumLength(80))
              .caption("Customer")
              .description("Customer information")
              .orderBy(ascending(Customer.LASTNAME, Customer.FIRSTNAME))
              .formatter(customer ->
                      customer.get(Customer.LASTNAME) + " (" + 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 of an 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 an entityType mismatch