//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//------------------------------------------------------------------------------
namespace System.Web.UI.WebControls.WebParts {
using System;
using System.Collections;
///
/// Allows an object to participate in personalization, beyond
/// the default support for automatically storing properties
/// marked as personalizable.
///
public interface IPersonalizable {
///
/// Allows the implementor to indicate whether its personalized state
/// has been changed and must be persisted. This can be used to
/// optimize storage of personalization state.
/// If the implementation cannot determine the changed-state of its
/// state, then it should return true.
///
bool IsDirty { get; }
///
/// Allows the object to load its custom personalization data.
/// The dictionary contains name/value pairs that represent the
/// personalization state.
///
void Load(PersonalizationDictionary state);
///
/// Allows the object to store its personalized state for the current
/// personalization scope.
/// Personalized state must be stored in the form of name/value
/// pairs. Values stored must be serializable using ObjectStateFormatter.
///
void Save(PersonalizationDictionary state);
}
}