using System;
using System.Collections.Generic;
namespace Umbraco.Core.Models.PublishedContent
{
///
/// Provides an abstract base class for IPropertySet implementations that
/// wrap and extend another IPropertySet.
///
public abstract class PropertySetWrapped : IPropertySet
{
protected readonly IPropertySet Content;
///
/// Initializes a new instance of the class
/// with an IPropertySet instance to wrap.
///
/// The content to wrap.
protected PropertySetWrapped(IPropertySet content)
{
Content = content;
}
///
/// Gets the wrapped content.
///
/// The wrapped content, that was passed as an argument to the constructor.
public IPropertySet Unwrap() => Content;
///
public PublishedContentType ContentType => Content.ContentType;
///
public Guid Key => Content.Key;
///
public IEnumerable Properties => Content.Properties;
///
public IPublishedProperty GetProperty(string alias) => Content.GetProperty(alias);
}
}