summaryrefslogtreecommitdiff
path: root/ThirdParty/CsvHelper-master/src/CsvHelper/Configuration/IReaderConfiguration.cs
diff options
context:
space:
mode:
Diffstat (limited to 'ThirdParty/CsvHelper-master/src/CsvHelper/Configuration/IReaderConfiguration.cs')
-rw-r--r--ThirdParty/CsvHelper-master/src/CsvHelper/Configuration/IReaderConfiguration.cs111
1 files changed, 111 insertions, 0 deletions
diff --git a/ThirdParty/CsvHelper-master/src/CsvHelper/Configuration/IReaderConfiguration.cs b/ThirdParty/CsvHelper-master/src/CsvHelper/Configuration/IReaderConfiguration.cs
new file mode 100644
index 0000000..a1250e6
--- /dev/null
+++ b/ThirdParty/CsvHelper-master/src/CsvHelper/Configuration/IReaderConfiguration.cs
@@ -0,0 +1,111 @@
+// Copyright 2009-2022 Josh Close
+// This file is a part of CsvHelper and is dual licensed under MS-PL and Apache 2.0.
+// See LICENSE.txt for details or visit http://www.opensource.org/licenses/ms-pl.html for MS-PL and http://opensource.org/licenses/Apache-2.0 for Apache 2.0.
+// https://github.com/JoshClose/CsvHelper
+using System;
+using System.Globalization;
+using CsvHelper.TypeConversion;
+using System.Reflection;
+using System.Collections.Generic;
+using System.IO;
+
+namespace CsvHelper.Configuration
+{
+ /// <summary>
+ /// Configuration used for the <see cref="IReader"/>.
+ /// </summary>
+ public interface IReaderConfiguration : IParserConfiguration
+ {
+ /// <summary>
+ /// Gets a value indicating if the
+ /// CSV file has a header record.
+ /// Default is true.
+ /// </summary>
+ bool HasHeaderRecord { get; }
+
+ /// <summary>
+ /// Gets the function that is called when a header validation check is ran. The default function
+ /// will throw a <see cref="ValidationException"/> if there is no header for a given member mapping.
+ /// You can supply your own function to do other things like logging the issue instead of throwing an exception.
+ /// </summary>
+ HeaderValidated HeaderValidated { get; }
+
+ /// <summary>
+ /// Gets the function that is called when a missing field is found. The default function will
+ /// throw a <see cref="MissingFieldException"/>. You can supply your own function to do other things
+ /// like logging the issue instead of throwing an exception.
+ /// </summary>
+ MissingFieldFound MissingFieldFound { get; }
+
+ /// <summary>
+ /// Gets the function that is called when a reading exception occurs.
+ /// The default function will re-throw the given exception. If you want to ignore
+ /// reading exceptions, you can supply your own function to do other things like
+ /// logging the issue.
+ /// </summary>
+ ReadingExceptionOccurred ReadingExceptionOccurred { get; }
+
+ /// <summary>
+ /// Prepares the header field for matching against a member name.
+ /// The header field and the member name are both ran through this function.
+ /// You should do things like trimming, removing whitespace, removing underscores,
+ /// and making casing changes to ignore case.
+ /// </summary>
+ PrepareHeaderForMatch PrepareHeaderForMatch { get; }
+
+ /// <summary>
+ /// Determines if constructor parameters should be used to create
+ /// the class instead of the default constructor and members.
+ /// </summary>
+ ShouldUseConstructorParameters ShouldUseConstructorParameters { get; }
+
+ /// <summary>
+ /// Chooses the constructor to use for constructor mapping.
+ /// </summary>
+ GetConstructor GetConstructor { get; }
+
+ /// <summary>
+ /// Gets the name to use for the property of the dynamic object.
+ /// </summary>
+ GetDynamicPropertyName GetDynamicPropertyName { get; }
+
+ /// <summary>
+ /// Gets a value indicating whether references
+ /// should be ignored when auto mapping. <c>true</c> to ignore
+ /// references, otherwise <c>false</c>. Default is false.
+ /// </summary>
+ bool IgnoreReferences { get; }
+
+ /// <summary>
+ /// Gets the callback that will be called to
+ /// determine whether to skip the given record or not.
+ /// </summary>
+ ShouldSkipRecord? ShouldSkipRecord { get; }
+
+ /// <summary>
+ /// Gets a value indicating if private
+ /// member should be read from and written to.
+ /// <c>true</c> to include private member, otherwise <c>false</c>. Default is false.
+ /// </summary>
+ bool IncludePrivateMembers { get; }
+
+ /// <summary>
+ /// Gets a callback that will return the prefix for a reference header.
+ /// </summary>
+ ReferenceHeaderPrefix ReferenceHeaderPrefix { get; }
+
+ /// <summary>
+ /// Gets a value indicating whether changes in the column
+ /// count should be detected. If true, a <see cref="BadDataException"/>
+ /// will be thrown if a different column count is detected.
+ /// </summary>
+ bool DetectColumnCountChanges { get; }
+
+ /// <summary>
+ /// Gets the member types that are used when auto mapping.
+ /// MemberTypes are flags, so you can choose more than one.
+ /// Default is Properties.
+ /// </summary>
+ MemberTypes MemberTypes { get; }
+ }
+}