CommunitySolidServer/docs/classes/index.dataaccessorbasedstore.html
2021-01-03 23:51:28 +00:00

897 lines
60 KiB
HTML

<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>DataAccessorBasedStore | Community Solid Server</title>
<meta name="description" content="Documentation for Community Solid Server">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
<script async src="../assets/js/search.js" id="search-script"></script>
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">Community Solid Server</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
<input type="checkbox" id="tsd-filter-externals" checked />
<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../modules.html">Community Solid Server</a>
</li>
<li>
<a href="../modules/index.html">index</a>
</li>
<li>
<a href="index.dataaccessorbasedstore.html">DataAccessorBasedStore</a>
</li>
</ul>
<h1>Class DataAccessorBasedStore</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>ResourceStore which uses a DataAccessor for backend access.</p>
</div>
<p>The DataAccessor interface provides elementary store operations such as read and write.
This DataAccessorBasedStore uses those elementary store operations
to implement the more high-level ResourceStore contact, abstracting all common functionality
such that new stores can be added by implementing the more simple DataAccessor contract.
DataAccessorBasedStore thereby provides behaviours for reuse across different stores, such as:</p>
<ul>
<li>Converting container metadata to data</li>
<li>Converting slug to URI</li>
<li>Checking if addResource target is a container</li>
<li>Checking if no containment triples are written to a container</li>
<li>etc.</li>
</ul>
<p>Currently &quot;metadata&quot; is seen as something that is not directly accessible.
That means that a consumer can&#39;t write directly to the metadata of a resource, only indirectly through headers.
(Except for containers where data and metadata overlap).</p>
<p>The one thing this store does not take care of (yet?) are containment triples for containers</p>
<p>Work has been done to minimize the number of required calls to the DataAccessor,
but the main disadvantage is that sometimes multiple calls are required where a specific store might only need one.</p>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">DataAccessorBasedStore</span>
</li>
</ul>
</section>
<section class="tsd-panel">
<h3>Implements</h3>
<ul class="tsd-hierarchy">
<li><a href="../interfaces/storage_resourcestore.resourcestore.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceStore</a></li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Constructors</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-constructor tsd-parent-kind-class"><a href="index.dataaccessorbasedstore.html#constructor" class="tsd-kind-icon">constructor</a></li>
</ul>
</section>
<section class="tsd-index-section tsd-is-private tsd-is-private-protected">
<h3>Properties</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="index.dataaccessorbasedstore.html#accessor" class="tsd-kind-icon">accessor</a></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="index.dataaccessorbasedstore.html#identifierstrategy" class="tsd-kind-icon">identifier<wbr>Strategy</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Methods</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-method tsd-parent-kind-class"><a href="index.dataaccessorbasedstore.html#addresource" class="tsd-kind-icon">add<wbr>Resource</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="index.dataaccessorbasedstore.html#createrecursivecontainers" class="tsd-kind-icon">create<wbr>Recursive<wbr>Containers</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="index.dataaccessorbasedstore.html#createsafeuri" class="tsd-kind-icon">create<wbr>Safe<wbr>Uri</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="index.dataaccessorbasedstore.html#createuri" class="tsd-kind-icon">createURI</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="index.dataaccessorbasedstore.html#deleteresource" class="tsd-kind-icon">delete<wbr>Resource</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="index.dataaccessorbasedstore.html#getemptycontainerrepresentation" class="tsd-kind-icon">get<wbr>Empty<wbr>Container<wbr>Representation</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="index.dataaccessorbasedstore.html#getnormalizedmetadata" class="tsd-kind-icon">get<wbr>Normalized<wbr>Metadata</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="index.dataaccessorbasedstore.html#getrepresentation" class="tsd-kind-icon">get<wbr>Representation</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="index.dataaccessorbasedstore.html#getsafenormalizedmetadata" class="tsd-kind-icon">get<wbr>Safe<wbr>Normalized<wbr>Metadata</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="index.dataaccessorbasedstore.html#handlecontainerdata" class="tsd-kind-icon">handle<wbr>Container<wbr>Data</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="index.dataaccessorbasedstore.html#hascontainertype" class="tsd-kind-icon">has<wbr>Container<wbr>Type</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="index.dataaccessorbasedstore.html#isexistingcontainer" class="tsd-kind-icon">is<wbr>Existing<wbr>Container</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="index.dataaccessorbasedstore.html#isnewcontainer" class="tsd-kind-icon">is<wbr>New<wbr>Container</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="index.dataaccessorbasedstore.html#isrootstorage" class="tsd-kind-icon">is<wbr>Root<wbr>Storage</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="index.dataaccessorbasedstore.html#modifyresource" class="tsd-kind-icon">modify<wbr>Resource</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="index.dataaccessorbasedstore.html#setrepresentation" class="tsd-kind-icon">set<wbr>Representation</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="index.dataaccessorbasedstore.html#validateidentifier" class="tsd-kind-icon">validate<wbr>Identifier</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="index.dataaccessorbasedstore.html#writedata" class="tsd-kind-icon">write<wbr>Data</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Constructors</h2>
<section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class">
<a name="constructor" class="tsd-anchor"></a>
<h3>constructor</h3>
<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">new <wbr>Data<wbr>Accessor<wbr>Based<wbr>Store<span class="tsd-signature-symbol">(</span>accessor<span class="tsd-signature-symbol">: </span><a href="../interfaces/storage_accessors_dataaccessor.dataaccessor.html" class="tsd-signature-type" data-tsd-kind="Interface">DataAccessor</a>, identifierStrategy<span class="tsd-signature-symbol">: </span><a href="../interfaces/util_identifiers_identifierstrategy.identifierstrategy.html" class="tsd-signature-type" data-tsd-kind="Interface">IdentifierStrategy</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="storage_dataaccessorbasedstore.dataaccessorbasedstore.html" class="tsd-signature-type" data-tsd-kind="Class">DataAccessorBasedStore</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/98bf8c1/src/storage/DataAccessorBasedStore.ts#L54">src/storage/DataAccessorBasedStore.ts:54</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>accessor: <a href="../interfaces/storage_accessors_dataaccessor.dataaccessor.html" class="tsd-signature-type" data-tsd-kind="Interface">DataAccessor</a></h5>
</li>
<li>
<h5>identifierStrategy: <a href="../interfaces/util_identifiers_identifierstrategy.identifierstrategy.html" class="tsd-signature-type" data-tsd-kind="Interface">IdentifierStrategy</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="storage_dataaccessorbasedstore.dataaccessorbasedstore.html" class="tsd-signature-type" data-tsd-kind="Class">DataAccessorBasedStore</a></h4>
</li>
</ul>
</section>
</section>
<section class="tsd-panel-group tsd-member-group tsd-is-private tsd-is-private-protected">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private">
<a name="accessor" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagPrivate">Private</span> <span class="tsd-flag ts-flagReadonly">Readonly</span> accessor</h3>
<div class="tsd-signature tsd-kind-icon">accessor<span class="tsd-signature-symbol">:</span> <a href="../interfaces/storage_accessors_dataaccessor.dataaccessor.html" class="tsd-signature-type" data-tsd-kind="Interface">DataAccessor</a></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/98bf8c1/src/storage/DataAccessorBasedStore.ts#L53">src/storage/DataAccessorBasedStore.ts:53</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private">
<a name="identifierstrategy" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagPrivate">Private</span> <span class="tsd-flag ts-flagReadonly">Readonly</span> identifier<wbr>Strategy</h3>
<div class="tsd-signature tsd-kind-icon">identifier<wbr>Strategy<span class="tsd-signature-symbol">:</span> <a href="../interfaces/util_identifiers_identifierstrategy.identifierstrategy.html" class="tsd-signature-type" data-tsd-kind="Interface">IdentifierStrategy</a></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/98bf8c1/src/storage/DataAccessorBasedStore.ts#L54">src/storage/DataAccessorBasedStore.ts:54</a></li>
</ul>
</aside>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Methods</h2>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="addresource" class="tsd-anchor"></a>
<h3>add<wbr>Resource</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">add<wbr>Resource<span class="tsd-signature-symbol">(</span>container<span class="tsd-signature-symbol">: </span><a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a>, representation<span class="tsd-signature-symbol">: </span><a href="../interfaces/ldp_representation_representation.representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">&gt;</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/98bf8c1/src/storage/DataAccessorBasedStore.ts#L91">src/storage/DataAccessorBasedStore.ts:91</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>container: <a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5>
</li>
<li>
<h5>representation: <a href="../interfaces/ldp_representation_representation.representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">&gt;</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a name="createrecursivecontainers" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> create<wbr>Recursive<wbr>Containers</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<li class="tsd-signature tsd-kind-icon">create<wbr>Recursive<wbr>Containers<span class="tsd-signature-symbol">(</span>container<span class="tsd-signature-symbol">: </span><a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/98bf8c1/src/storage/DataAccessorBasedStore.ts#L366">src/storage/DataAccessorBasedStore.ts:366</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Create containers starting from the root until the given identifier corresponds to an existing container.
Will throw errors if the identifier of the last existing &quot;container&quot; corresponds to an existing document.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>container: <a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5>
<div class="tsd-comment tsd-typography">
<p>Identifier of the container which will need to exist.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a name="createsafeuri" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> create<wbr>Safe<wbr>Uri</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<li class="tsd-signature tsd-kind-icon">create<wbr>Safe<wbr>Uri<span class="tsd-signature-symbol">(</span>container<span class="tsd-signature-symbol">: </span><a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a>, metadata<span class="tsd-signature-symbol">: </span><a href="ldp_representation_representationmetadata.representationmetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a>, parentMetadata<span class="tsd-signature-symbol">?: </span><a href="ldp_representation_representationmetadata.representationmetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/98bf8c1/src/storage/DataAccessorBasedStore.ts#L295">src/storage/DataAccessorBasedStore.ts:295</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Generate a valid URI to store a new Resource in the given container.
URI will be based on the slug header if there is one and is guaranteed to not exist yet.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>container: <a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5>
<div class="tsd-comment tsd-typography">
<p>Identifier of the target container.</p>
</div>
</li>
<li>
<h5>metadata: <a href="ldp_representation_representationmetadata.representationmetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a></h5>
<div class="tsd-comment tsd-typography">
<p>Metadata of the new resource.</p>
</div>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> parentMetadata: <a href="ldp_representation_representationmetadata.representationmetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a></h5>
<div class="tsd-comment tsd-typography">
<p>Optional metadata of the parent container.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a name="createuri" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> createURI</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<li class="tsd-signature tsd-kind-icon">createURI<span class="tsd-signature-symbol">(</span>container<span class="tsd-signature-symbol">: </span><a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a>, isContainer<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span>, slug<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/98bf8c1/src/storage/DataAccessorBasedStore.ts#L282">src/storage/DataAccessorBasedStore.ts:282</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Generates a new URI for a resource in the given container, potentially using the given slug.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>container: <a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5>
<div class="tsd-comment tsd-typography">
<p>Parent container of the new URI.</p>
</div>
</li>
<li>
<h5>isContainer: <span class="tsd-signature-type">boolean</span></h5>
<div class="tsd-comment tsd-typography">
<p>Does the new URI represent a container?</p>
</div>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> slug: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p>Slug to use for the new URI.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="deleteresource" class="tsd-anchor"></a>
<h3>delete<wbr>Resource</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">delete<wbr>Resource<span class="tsd-signature-symbol">(</span>identifier<span class="tsd-signature-symbol">: </span><a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/98bf8c1/src/storage/DataAccessorBasedStore.ts#L149">src/storage/DataAccessorBasedStore.ts:149</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>identifier: <a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a name="getemptycontainerrepresentation" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> get<wbr>Empty<wbr>Container<wbr>Representation</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<li class="tsd-signature tsd-kind-icon">get<wbr>Empty<wbr>Container<wbr>Representation<span class="tsd-signature-symbol">(</span>container<span class="tsd-signature-symbol">: </span><a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/ldp_representation_representation.representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/98bf8c1/src/storage/DataAccessorBasedStore.ts#L387">src/storage/DataAccessorBasedStore.ts:387</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Generates the minimal representation for an empty container.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>container: <a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5>
<div class="tsd-comment tsd-typography">
<p>Identifier of this new container.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="../interfaces/ldp_representation_representation.representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a name="getnormalizedmetadata" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> get<wbr>Normalized<wbr>Metadata</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<li class="tsd-signature tsd-kind-icon">get<wbr>Normalized<wbr>Metadata<span class="tsd-signature-symbol">(</span>identifier<span class="tsd-signature-symbol">: </span><a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="ldp_representation_representationmetadata.representationmetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a><span class="tsd-signature-symbol">&gt;</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/98bf8c1/src/storage/DataAccessorBasedStore.ts#L183">src/storage/DataAccessorBasedStore.ts:183</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns the metadata matching the identifier, ignoring the presence of a trailing slash or not.
This is used to support the following part of the spec:
&quot;If two URIs differ only in the trailing slash, and the server has associated a resource with one of them,
then the other URI MUST NOT correspond to another resource.&quot;</p>
</div>
<p>First the identifier gets requested and if no result is found
the identifier with differing trailing slash is requested.</p>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>identifier: <a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5>
<div class="tsd-comment tsd-typography">
<p>Identifier that needs to be checked.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="ldp_representation_representationmetadata.representationmetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a><span class="tsd-signature-symbol">&gt;</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="getrepresentation" class="tsd-anchor"></a>
<h3>get<wbr>Representation</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">get<wbr>Representation<span class="tsd-signature-symbol">(</span>identifier<span class="tsd-signature-symbol">: </span><a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/ldp_representation_representation.representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a><span class="tsd-signature-symbol">&gt;</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/98bf8c1/src/storage/DataAccessorBasedStore.ts#L61">src/storage/DataAccessorBasedStore.ts:61</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>identifier: <a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/ldp_representation_representation.representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a><span class="tsd-signature-symbol">&gt;</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a name="getsafenormalizedmetadata" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> get<wbr>Safe<wbr>Normalized<wbr>Metadata</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<li class="tsd-signature tsd-kind-icon">get<wbr>Safe<wbr>Normalized<wbr>Metadata<span class="tsd-signature-symbol">(</span>identifier<span class="tsd-signature-symbol">: </span><a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><a href="ldp_representation_representationmetadata.representationmetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a><span class="tsd-signature-symbol">&gt;</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/98bf8c1/src/storage/DataAccessorBasedStore.ts#L200">src/storage/DataAccessorBasedStore.ts:200</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns the result of <code>getNormalizedMetadata</code> or undefined if a 404 error is thrown.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>identifier: <a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><a href="ldp_representation_representationmetadata.representationmetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a><span class="tsd-signature-symbol">&gt;</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a name="handlecontainerdata" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> handle<wbr>Container<wbr>Data</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<li class="tsd-signature tsd-kind-icon">handle<wbr>Container<wbr>Data<span class="tsd-signature-symbol">(</span>representation<span class="tsd-signature-symbol">: </span><a href="../interfaces/ldp_representation_representation.representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/98bf8c1/src/storage/DataAccessorBasedStore.ts#L246">src/storage/DataAccessorBasedStore.ts:246</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Verify if the incoming data for a container is valid (RDF and no containment triples).
Adds the container data to its metadata afterwards.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>representation: <a href="../interfaces/ldp_representation_representation.representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a></h5>
<div class="tsd-comment tsd-typography">
<p>Container representation.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a name="hascontainertype" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> has<wbr>Container<wbr>Type</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<li class="tsd-signature tsd-kind-icon">has<wbr>Container<wbr>Type<span class="tsd-signature-symbol">(</span>types<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Term</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/98bf8c1/src/storage/DataAccessorBasedStore.ts#L350">src/storage/DataAccessorBasedStore.ts:350</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Checks in a list of types if any of them match a Container type.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>types: <span class="tsd-signature-type">Term</span><span class="tsd-signature-symbol">[]</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a name="isexistingcontainer" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> is<wbr>Existing<wbr>Container</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<li class="tsd-signature tsd-kind-icon">is<wbr>Existing<wbr>Container<span class="tsd-signature-symbol">(</span>metadata<span class="tsd-signature-symbol">: </span><a href="ldp_representation_representationmetadata.representationmetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/98bf8c1/src/storage/DataAccessorBasedStore.ts#L339">src/storage/DataAccessorBasedStore.ts:339</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Checks if the given metadata represents a container, purely based on metadata type triples.
Since type metadata always gets generated when writing resources this should never fail on stored resources.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>metadata: <a href="ldp_representation_representationmetadata.representationmetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a></h5>
<div class="tsd-comment tsd-typography">
<p>Metadata to check.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a name="isnewcontainer" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> is<wbr>New<wbr>Container</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<li class="tsd-signature tsd-kind-icon">is<wbr>New<wbr>Container<span class="tsd-signature-symbol">(</span>metadata<span class="tsd-signature-symbol">: </span><a href="ldp_representation_representationmetadata.representationmetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a>, suffix<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/98bf8c1/src/storage/DataAccessorBasedStore.ts#L324">src/storage/DataAccessorBasedStore.ts:324</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Checks if the given metadata represents a (potential) container,
both based on the metadata and the URI.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>metadata: <a href="ldp_representation_representationmetadata.representationmetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a></h5>
<div class="tsd-comment tsd-typography">
<p>Metadata of the (new) resource.</p>
</div>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> suffix: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p>Suffix of the URI. Can be the full URI, but only the last part is required.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a name="isrootstorage" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> is<wbr>Root<wbr>Storage</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<li class="tsd-signature tsd-kind-icon">is<wbr>Root<wbr>Storage<span class="tsd-signature-symbol">(</span>metadata<span class="tsd-signature-symbol">: </span><a href="ldp_representation_representationmetadata.representationmetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/98bf8c1/src/storage/DataAccessorBasedStore.ts#L357">src/storage/DataAccessorBasedStore.ts:357</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Verifies if this is the metadata of a root storage container.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>metadata: <a href="ldp_representation_representationmetadata.representationmetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="modifyresource" class="tsd-anchor"></a>
<h3>modify<wbr>Resource</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">modify<wbr>Resource<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/98bf8c1/src/storage/DataAccessorBasedStore.ts#L145">src/storage/DataAccessorBasedStore.ts:145</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="setrepresentation" class="tsd-anchor"></a>
<h3>set<wbr>Representation</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">set<wbr>Representation<span class="tsd-signature-symbol">(</span>identifier<span class="tsd-signature-symbol">: </span><a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a>, representation<span class="tsd-signature-symbol">: </span><a href="../interfaces/ldp_representation_representation.representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/98bf8c1/src/storage/DataAccessorBasedStore.ts#L118">src/storage/DataAccessorBasedStore.ts:118</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>identifier: <a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5>
</li>
<li>
<h5>representation: <a href="../interfaces/ldp_representation_representation.representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a name="validateidentifier" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> validate<wbr>Identifier</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<li class="tsd-signature tsd-kind-icon">validate<wbr>Identifier<span class="tsd-signature-symbol">(</span>identifier<span class="tsd-signature-symbol">: </span><a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/98bf8c1/src/storage/DataAccessorBasedStore.ts#L167">src/storage/DataAccessorBasedStore.ts:167</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Verify if the given identifier matches the stored base.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>identifier: <a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a name="writedata" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> write<wbr>Data</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<li class="tsd-signature tsd-kind-icon">write<wbr>Data<span class="tsd-signature-symbol">(</span>identifier<span class="tsd-signature-symbol">: </span><a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a>, representation<span class="tsd-signature-symbol">: </span><a href="../interfaces/ldp_representation_representation.representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a>, isContainer<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span>, createContainers<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/98bf8c1/src/storage/DataAccessorBasedStore.ts#L219">src/storage/DataAccessorBasedStore.ts:219</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Write the given resource to the DataAccessor. Metadata will be updated with necessary triples.
In case of containers <code>handleContainerData</code> will be used to verify the data.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>identifier: <a href="../interfaces/ldp_representation_resourceidentifier.resourceidentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5>
<div class="tsd-comment tsd-typography">
<p>Identifier of the resource.</p>
</div>
</li>
<li>
<h5>representation: <a href="../interfaces/ldp_representation_representation.representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a></h5>
<div class="tsd-comment tsd-typography">
<p>Corresponding Representation.</p>
</div>
</li>
<li>
<h5>isContainer: <span class="tsd-signature-type">boolean</span></h5>
<div class="tsd-comment tsd-typography">
<p>Is the incoming resource a container?</p>
</div>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> createContainers: <span class="tsd-signature-type">boolean</span></h5>
<div class="tsd-comment tsd-typography">
<p>Should parent containers (potentially) be created?</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
</li>
</ul>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class=" ">
<a href="../modules.html">Exports</a>
</li>
<li class="current tsd-kind-module">
<a href="../modules/index.html">index</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
</ul>
<ul class="current">
<li class="current tsd-kind-class tsd-parent-kind-module">
<a href="index.dataaccessorbasedstore.html" class="tsd-kind-icon">Data<wbr>Accessor<wbr>Based<wbr>Store</a>
<ul>
<li class=" tsd-kind-constructor tsd-parent-kind-class">
<a href="index.dataaccessorbasedstore.html#constructor" class="tsd-kind-icon">constructor</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class tsd-is-private">
<a href="index.dataaccessorbasedstore.html#accessor" class="tsd-kind-icon">accessor</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class tsd-is-private">
<a href="index.dataaccessorbasedstore.html#identifierstrategy" class="tsd-kind-icon">identifier<wbr>Strategy</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="index.dataaccessorbasedstore.html#addresource" class="tsd-kind-icon">add<wbr>Resource</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a href="index.dataaccessorbasedstore.html#createrecursivecontainers" class="tsd-kind-icon">create<wbr>Recursive<wbr>Containers</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a href="index.dataaccessorbasedstore.html#createsafeuri" class="tsd-kind-icon">create<wbr>Safe<wbr>Uri</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a href="index.dataaccessorbasedstore.html#createuri" class="tsd-kind-icon">createURI</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="index.dataaccessorbasedstore.html#deleteresource" class="tsd-kind-icon">delete<wbr>Resource</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a href="index.dataaccessorbasedstore.html#getemptycontainerrepresentation" class="tsd-kind-icon">get<wbr>Empty<wbr>Container<wbr>Representation</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a href="index.dataaccessorbasedstore.html#getnormalizedmetadata" class="tsd-kind-icon">get<wbr>Normalized<wbr>Metadata</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="index.dataaccessorbasedstore.html#getrepresentation" class="tsd-kind-icon">get<wbr>Representation</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a href="index.dataaccessorbasedstore.html#getsafenormalizedmetadata" class="tsd-kind-icon">get<wbr>Safe<wbr>Normalized<wbr>Metadata</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a href="index.dataaccessorbasedstore.html#handlecontainerdata" class="tsd-kind-icon">handle<wbr>Container<wbr>Data</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a href="index.dataaccessorbasedstore.html#hascontainertype" class="tsd-kind-icon">has<wbr>Container<wbr>Type</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a href="index.dataaccessorbasedstore.html#isexistingcontainer" class="tsd-kind-icon">is<wbr>Existing<wbr>Container</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a href="index.dataaccessorbasedstore.html#isnewcontainer" class="tsd-kind-icon">is<wbr>New<wbr>Container</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a href="index.dataaccessorbasedstore.html#isrootstorage" class="tsd-kind-icon">is<wbr>Root<wbr>Storage</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="index.dataaccessorbasedstore.html#modifyresource" class="tsd-kind-icon">modify<wbr>Resource</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="index.dataaccessorbasedstore.html#setrepresentation" class="tsd-kind-icon">set<wbr>Representation</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a href="index.dataaccessorbasedstore.html#validateidentifier" class="tsd-kind-icon">validate<wbr>Identifier</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a href="index.dataaccessorbasedstore.html#writedata" class="tsd-kind-icon">write<wbr>Data</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
</ul>
</nav>
</div>
</div>
</div>
<footer>
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
<li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
<li class="tsd-kind-type-alias tsd-has-type-parameter"><span class="tsd-kind-icon">Type alias with type parameter</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
<li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
<li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
</ul>
</div>
</div>
</footer>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
</body>
</html>