package de.twomartens.oparlservice.entity; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import lombok.experimental.SuperBuilder; import java.util.List; @SuperBuilder @Getter @ToString @EqualsAndHashCode(callSuper = true) @AllArgsConstructor(access = AccessLevel.PRIVATE) @NoArgsConstructor(force = true, access = AccessLevel.PRIVATE) @Schema(allOf = CommonFields.class) public class Person extends CommonFields { @Schema(description = "URL to the body this person belongs so", nullable = true) private final String body; @Schema(description = "full name of this person including academic title", nullable = true) private final String name; @Schema(description = "family name of this person", nullable = true) private final String familyName; @Schema(description = "given name of this person", nullable = true) private final String givenName; @Schema(description = "form of address of this person", nullable = true) private final String formOfAddress; @Schema(description = "applicable affix to the name of this person", nullable = true) private final String affix; @Schema(description = "List of academic titles", nullable = true) private final List title; @Schema(description = "gender of this person in English", nullable = true, example = "female, male, ...") private final String gender; @Schema(description = "List of phone number of this person", nullable = true) private final List phone; @Schema(description = "List of email addresses of this person", nullable = true) private final List email; @Schema(description = "URL to the contact address of this person", nullable = true) private final String location; @Schema(description = "contact address of this person", nullable = true) private final Location locationObject; @Schema(description = "List of roles in the body", nullable = true) private final List status; @Schema(description = "List of memberships of this person, both current and former", nullable = true) private final List membership; @Schema(description = "image of this person", nullable = true) private final File image; @Schema(description = "short info text about this person", nullable = true, maxLength = 300) private final String life; @Schema(description = "source for the info in life field", nullable = true) private final String lifeSource; }