using System;
using Mustache.Properties;
namespace Mustache
{
    /// 
    /// Holds the information descibing a key that is found in a template.
    /// 
    public class PlaceholderFoundEventArgs : EventArgs
    {
        /// 
        /// Initializes a new instance of a PlaceholderFoundEventArgs.
        /// 
        /// The key that was found.
        /// The alignment that will be applied to the substitute value.
        /// The formatting that will be applied to the substitute value.
        /// Indicates whether the placeholder was found within triple curly braces.
        /// The context where the placeholder was found.
        internal PlaceholderFoundEventArgs(string key, string alignment, string formatting, bool isExtension, Context[] context)
        {
            Key = key;
            Alignment = alignment;
            Formatting = formatting;
            Context = context;
        }
        /// 
        /// Gets or sets the key that was found.
        /// 
        public string Key { get; set; }
        /// 
        /// Gets or sets the alignment that will be applied to the substitute value.
        /// 
        public string Alignment { get; set; }
        /// 
        /// Gets or sets the formatting that will be applied to the substitute value.
        /// 
        public string Formatting { get; set; }
        /// 
        /// Gets or sets whether the placeholder was found within triple curly braces.
        /// 
        public bool IsExtension { get; set; }
        /// 
        /// Gets the context where the placeholder was found.
        /// 
        public Context[] Context { get; private set; }
    }
}