using System.Collections.Generic;

namespace  ZionVault.Binder.Indexing
{
    public class Document
    {/// <summary>
     /// Identificação do proprietário.
     /// </summary>
        private string owner;
        /// <summary>
        /// Identificação do arquivo.
        /// </summary>
        private string id;
        /// <summary>
        /// Caminho do arquivo.
        /// </summary>
        private string path = null;
        /// <summary>
        /// Código de referência da definição. ex: #0001.
        /// </summary>
        private string reference = "#00000";
        /// <summary>
        /// Lista de Campos.
        /// </summary>
        private List<Field> fields = new List<Field>();
        /// <summary>
        /// Lista de Campos.
        /// </summary>
        private bool recognized = false;
        /// <summary>
        /// Função de acesso a variável id
        /// </summary>
        public string Id
        {
            get { return this.id; }
            set { this.id = value; }
        }
        /// <summary>
        /// Função de acesso a variável Owner
        /// </summary>
        public string Owner
        {
            get { return this.owner; }
            set { this.owner = value; }
        }
        /// <summary>
        /// Função de acesso a variável Path
        /// </summary>
        public string Path
        {
            get { return this.path; }
            set { this.path = value; }
        }
        /// <summary>
        /// Função de acesso a variável Reference
        /// </summary>
        public string Reference
        {
            get { return this.reference; }
            set { this.reference = value; }
        }
        /// <summary>
        /// Função de acesso a variável Reference
        /// </summary>
        public bool Recognized
        {
            get { return this.recognized; }
            set { this.recognized = value; }
        }
        /// <summary>
        /// Função de acesso a variável Field
        /// </summary>
        public List<Field> Fields
        {
            get { return this.fields; }
            set { this.fields = value; }
        }
    }
}
