<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>Uses of Class org.apache.jena.http.auth.PasswordRecord (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.http.auth, class: PasswordRecord">
<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="../PasswordRecord.html" title="class in org.apache.jena.http.auth">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 Class org.apache.jena.http.auth.PasswordRecord" class="title">Uses of Class<br>org.apache.jena.http.auth.PasswordRecord</h1>
</div>
<div class="caption"><span>Packages that use <a href="../PasswordRecord.html" title="class in org.apache.jena.http.auth">PasswordRecord</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.http.auth">org.apache.jena.http.auth</a></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
<section class="class-uses">
<ul class="block-list">
<li>
<section class="detail" id="org.apache.jena.http.auth">
<h2>Uses of <a href="../PasswordRecord.html" title="class in org.apache.jena.http.auth">PasswordRecord</a> in <a href="../package-summary.html">org.apache.jena.http.auth</a></h2>
<div class="caption"><span>Methods in <a href="../package-summary.html">org.apache.jena.http.auth</a> that return <a href="../PasswordRecord.html" title="class in org.apache.jena.http.auth">PasswordRecord</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="../PasswordRecord.html" title="class in org.apache.jena.http.auth">PasswordRecord</a></code></div>
<div class="col-second even-row-color"><span class="type-name-label">AuthCredentials.</span><code><a href="../AuthCredentials.html#get(org.apache.jena.http.auth.AuthDomain)" class="member-name-link">get</a><wbr>(<a href="../AuthDomain.html" title="class in org.apache.jena.http.auth">AuthDomain</a>&nbsp;location)</code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code><a href="../PasswordRecord.html" title="class in org.apache.jena.http.auth">PasswordRecord</a></code></div>
<div class="col-second odd-row-color"><span class="type-name-label">AuthEnv.</span><code><a href="../AuthEnv.html#getUsernamePassword(java.net.URI)" class="member-name-link">getUsernamePassword</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/URI.html" title="class or interface in java.net" class="external-link">URI</a>&nbsp;uri)</code></div>
<div class="col-last odd-row-color">
<div class="block">Return the (username, password) for a <code>URI</code>.</div>
</div>
</div>
<div class="caption"><span>Methods in <a href="../package-summary.html">org.apache.jena.http.auth</a> with parameters of type <a href="../PasswordRecord.html" title="class in org.apache.jena.http.auth">PasswordRecord</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>void</code></div>
<div class="col-second even-row-color"><span class="type-name-label">AuthCredentials.</span><code><a href="../AuthCredentials.html#put(org.apache.jena.http.auth.AuthDomain,org.apache.jena.http.auth.PasswordRecord)" class="member-name-link">put</a><wbr>(<a href="../AuthDomain.html" title="class in org.apache.jena.http.auth">AuthDomain</a>&nbsp;location,
 <a href="../PasswordRecord.html" title="class in org.apache.jena.http.auth">PasswordRecord</a>&nbsp;pwRecord)</code></div>
<div class="col-last even-row-color">&nbsp;</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>
