using System;
namespace Umbraco.Core.Models.PublishedContent
{
///
/// Provides strongly typed published content models services.
///
internal static class PublishedContentExtensionsForModels
{
///
/// Creates a strongly typed published content model for an internal published content.
///
/// The internal published content.
/// The strongly typed published content model.
public static IPublishedContent CreateModel(this IPublishedContent content)
{
if (content == null)
return null;
if (PublishedContentModelFactoryResolver.Current.HasValue == false)
return content;
// get model
// if factory returns nothing, throw
// if factory just returns what it got, return
var model = PublishedContentModelFactoryResolver.Current.Factory.CreateModel(content);
if (model == null)
throw new Exception("IPublishedContentFactory returned null.");
return model;
}
}
}