using System; using System.Collections; namespace Umbraco.Cms.Core.Models.PublishedContent { /// /// Provides the published model creation service. /// public interface IPublishedModelFactory { /// /// Creates a strongly-typed model representing a published element. /// /// The original published element. /// The strongly-typed model representing the published element, or the published element /// itself it the factory has no model for the corresponding element type. IPublishedElement CreateModel(IPublishedElement element); /// /// Creates a List{T} of a strongly-typed model for a model type alias. /// /// The model type alias. /// A List{T} of the strongly-typed model, exposed as an IList. IList? CreateModelList(string alias); /// /// Maps a CLR type that may contain model types, to an actual CLR type. /// /// The CLR type. /// The actual CLR type. /// See for more details. Type MapModelType(Type type); } }