Class Category
Represents category information that can be associated with IContent instances.
Inheritance
Inherited Members
Namespace: EPiServer.DataAbstraction
Assembly: EPiServer.dll
Version: 10.10.4Syntax
public class Category : IListSource, IReadOnly<Category>, IReadOnly, IModifiedTrackable
Remarks
Categories are organized in a hierarchical data structure. Each Category instance has a Parent
and a Categories property that can be used to traverse this hierarchy.
You can use one of the FindChild(String) or FindChild(Int32) methods to find
a specific child or descendent category either by Name or ID.
Constructors
Category()
Initializes a new instance of the Category class.
Declaration
public Category()
Category(Category, String)
Initializes a new instance of the Category class.
Declaration
public Category(Category parent, string name)
Parameters
| Type | Name | Description |
|---|---|---|
| Category | parent | The parent of the category. |
| System.String | name | The name of the category. |
Category(String, String)
Initializes a new instance of the Category class.
Declaration
public Category(string name, string description)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | The name of the category. |
| System.String | description | A description of the category. |
Fields
RootName
Name of the root category.
Declaration
public const string RootName = "Root"
Field Value
| Type | Description |
|---|---|
| System.String |
Properties
Available
Gets or sets a value indicating if this Category should be available in edit mode.
Declaration
public virtual bool Available { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
Categories
Gets or sets a list of all child categories of this Category.
Declaration
public virtual CategoryCollection Categories { get; set; }
Property Value
| Type | Description |
|---|---|
| CategoryCollection |
Remarks
Note that changes to this collection or to any category contained in this collection must be saved individually by calling the Save(Category) method.
Description
Gets or sets the long description of this Category.
Declaration
public virtual string Description { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String |
GUID
Gets or sets the unique identifier of this Category
Declaration
public virtual Guid GUID { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Guid |
ID
Gets or sets the id of this Category.
Declaration
public virtual int ID { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
Indent
Gets or sets the indent of this Category. The indent of the root category is 0.
Declaration
public virtual int Indent { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
IsModified
Gets a value indicating whether this instance has been modified after loading.
Declaration
public bool IsModified { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
|
IsReadOnly
Indicates whether the current object instance is read-only.
Declaration
public virtual bool IsReadOnly { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
LocalizationService
Declaration
public LocalizationService LocalizationService { get; set; }
Property Value
| Type | Description |
|---|---|
| LocalizationService |
LocalizedDescription
Gets a localized description of this Category using the LocalizationService. If no localized value is found, the Description will be used.
Declaration
public virtual string LocalizedDescription { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
Remarks
The description field is html encoded if used.
The category description should be localized under the path '/categories/category[@name="MyCategory"]/description' where 'MyCategory' is the name of the current category.
Name
Gets or sets the name of this Category.
Declaration
public virtual string Name { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String |
Parent
Gets or sets the parent category.
This property will be null for the root category.
Declaration
public virtual Category Parent { get; set; }
Property Value
| Type | Description |
|---|---|
| Category |
Selectable
Gets or sets a value indicating if this Category should be selectable in edit mode
Declaration
public virtual bool Selectable { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
SortOrder
Gets or sets the index for sorting categories on the same branch
Declaration
public virtual int SortOrder { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
Methods
CreateWritableClone()
Creates a writable copy of the current and all descendant categories.
Declaration
public virtual Category CreateWritableClone()
Returns
| Type | Description |
|---|---|
| Category | A writable copy of the current Category. |
Remarks
The cloning is a deep-copy except for the Parent property that is preserved on the returned Category. The writable status of the parent instance will not be changed.
FindChild(Int32)
Recursive search for a category in all descendant children
Declaration
public virtual Category FindChild(int id)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | id | The id number for the category to find |
Returns
| Type | Description |
|---|---|
| Category | The found category or null of the category could not be found |
FindChild(String)
Recursive search for a category in all descendant children
Declaration
public virtual Category FindChild(string name)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | The name number for the category to find |
Returns
| Type | Description |
|---|---|
| Category | The found category or null of the category could not be found |
Remarks
The search is not case-sensitive (uses OrdinalIgnoreCase).
GetList()
Gets a list of all descendant categories.
Declaration
public IList GetList()
Returns
| Type | Description |
|---|---|
| System.Collections.IList |
Remarks
Implements IListSource which provides the functionality so a category tree can be databound as a flat list.
MakeReadOnly()
Changes the object instance into a read-only object.
Declaration
public void MakeReadOnly()
Remarks
After calling this method, any attempt to change the object instance or any contained object will generate a System.NotSupportedException. I.e. the semantics is "deep read-only".
Note! After setting an object to read-only it is not possible to revert back to read-write mode. You will have to call the CreateWritableClone method to get a copy that can be modified.
ResetModified()
Resets the modified flag on all the data contained on the instance.
Declaration
public virtual void ResetModified()
ThrowIfReadOnly()
Throws an exception if the current instance is read-only.
Declaration
protected void ThrowIfReadOnly()
Explicit Interface Implementations
IReadOnly.CreateWritableClone()
Declaration
object IReadOnly.CreateWritableClone()
Returns
| Type | Description |
|---|---|
| System.Object |