using System;
using JD.Serializers.Xml;
namespace JD.PropertyService
{
///
/// Read-Only properties.
///
internal class ReadOnlyProperties : PropertiesWrapper
{
#region Constructor
internal ReadOnlyProperties(IProperties properties)
: base(properties)
{
}
#endregion
#region Properties
public override bool IsReadOnly
{
get { return true; }
}
#endregion
#region Methods
public override void Set(string key, T value)
{
throw new InvalidOperationException("Properties are read only.");
}
public override bool Remove(string propertyName)
{
throw new InvalidOperationException("Properties are read only.");
}
public override void Clear()
{
throw new InvalidOperationException("Properties are read only.");
}
public override IProperties CreateSubKey(string key, AccessContext mode)
{
if (mode == AccessContext.Write)
{
throw new InvalidOperationException("Properties are read only.");
}
return base.CreateSubKey(key, mode);
}
public override bool RemoveSubKey(string key, AccessContext mode)
{
throw new InvalidOperationException("Properties are read only.");
}
public override bool Save()
{
throw new InvalidOperationException("Properties are read only.");
}
public override IDisposable BeginScopedUpdate()
{
throw new InvalidOperationException("Properties are read only.");
}
public override void EndUpdate()
{
throw new InvalidOperationException("Properties are read only.");
}
public override void ReadFromXml(XmlSerializerReader serializer)
{
throw new InvalidOperationException("Properties are read only.");
}
#endregion
}
}