Assembly: EPiServer (in EPiServer.dll) Version: 8.0.0
[SerializableAttribute] public class PermanentLinkMap
A base class that provides the basic mapping between a System.Guid and a UriKind.Relative System.Uri (the MappedUrl).
|GetIdentity||Extracts the identity from the object if it has one.||public, static|
|GetOriginalType||Gets the Type of the current object, ensuring that the eventual type that could be generated by a proxy interceptor is ignored.||public, static|
|SetIdentity||Sets the identity into the object if supported||public, static|
|ToPropertyBag(Object)||Create a PropertyBag instance and populates it with its properties The algorith for extracting properties is as follows: 1) Property must a have a getter and setter 2a) Getter must be public OR 2b) The class must be marked either with the DataContractAttribute or EPiServerDataContractAttribute and the property must be marked either with the DataMemberAttribute or EPiServerDataMemberAttribute||public, static|
|ToPropertyBag(Object, IEnumerable(String))||Create a PropertyBag instance and populates it with its properties||public, static|
|Extension||Gets or sets the extension.||protected|
|Guid||Gets or sets the GUID.||public, protected|
|HasMappedUrl||Gets a value indicating whether this instance has mapped URL.||public|
|HasPermanentLinkUrl||Gets a value indicating whether this instance has permanent link URL.||public|
|IsMapped||Gets a value indicating whether this instance is sucessfully mapped.||public|
|MappedUrl||Gets or sets the mapped URL.||public|
|PermanentLinkUrl||Gets or sets the permanent link URL.||public, protected|
An PermanentLinkMap has an permanent property which is a System.Guid, and one or more mapped properties that it maps to. The mapped properties may change, the immutable must never change.
Mapping is provided by instantiating an instance via a store lookup, and providing an appropriate parameter.
There are derived classes, PermanentPageLinkMap and PermanentFileLinkMap, representing the two different kinds of links supported. There's an PermanentLinkMapStore class which given a System.Guid or a System.Uri can get an PermanentXXXLinkMap instance, or null if not found.
Mapped defining property for PermanentPageLinkMap is a PageReference. Mapped defining property for PermanentFileLinkMap is a string (virtualPath).
The PermanentLinkMap instances should be considered as a required and persisted representation. This means that any time a new PermanentLinkMap is created in the system an PermanentXXXLinkMap object must be constructed (this is the only way to get the permanent Uri anyway), and any time an existing PermanentLinkMap has a mapped defining property changed, the corresponding property must be 'set' to enable persistance (actually to enable cache coherence).