using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MP.FileData
{
public enum SearchMode
{
///
/// Ricerca occorrenze di una RegExp dentro il contenuto del file
///
StringOnFile,
///
/// Cerca da path relativo + nome file
///
PathAndName,
///
/// Ricerca di espliciti TAG nel file
///
TagListed
}
public class SearchRules
{
#region Public Properties
///
/// Estensioni file esclusi
///
public List ExcludedFileExt { get; set; } = new List();
///
/// Pattern esclusione Tags (stop-words)
///
public List ExcludedTags { get; set; } = new List();
///
/// Pattern in formato RegExp
///
public Dictionary FileNameExtReplace { get; set; } = new Dictionary();
///
/// Quantità massima di caratteri da analizzare, 0 = tutti
///
public int MaxChar2Search { get; set; } = 100;
///
/// Modalità ricerca
///
public SearchMode Mode { get; set; } = SearchMode.StringOnFile;
///
/// Nome della regola di ricerca
///
public string Name { get; set; } = "ND";
///
/// Configurazione opzionale x rimozione filename da output finali
///
public bool OutExcludeFileName { get; set; } = true;
///
/// Replace in uscita per "bonificare" il tag
///
public Dictionary OutReplace { get; set; } = new Dictionary();
///
/// Pattern in formato RegExp
///
public string RegExPattern { get; set; } = "";
///
/// Configurazione opzionale x sostituzione placeholder {{fileName}} in RegExp con il VERO nome file
///
public bool RegExRepFileName { get; set; } = true;
///
/// Configurazione opzionale x sostituzione carriage return --> spazi
///
public bool ReplaceCR { get; set; } = true;
///
/// Tag da collezionare, come elenco di stringhe
/// es: {"Customer", "Model"}
/// selezionerà
/// Customer=Steamware
/// MODEL=DEMO_SIMULATOR
///
public List Tag2Collect { get; set; } = new List();
///
/// Configurazione opzionale x escludere files da regexp su filename
///
public bool ExclFileEnabled { get; set; } = false;
///
/// Pattern in formato RegExp x esclusione file da nome
///
public string ExclFileRegExPattern { get; set; } = "";
#endregion Public Properties
}
}