package com.easyagents.rag.ingestion.model;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

public class AnalysisResult implements Serializable {

    private String sourceFormat;
    private String normalizedContent;
    private String recommendedStructureType;
    private String recommendedStrategyCode;
    private String recommendedStrategyLabel;
    private Double confidence;
    private List<String> reasons = new ArrayList<String>();
    private List<CandidateStrategy> candidateStrategies = new ArrayList<CandidateStrategy>();
    private Map<String, Object> features = new LinkedHashMap<String, Object>();

    public String getSourceFormat() {
        return sourceFormat;
    }

    public void setSourceFormat(String sourceFormat) {
        this.sourceFormat = sourceFormat;
    }

    public String getNormalizedContent() {
        return normalizedContent;
    }

    public void setNormalizedContent(String normalizedContent) {
        this.normalizedContent = normalizedContent;
    }

    public String getRecommendedStructureType() {
        return recommendedStructureType;
    }

    public void setRecommendedStructureType(String recommendedStructureType) {
        this.recommendedStructureType = recommendedStructureType;
    }

    public String getRecommendedStrategyCode() {
        return recommendedStrategyCode;
    }

    public void setRecommendedStrategyCode(String recommendedStrategyCode) {
        this.recommendedStrategyCode = recommendedStrategyCode;
    }

    public String getRecommendedStrategyLabel() {
        return recommendedStrategyLabel;
    }

    public void setRecommendedStrategyLabel(String recommendedStrategyLabel) {
        this.recommendedStrategyLabel = recommendedStrategyLabel;
    }

    public Double getConfidence() {
        return confidence;
    }

    public void setConfidence(Double confidence) {
        this.confidence = confidence;
    }

    public List<String> getReasons() {
        return reasons;
    }

    public void setReasons(List<String> reasons) {
        this.reasons = reasons;
    }

    public List<CandidateStrategy> getCandidateStrategies() {
        return candidateStrategies;
    }

    public void setCandidateStrategies(List<CandidateStrategy> candidateStrategies) {
        this.candidateStrategies = candidateStrategies;
    }

    public Map<String, Object> getFeatures() {
        return features;
    }

    public void setFeatures(Map<String, Object> features) {
        this.features = features;
    }
}
