package de.effigenix.infrastructure.masterdata.persistence.entity;

import jakarta.persistence.Column;
import jakarta.persistence.Embeddable;

@Embeddable
public class DeliveryAddressEmbeddable {

    @Column(name = "label", length = 100)
    private String label;

    @Column(name = "street", nullable = false, length = 200)
    private String street;

    @Column(name = "house_number", length = 20)
    private String houseNumber;

    @Column(name = "postal_code", nullable = false, length = 20)
    private String postalCode;

    @Column(name = "city", nullable = false, length = 100)
    private String city;

    @Column(name = "country", nullable = false, length = 2)
    private String country;

    @Column(name = "contact_person", length = 200)
    private String contactPerson;

    @Column(name = "delivery_notes", length = 500)
    private String deliveryNotes;

    protected DeliveryAddressEmbeddable() {}

    public DeliveryAddressEmbeddable(String label, String street, String houseNumber,
                                     String postalCode, String city, String country,
                                     String contactPerson, String deliveryNotes) {
        this.label = label;
        this.street = street;
        this.houseNumber = houseNumber;
        this.postalCode = postalCode;
        this.city = city;
        this.country = country;
        this.contactPerson = contactPerson;
        this.deliveryNotes = deliveryNotes;
    }

    public String getLabel() { return label; }
    public String getStreet() { return street; }
    public String getHouseNumber() { return houseNumber; }
    public String getPostalCode() { return postalCode; }
    public String getCity() { return city; }
    public String getCountry() { return country; }
    public String getContactPerson() { return contactPerson; }
    public String getDeliveryNotes() { return deliveryNotes; }
}
