#region Copyright (c) Microsoft Corporation
/// 
///    Copyright (c) Microsoft Corporation. All Rights Reserved.
///    Information Contained Herein is Proprietary and Confidential.
/// 
#endregion
using System;
using System.Collections.Generic;
using System.Linq;
#if WEB_EXTENSIONS_CODE
namespace System.Web.Compilation.WCFModel
#else
namespace Microsoft.VSDesigner.WCFModel
#endif
{
#if WEB_EXTENSIONS_CODE
    internal abstract class MapFile
#else
    [CLSCompliant(true)]
    public abstract class MapFile
#endif
    {
        private List _loadErrors;
        /// 
        /// Errors encountered during load
        ///         
        public IEnumerable LoadErrors
        {
            get
            {
                return _loadErrors != null ? _loadErrors : Enumerable.Empty();
            }
            internal set
            {
                _loadErrors = new List(value);
            }
        }
        /// 
        /// Unique ID of the reference group.  It is a GUID string.
        ///         
        public abstract string ID { get; set; }
        /// 
        /// Metadata source item list
        /// 
        public abstract List MetadataSourceList { get; }
        /// 
        /// Metadata item list
        /// 
        public abstract List MetadataList { get; }
        /// 
        /// Extension item list
        /// 
        public abstract List Extensions { get; }
    }
}