Show / Hide Table of Contents

Class PropertyStoreBase

Common functionality for a property store implementation

Inheritance
Object
PropertyStoreBase
InMemoryPropertyStore
SQLitePropertyStore
TextFilePropertyStore
Inherited Members
Object.Equals(Object)
Object.Equals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Object.ReferenceEquals(Object, Object)
Object.ToString()
Namespace:FubarDev.WebDavServer.Props.Store
Assembly:FubarDev.WebDavServer.dll
Syntax
public abstract class PropertyStoreBase : IPropertyStore

Constructors

| Improve this Doc View Source

PropertyStoreBase(IDeadPropertyFactory)

Initializes a new instance of the PropertyStoreBase class.

Declaration
protected PropertyStoreBase([NotNull] IDeadPropertyFactory deadPropertyFactory)
Parameters
Type Name Description
IDeadPropertyFactory deadPropertyFactory

The factory to create dead properties

Properties

| Improve this Doc View Source

Cost

Gets the cost to query the properties of a property store

Declaration
public abstract int Cost { get; }
Property Value
Type Description
Int32
Implements
IPropertyStore.Cost
| Improve this Doc View Source

DeadPropertyFactory

Gets the dead property factory

Declaration
[NotNull]
protected IDeadPropertyFactory DeadPropertyFactory { get; }
Property Value
Type Description
IDeadPropertyFactory

Methods

| Improve this Doc View Source

Create(IEntry, XName)

Creates a dead property by its name for a given entry

Declaration
public IDeadProperty Create(IEntry entry, XName name)
Parameters
Type Name Description
IEntry entry

The entry to create the dead property with the given name for

XName name

The name of the dead property to create for the given entry for

Returns
Type Description
IDeadProperty

The created dead property with the given name for the given entry

Implements
IPropertyStore.Create(IEntry, XName)
| Improve this Doc View Source

GetAsync(IEntry, CancellationToken)

Gets all dead properties for a given entry

Declaration
public abstract Task<IReadOnlyCollection<XElement>> GetAsync(IEntry entry, CancellationToken cancellationToken)
Parameters
Type Name Description
IEntry entry

The entry to get all the dead properties for

CancellationToken cancellationToken

The cancellation token

Returns
Type Description
Task<IReadOnlyCollection<XElement>>

The collection of all dead properties

Implements
IPropertyStore.GetAsync(IEntry, CancellationToken)
Remarks

A GetETagProperty will not be returned by this function.

| Improve this Doc View Source

GetAsync(IEntry, XName, CancellationToken)

Gets a dead property with the given name for the given entry

Declaration
public virtual Task<XElement> GetAsync(IEntry entry, XName name, CancellationToken cancellationToken)
Parameters
Type Name Description
IEntry entry

The entry to get the property with the given name for

XName name

The name of the parameter to get for a given entry

CancellationToken cancellationToken

The cancellation token

Returns
Type Description
Task<XElement>

The XElement for the given dead property

Implements
IPropertyStore.GetAsync(IEntry, XName, CancellationToken)
Remarks

A GetETagProperty will not be returned by this function.

| Improve this Doc View Source

GetDeadETagAsync(IEntry, CancellationToken)

Gets a GetETagProperty from the property store

Declaration
protected abstract Task<EntityTag> GetDeadETagAsync(IEntry entry, CancellationToken cancellationToken)
Parameters
Type Name Description
IEntry entry

The entry to get the getetag property from

CancellationToken cancellationToken

The cancellation token

Returns
Type Description
Task<EntityTag>

The entity tag for the entry

| Improve this Doc View Source

GetETagAsync(IEntry, CancellationToken)

Gets the entity tag for a given entry

Declaration
public Task<EntityTag> GetETagAsync(IEntry entry, CancellationToken cancellationToken)
Parameters
Type Name Description
IEntry entry

The entry to get the entity tag for

CancellationToken cancellationToken

The cancellation token

Returns
Type Description
Task<EntityTag>

The loaded entity tag

Implements
IPropertyStore.GetETagAsync(IEntry, CancellationToken)
| Improve this Doc View Source

LoadAsync(IEntry, CancellationToken)

Loads all dead properties for a given entry into IDeadProperty implementations

Declaration
public virtual Task<IReadOnlyCollection<IDeadProperty>> LoadAsync(IEntry entry, CancellationToken cancellationToken)
Parameters
Type Name Description
IEntry entry

The entry to load the dead properties for

CancellationToken cancellationToken

The cancellation token

Returns
Type Description
Task<IReadOnlyCollection<IDeadProperty>>

The collection of the loaded dead properties

Implements
IPropertyStore.LoadAsync(IEntry, CancellationToken)
| Improve this Doc View Source

LoadAsync(IEntry, XName, CancellationToken)

Loads the dead property with the given name into a IDeadProperty implementation

Declaration
public virtual Task<IDeadProperty> LoadAsync(IEntry entry, XName name, CancellationToken cancellationToken)
Parameters
Type Name Description
IEntry entry

The entry to load the dead property for

XName name

The name of the dead property

CancellationToken cancellationToken

The cancellation token

Returns
Type Description
Task<IDeadProperty>

The implementation of the dead property

Implements
IPropertyStore.LoadAsync(IEntry, XName, CancellationToken)
| Improve this Doc View Source

RemoveAsync(IEntry, IEnumerable<XName>, CancellationToken)

Remove multiple dead properties by its name at once from the given entry

Declaration
public abstract Task<IReadOnlyCollection<bool>> RemoveAsync(IEntry entry, IEnumerable<XName> names, CancellationToken cancellationToken)
Parameters
Type Name Description
IEntry entry

The entry to remove the given property names from

IEnumerable<XName> names

The names of the dead properties to remove from the given entry

CancellationToken cancellationToken

The cancellation token

Returns
Type Description
Task<IReadOnlyCollection<Boolean>>

A collection of booleans where a true value indicates that there was a dead property for a given name that could be removed from the entry. A GetETagProperty cannot be removed by this function.

Implements
IPropertyStore.RemoveAsync(IEntry, IEnumerable<XName>, CancellationToken)
| Improve this Doc View Source

RemoveAsync(IEntry, CancellationToken)

Remove all dead propertied (including a probably exting GetETagProperty) from a given entry

Declaration
public virtual Task RemoveAsync(IEntry entry, CancellationToken cancellationToken)
Parameters
Type Name Description
IEntry entry

The entry to remove all the dead properties from

CancellationToken cancellationToken

The cancellation token

Returns
Type Description
Task

The async task

Implements
IPropertyStore.RemoveAsync(IEntry, CancellationToken)
| Improve this Doc View Source

RemoveAsync(IEntry, XName, CancellationToken)

Removes a dead property with a given name from the given entry

Declaration
public virtual Task<bool> RemoveAsync(IEntry entry, XName name, CancellationToken cancellationToken)
Parameters
Type Name Description
IEntry entry

The entry to remove the dead property with the given name from

XName name

The name of the parameter to remove from the entry

CancellationToken cancellationToken

The cancellation token

Returns
Type Description
Task<Boolean>

true when there was a dead property with the given name that could be removed

Implements
IPropertyStore.RemoveAsync(IEntry, XName, CancellationToken)
Remarks

A GetETagProperty cannot be removed by this function.

| Improve this Doc View Source

SetAsync(IEntry, IEnumerable<XElement>, CancellationToken)

Sets all given dead properties for the given entry

Declaration
public abstract Task SetAsync(IEntry entry, IEnumerable<XElement> properties, CancellationToken cancellationToken)
Parameters
Type Name Description
IEntry entry

The entry to set all the dead properties for

IEnumerable<XElement> properties

The properties to set for the given entry

CancellationToken cancellationToken

The cancellation token

Returns
Type Description
Task

The async task

Implements
IPropertyStore.SetAsync(IEntry, IEnumerable<XElement>, CancellationToken)
Remarks

A GetETagProperty cannot be updated using this method

| Improve this Doc View Source

SetAsync(IEntry, XElement, CancellationToken)

Sets a dead property for the given entry to the given element

Declaration
public virtual Task SetAsync(IEntry entry, XElement element, CancellationToken cancellationToken)
Parameters
Type Name Description
IEntry entry

The entry to set the property element for

XElement element

The element to set the entry for

CancellationToken cancellationToken

The cancellation token

Returns
Type Description
Task

The async task

Implements
IPropertyStore.SetAsync(IEntry, XElement, CancellationToken)
Remarks

A GetETagProperty cannot be updated by this function.

| Improve this Doc View Source

UpdateDeadETagAsync(IEntry, CancellationToken)

Updates a GetETagProperty in the property store

Declaration
protected abstract Task<EntityTag> UpdateDeadETagAsync(IEntry entry, CancellationToken cancellationToken)
Parameters
Type Name Description
IEntry entry

The entry to update the getetag property for

CancellationToken cancellationToken

The cancellation token

Returns
Type Description
Task<EntityTag>

The updated entity tag for the entry

| Improve this Doc View Source

UpdateETagAsync(IEntry, CancellationToken)

Updates an entity tag for a given entry

Declaration
public Task<EntityTag> UpdateETagAsync(IEntry entry, CancellationToken cancellationToken)
Parameters
Type Name Description
IEntry entry

The entry to get the entity tag for

CancellationToken cancellationToken

The cancellation token

Returns
Type Description
Task<EntityTag>

The updated entity tag

Implements
IPropertyStore.UpdateETagAsync(IEntry, CancellationToken)
  • Improve this Doc
  • View Source
Back to top Copyright © 2016-2017 Fubar Development Junker
Generated by DocFX