November Happy Hour will be moved to Thursday December 5th.

Class PropertyLinkCollection

Property representing an ordered list of links.

Inheritance
System.Object
PropertyLinkCollection
Implements
System.Collections.Generic.IEnumerable<LinkItem>
System.Collections.IEnumerable
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: EPiServer.SpecializedProperties
Assembly: EPiServer.dll
Version: 10.10.4
Syntax
[PropertyDefinitionTypePlugIn]
public class PropertyLinkCollection : PropertyLongString, IReadOnly<PropertyData>, IReadOnly, ILazyProperty, IReferenceMap, IEnumerable<LinkItem>, IEnumerable
Remarks

Do not work directly again the Fragments property since this might not always be in sync with the Links collection if this has been changed.

Constructors

PropertyLinkCollection()

Initializes a new instance of the PropertyLinkCollection class.

Declaration
public PropertyLinkCollection()

PropertyLinkCollection(LinkItemCollection)

Initializes a new instance of the PropertyLinkCollection class using the passed LinkItemCollection as value.

Declaration
public PropertyLinkCollection(LinkItemCollection linkItemCollection)
Parameters
Type Name Description
LinkItemCollection linkItemCollection

A LinkItemCollection which will be the value of the new PropertyLinkCollection.

Exceptions
Type Condition
System.ArgumentNullException

linkItemCollection is null.

Properties

IsModified

Check if property has been modified.

Declaration
public override bool IsModified { get; set; }
Property Value
Type Description
System.Boolean

true if this instance is modified; otherwise, false.

Overrides

IsNull

Check for null property (no value has been set).

Declaration
public override bool IsNull { get; }
Property Value
Type Description
System.Boolean

true if this property is null; otherwise, false.

Overrides

LinkMapper

Gets or sets the fragment parser that should be used by the current instance.

Declaration
[Obsolete("Use LinkResolver Instead.")]
public Injected<IPermanentLinkMapper> LinkMapper { get; set; }
Property Value
Type Description
Injected<IPermanentLinkMapper>

LinkResolver

Gets or sets the URL resolver.

Declaration
public Injected<IUrlResolver> LinkResolver { get; set; }
Property Value
Type Description
Injected<IUrlResolver>

The URL resolver.

Gets or sets the LinkItemCollection which represents the value of this property.

Declaration
public LinkItemCollection Links { get; set; }
Property Value
Type Description
LinkItemCollection

The LinkItemCollection to be assigned as value.

LongString

Gets or sets the value of the property typed as a System.String.

Declaration
protected override string LongString { get; set; }
Property Value
Type Description
System.String

The value of the property typed as a System.String.

Overrides

PrincipalAcccessor

Gets or set the principal accessor.

Declaration
public Injected<IPrincipalAccessor> PrincipalAcccessor { get; set; }
Property Value
Type Description
Injected<IPrincipalAccessor>

PropertyValueType

Gets the System.Type for this property.

Declaration
public override Type PropertyValueType { get; }
Property Value
Type Description
System.Type

The System.Type of the property value.

Overrides

ReferencedPermanentLinkIds

Gets an System.Collections.Generic.IList<T> of permanent link ids that are referenced from this property.

Declaration
public virtual IList<Guid> ReferencedPermanentLinkIds { get; }
Property Value
Type Description
System.Collections.Generic.IList<System.Guid>

An System.Collections.Generic.IList<T> of permanent link ids that are referenced from this property.

Type

Property type as defined by enum PropertyDataType.

Declaration
public override PropertyDataType Type { get; }
Property Value
Type Description
PropertyDataType

The type as defined by enum PropertyDataType.

Overrides

UrlResolver

Gets or sets the URL resolver.

Declaration
[Obsolete("Use LinkResolver instead")]
public Injected<UrlResolver> UrlResolver { get; set; }
Property Value
Type Description
Injected<UrlResolver>

The URL resolver.

Value

The value of the property.

Declaration
public override object Value { get; set; }
Property Value
Type Description
System.Object

The value of the property.

Overrides
Remarks

Value returns null if the property has no value defined.

Methods

Copy()

Creates a copy of this object.

Declaration
public override PropertyData Copy()
Returns
Type Description
PropertyData

A PropertyData object.

Overrides

CreatePropertyControl()

Creates an PropertyLinkCollectionControl that is used to display a user interface for the property.

Declaration
[Obsolete("Use IPropertyControlFactory to create property controls")]
public override IPropertyControl CreatePropertyControl()
Returns
Type Description
IPropertyControl

An PropertyLinkCollectionControl that is used to display a user interface for the property.

Overrides
Remarks

It is possible to change which control should be used by registering a different IPropertyControl for the PropertyData class in PropertyControlClassFactory.

CreateWritableClone()

Creates a writable clone of the property.

Declaration
public override PropertyData CreateWritableClone()
Returns
Type Description
PropertyData

A writable copy of the property.

Overrides

GetEnumerator()

Returns an enumerator that iterates through the collection of LinkItems.

Declaration
public IEnumerator<LinkItem> GetEnumerator()
Returns
Type Description
System.Collections.Generic.IEnumerator<LinkItem>

A System.Collections.Generic.IEnumerator<T> that can be used to iterate through the collection.

LoadData(Object)

Sets the internal representation from what is stored in the database. "Deserialize".

Declaration
public override void LoadData(object value)
Parameters
Type Name Description
System.Object value

The value.

Overrides

MakeReadOnly()

Convert this property to ReadOnly

Declaration
public override void MakeReadOnly()
Overrides
Remarks

Implementors should override this method when exposing complex objects that should be read-only as well.

Parse(String)

Parses the specified string and creates a new PropertyLinkCollection.

Declaration
public static PropertyLinkCollection Parse(string stringToParse)
Parameters
Type Name Description
System.String stringToParse

The string to parse.

Returns
Type Description
PropertyLinkCollection

A new PropertyLinkCollection.

ParseToObject(String)

Create a new PropertyLongString with the value passed to the method.

Declaration
public override PropertyData ParseToObject(string value)
Parameters
Type Name Description
System.String value

The value for the new PropertyLongString.

Returns
Type Description
PropertyData

A new instance of PropertyLongString with the value passed to the method.

Overrides
Remarks

As PropertyLongString stores its value as a string no parsing is necessary.

ParseToSelf(String)

Parses a string and assigns it to the value of this instance.

Declaration
public override void ParseToSelf(string value)
Parameters
Type Name Description
System.String value

The new value for the property.

Overrides
Remarks

As PropertyLongString stores its value as a string no parsing is necessary.

RemapPermanentLinkReferences(IDictionary<Guid, Guid>)

Remaps permanent links according to the provided link mapping.

Declaration
public virtual void RemapPermanentLinkReferences(IDictionary<Guid, Guid> idMap)
Parameters
Type Name Description
System.Collections.Generic.IDictionary<System.Guid, System.Guid> idMap

The link mapping.

SaveData(PropertyDataCollection)

Return any internal data that will be stored to the database. "Serialize".

Declaration
public override object SaveData(PropertyDataCollection properties)
Parameters
Type Name Description
PropertyDataCollection properties

Current property collection.

Returns
Type Description
System.Object

The "serializable" value of the property.

Overrides

SetDefaultValue()

Sets the default value for this property.

Declaration
protected override void SetDefaultValue()
Overrides

ToRawString()

Declaration
public override string ToRawString()
Returns
Type Description
System.String
Overrides

ToWebString()

Get the web string representation of the property's value, on properties that do not use the editor this string will not contain any markup characters.

Declaration
public override string ToWebString()
Returns
Type Description
System.String

A string where all html tags except those defined in 'EPiServer.Configuration.Settings.UISafeHtmlTags' have been encoded and therefore will appear in the text instead of tags.

Overrides
Remarks

The character '& will also be encoded to '&amp;'.

Explicit Interface Implementations

IEnumerable.GetEnumerator()

Returns an enumerator that iterates through a collection.

Declaration
IEnumerator IEnumerable.GetEnumerator()
Returns
Type Description
System.Collections.IEnumerator

An System.Collections.IEnumerator object that can be used to iterate through the collection.

Implements

System.Collections.Generic.IEnumerable<T>
System.Collections.IEnumerable

Extension Methods