<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>Uses of Interface org.apache.jena.sparql.modify.request.UpdateSerializer (Apache Jena ARQ)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="use: module: org.apache.jena.arq, package: org.apache.jena.sparql.modify.request, interface: UpdateSerializer">
<meta name="generator" content="javadoc/ClassUseWriter">
<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../../../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-use-page">
<script type="text/javascript">var pathtoroot = "../../../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../../../module-summary.html">Module</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../UpdateSerializer.html" title="interface in org.apache.jena.sparql.modify.request">Class</a></li>
<li class="nav-bar-cell1-rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../../help-doc.html#use">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 title="Uses of Interface org.apache.jena.sparql.modify.request.UpdateSerializer" class="title">Uses of Interface<br>org.apache.jena.sparql.modify.request.UpdateSerializer</h1>
</div>
<div class="caption"><span>Packages that use <a href="../UpdateSerializer.html" title="interface in org.apache.jena.sparql.modify.request">UpdateSerializer</a></span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="#org.apache.jena.sparql.modify.request">org.apache.jena.sparql.modify.request</a></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><a href="#org.apache.jena.sparql.serializer">org.apache.jena.sparql.serializer</a></div>
<div class="col-last odd-row-color">&nbsp;</div>
</div>
<section class="class-uses">
<ul class="block-list">
<li>
<section class="detail" id="org.apache.jena.sparql.modify.request">
<h2>Uses of <a href="../UpdateSerializer.html" title="interface in org.apache.jena.sparql.modify.request">UpdateSerializer</a> in <a href="../package-summary.html">org.apache.jena.sparql.modify.request</a></h2>
<div class="caption"><span>Classes in <a href="../package-summary.html">org.apache.jena.sparql.modify.request</a> that implement <a href="../UpdateSerializer.html" title="interface in org.apache.jena.sparql.modify.request">UpdateSerializer</a></span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>class&nbsp;</code></div>
<div class="col-second even-row-color"><code><a href="../UpdateWriter.html" class="type-name-link" title="class in org.apache.jena.sparql.modify.request">UpdateWriter</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<li>
<section class="detail" id="org.apache.jena.sparql.serializer">
<h2>Uses of <a href="../UpdateSerializer.html" title="interface in org.apache.jena.sparql.modify.request">UpdateSerializer</a> in <a href="../../../serializer/package-summary.html">org.apache.jena.sparql.serializer</a></h2>
<div class="caption"><span>Methods in <a href="../../../serializer/package-summary.html">org.apache.jena.sparql.serializer</a> that return <a href="../UpdateSerializer.html" title="interface in org.apache.jena.sparql.modify.request">UpdateSerializer</a></span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code><a href="../UpdateSerializer.html" title="interface in org.apache.jena.sparql.modify.request">UpdateSerializer</a></code></div>
<div class="col-second even-row-color"><span class="type-name-label">UpdateSerializerFactory.</span><code><a href="../../../serializer/UpdateSerializerFactory.html#create(org.apache.jena.query.Syntax,org.apache.jena.sparql.core.Prologue,org.apache.jena.atlas.io.IndentedWriter)" class="member-name-link">create</a><wbr>(<a href="../../../../query/Syntax.html" title="class in org.apache.jena.query">Syntax</a>&nbsp;syntax,
 <a href="../../../core/Prologue.html" title="class in org.apache.jena.sparql.core">Prologue</a>&nbsp;prologue,
 org.apache.jena.atlas.io.IndentedWriter&nbsp;writer)</code></div>
<div class="col-last even-row-color">
<div class="block">Return a serializer for the given syntax</div>
</div>
</div>
</section>
</li>
</ul>
</section>
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Licensed under the Apache License, Version 2.0</small></p>
</footer>
</div>
</div>
</body>
</html>
