package com.knecon.fforesight.service.layoutparser.internal.api.data.redaction;

import java.io.Serializable;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.experimental.FieldDefaults;

@Data
@Builder
@AllArgsConstructor
@FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE)
@Schema(description = "Object containing the complete document layout parsing information. It is split into 4 categories, structure, text, positions and pages: " + "The document tree structure of SemanticNodes such as Section, Paragraph, Headline, etc. " + "The text, which is stored as separate blocks of data. " + "The text positions, which are also stored as separate blocks. The Blocks are equal to the text blocks in length and order. " + "The page information.")
public class DocumentData implements Serializable {

    @Schema(description = "Contains information about the document's pages.")
    DocumentPage[] documentPages;
    @Schema(description = "Contains information about the document's text.")
    DocumentTextData[] documentTextData;
    @Schema(description = "Contains information about the document's text positions.")
    DocumentPositionData[] documentPositions;
    @Schema(description = "Contains information about the document's semantic structure.")
    DocumentStructure documentStructure;

}
