// // BodyPartText.cs // // Author: Jeffrey Stedfast // // Copyright (c) 2013-2020 .NET Foundation and Contributors // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. // using System; using System.Text; namespace MailKit { /// /// A textual body part. /// /// /// Represents any body part with a media type of "text". /// /// /// /// public class BodyPartText : BodyPartBasic { /// /// Initializes a new instance of the class. /// /// /// Creates a new . /// public BodyPartText () { } /// /// Gets whether or not this text part contains plain text. /// /// /// Checks whether or not the text part's Content-Type is text/plain. /// /// true if the text is html; otherwise, false. public bool IsPlain { get { return ContentType.IsMimeType ("text", "plain"); } } /// /// Gets whether or not this text part contains HTML. /// /// /// Checks whether or not the text part's Content-Type is text/html. /// /// true if the text is html; otherwise, false. public bool IsHtml { get { return ContentType.IsMimeType ("text", "html"); } } /// /// Gets the length of the text, in lines. /// /// /// Gets the length of the text, in lines. /// /// The number of lines. public uint Lines { get; set; } /// /// Dispatches to the specific visit method for this MIME body part. /// /// /// This default implementation for nodes /// calls . Override this /// method to call into a more specific method on a derived visitor class /// of the class. However, it should still /// support unknown visitors by calling /// . /// /// The visitor. /// /// is null. /// public override void Accept (BodyPartVisitor visitor) { if (visitor == null) throw new ArgumentNullException (nameof (visitor)); visitor.VisitBodyPartText (this); } /// /// Encodes the into the . /// /// /// Encodes the into the . /// /// The string builder. protected override void Encode (StringBuilder builder) { base.Encode (builder); builder.Append (' '); Encode (builder, Lines); } } }