blob: 347ba7aa551af36efec553e59d90bdbb4bf3af28 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>ExampleEvaluator (Apache Jena - Security Permissions 5.0.0)</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="declaration: package: org.apache.jena.permissions.example, class: ExampleEvaluator">
<meta name="generator" content="javadoc/ClassWriterImpl">
<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-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
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="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/ExampleEvaluator.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li><a href="#nested-class-summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<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">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.jena.permissions.example</a></div>
<h1 title="Class ExampleEvaluator" class="title">Class ExampleEvaluator</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">org.apache.jena.permissions.example.ExampleEvaluator</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../SecurityEvaluator.html" title="interface in org.apache.jena.permissions">SecurityEvaluator</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">ExampleEvaluator</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
implements <a href="../SecurityEvaluator.html" title="interface in org.apache.jena.permissions">SecurityEvaluator</a></span></div>
<div class="block">An example evaluator that only provides access to messages in the graph that
are from or to the principal.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="inherited-list">
<h2 id="nested-classes-inherited-from-class-org.apache.jena.permissions.SecurityEvaluator">Nested classes/interfaces inherited from interface&nbsp;org.apache.jena.permissions.<a href="../SecurityEvaluator.html" title="interface in org.apache.jena.permissions">SecurityEvaluator</a></h2>
<code><a href="../SecurityEvaluator.Action.html" title="enum in org.apache.jena.permissions">SecurityEvaluator.Action</a>, <a href="../SecurityEvaluator.Util.html" title="class in org.apache.jena.permissions">SecurityEvaluator.Util</a></code></div>
</section>
</li>
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-org.apache.jena.permissions.SecurityEvaluator">Fields inherited from interface&nbsp;org.apache.jena.permissions.<a href="../SecurityEvaluator.html" title="interface in org.apache.jena.permissions">SecurityEvaluator</a></h3>
<code><a href="../SecurityEvaluator.html#FUTURE">FUTURE</a>, <a href="../SecurityEvaluator.html#VARIABLE">VARIABLE</a></code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(org.apache.jena.rdf.model.Model)" class="member-name-link">ExampleEvaluator</a><wbr>(<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/rdf/model/Model.html" title="class or interface in org.apache.jena.rdf.model" class="external-link">Model</a>&nbsp;model)</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<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 method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#evaluate(java.lang.Object,java.util.Set,org.apache.jena.graph.Node)" class="member-name-link">evaluate</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;principal,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="../SecurityEvaluator.Action.html" title="enum in org.apache.jena.permissions">SecurityEvaluator.Action</a>&gt;&nbsp;actions,
<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/graph/Node.html" title="class or interface in org.apache.jena.graph" class="external-link">Node</a>&nbsp;graphIRI)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Determine if all actions are allowed on the graph.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#evaluate(java.lang.Object,java.util.Set,org.apache.jena.graph.Node,org.apache.jena.graph.Triple)" class="member-name-link">evaluate</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;principal,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="../SecurityEvaluator.Action.html" title="enum in org.apache.jena.permissions">SecurityEvaluator.Action</a>&gt;&nbsp;actions,
<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/graph/Node.html" title="class or interface in org.apache.jena.graph" class="external-link">Node</a>&nbsp;graphIRI,
<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/graph/Triple.html" title="class or interface in org.apache.jena.graph" class="external-link">Triple</a>&nbsp;triple)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Determine if all the actions are allowed on the triple within the graph.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#evaluate(java.lang.Object,org.apache.jena.permissions.SecurityEvaluator.Action,org.apache.jena.graph.Node)" class="member-name-link">evaluate</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;principal,
<a href="../SecurityEvaluator.Action.html" title="enum in org.apache.jena.permissions">SecurityEvaluator.Action</a>&nbsp;action,
<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/graph/Node.html" title="class or interface in org.apache.jena.graph" class="external-link">Node</a>&nbsp;graphIRI)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Determine if the action is allowed on the graph.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#evaluate(java.lang.Object,org.apache.jena.permissions.SecurityEvaluator.Action,org.apache.jena.graph.Node,org.apache.jena.graph.Triple)" class="member-name-link">evaluate</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;principal,
<a href="../SecurityEvaluator.Action.html" title="enum in org.apache.jena.permissions">SecurityEvaluator.Action</a>&nbsp;action,
<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/graph/Node.html" title="class or interface in org.apache.jena.graph" class="external-link">Node</a>&nbsp;graphIRI,
<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/graph/Triple.html" title="class or interface in org.apache.jena.graph" class="external-link">Triple</a>&nbsp;triple)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Determine if the action is allowed on the triple within the graph.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#evaluateAny(java.lang.Object,java.util.Set,org.apache.jena.graph.Node)" class="member-name-link">evaluateAny</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;principal,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="../SecurityEvaluator.Action.html" title="enum in org.apache.jena.permissions">SecurityEvaluator.Action</a>&gt;&nbsp;actions,
<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/graph/Node.html" title="class or interface in org.apache.jena.graph" class="external-link">Node</a>&nbsp;graphIRI)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Determine if any of the actions are allowed on the graph.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#evaluateAny(java.lang.Object,java.util.Set,org.apache.jena.graph.Node,org.apache.jena.graph.Triple)" class="member-name-link">evaluateAny</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;principal,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="../SecurityEvaluator.Action.html" title="enum in org.apache.jena.permissions">SecurityEvaluator.Action</a>&gt;&nbsp;actions,
<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/graph/Node.html" title="class or interface in org.apache.jena.graph" class="external-link">Node</a>&nbsp;graphIRI,
<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/graph/Triple.html" title="class or interface in org.apache.jena.graph" class="external-link">Triple</a>&nbsp;triple)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Determine if any of the actions are allowed on the triple within the graph.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#evaluateUpdate(java.lang.Object,org.apache.jena.graph.Node,org.apache.jena.graph.Triple,org.apache.jena.graph.Triple)" class="member-name-link">evaluateUpdate</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;principal,
<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/graph/Node.html" title="class or interface in org.apache.jena.graph" class="external-link">Node</a>&nbsp;graphIRI,
<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/graph/Triple.html" title="class or interface in org.apache.jena.graph" class="external-link">Triple</a>&nbsp;from,
<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/graph/Triple.html" title="class or interface in org.apache.jena.graph" class="external-link">Triple</a>&nbsp;to)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Determine if the user is allowed to update the "from" triple to the "to"
triple.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/security/Principal.html" title="class or interface in java.security" class="external-link">Principal</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getPrincipal()" class="member-name-link">getPrincipal</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">returns the current principal or null if there is no current principal.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isPrincipalAuthenticated(java.lang.Object)" class="member-name-link">isPrincipalAuthenticated</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;principal)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns true if the principal is recognized as an authenticated principal by
the underlying authentication mechanism.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setPrincipal(java.lang.String)" class="member-name-link">setPrincipal</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;userName)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-" title="class or interface in java.lang" class="external-link">wait</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.jena.permissions.SecurityEvaluator">Methods inherited from interface&nbsp;org.apache.jena.permissions.<a href="../SecurityEvaluator.html" title="interface in org.apache.jena.permissions">SecurityEvaluator</a></h3>
<code><a href="../SecurityEvaluator.html#isHardReadError()">isHardReadError</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(org.apache.jena.rdf.model.Model)">
<h3>ExampleEvaluator</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ExampleEvaluator</span><wbr><span class="parameters">(<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/rdf/model/Model.html" title="class or interface in org.apache.jena.rdf.model" class="external-link">Model</a>&nbsp;model)</span></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>model</code> - The graph we are going to evaluate against.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="evaluate(java.lang.Object,org.apache.jena.permissions.SecurityEvaluator.Action,org.apache.jena.graph.Node)">
<h3>evaluate</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">evaluate</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;principal,
<a href="../SecurityEvaluator.Action.html" title="enum in org.apache.jena.permissions">SecurityEvaluator.Action</a>&nbsp;action,
<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/graph/Node.html" title="class or interface in org.apache.jena.graph" class="external-link">Node</a>&nbsp;graphIRI)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../SecurityEvaluator.html#evaluate(java.lang.Object,org.apache.jena.permissions.SecurityEvaluator.Action,org.apache.jena.graph.Node)">SecurityEvaluator</a></code></span></div>
<div class="block">Determine if the action is allowed on the graph.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../SecurityEvaluator.html#evaluate(java.lang.Object,org.apache.jena.permissions.SecurityEvaluator.Action,org.apache.jena.graph.Node)">evaluate</a></code>&nbsp;in interface&nbsp;<code><a href="../SecurityEvaluator.html" title="interface in org.apache.jena.permissions">SecurityEvaluator</a></code></dd>
<dt>Parameters:</dt>
<dd><code>principal</code> - The principal that is attempting the action.</dd>
<dd><code>action</code> - The action to perform</dd>
<dd><code>graphIRI</code> - The IRI of the graph to check</dd>
<dt>Returns:</dt>
<dd>true if the action is allowed, false otherwise.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="evaluate(java.lang.Object,org.apache.jena.permissions.SecurityEvaluator.Action,org.apache.jena.graph.Node,org.apache.jena.graph.Triple)">
<h3>evaluate</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">evaluate</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;principal,
<a href="../SecurityEvaluator.Action.html" title="enum in org.apache.jena.permissions">SecurityEvaluator.Action</a>&nbsp;action,
<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/graph/Node.html" title="class or interface in org.apache.jena.graph" class="external-link">Node</a>&nbsp;graphIRI,
<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/graph/Triple.html" title="class or interface in org.apache.jena.graph" class="external-link">Triple</a>&nbsp;triple)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../SecurityEvaluator.html#evaluate(java.lang.Object,org.apache.jena.permissions.SecurityEvaluator.Action,org.apache.jena.graph.Node,org.apache.jena.graph.Triple)">SecurityEvaluator</a></code></span></div>
<div class="block">Determine if the action is allowed on the triple within the graph.
<p>
The evaluation should be performed in the following order:
<ol>
<li>If the triple contains a <code>VARIABLE</code> then this method must
return <code>true</code> if there are any restrictions where the remaining
nodes are either constants or <code>ANY</code> nodes. This will force the
system to use subsequent checks to verify access by substituting the value of
the <code>VARIABLE</code>s. <em>If the system can not quickly verify the
solution it is always acceptable to return <code>true</code>.</em>
<li>Except as specified in the above check, if the triple contains an
<code>ANY</code> then this method must return <code>false</code> if there are
any restrictions where the remaining nodes are held constant and the ANY node
is allowed to vary. This checks is used to avoid subsequent explicit triple
checks. <em>If the system can not quickly verify the solution it is always
acceptable to return <code>false</code>.</em></li>
<li>All other triples are explicit triples and the system must determine if
the user is permitted to perform the action on the triple. If the triple
contains a <code>FUTURE</code> node that node should be considered as an
anonymous or blank node that is not yet created. It should only be used with
<code>Create</code> actions and is asking if the user may create a blank node
in that position in the triple.</li>
</ol></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../SecurityEvaluator.html#evaluate(java.lang.Object,org.apache.jena.permissions.SecurityEvaluator.Action,org.apache.jena.graph.Node,org.apache.jena.graph.Triple)">evaluate</a></code>&nbsp;in interface&nbsp;<code><a href="../SecurityEvaluator.html" title="interface in org.apache.jena.permissions">SecurityEvaluator</a></code></dd>
<dt>Parameters:</dt>
<dd><code>principal</code> - The principal that is attempting the action.</dd>
<dd><code>action</code> - The action to perform</dd>
<dd><code>graphIRI</code> - The IRI of the graph to the action is being taken upon. May
be <code>ANY</code>.</dd>
<dd><code>triple</code> - The triple to check</dd>
<dt>Returns:</dt>
<dd>true if the action is allowed, false otherwise.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="evaluate(java.lang.Object,java.util.Set,org.apache.jena.graph.Node)">
<h3>evaluate</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">evaluate</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;principal,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="../SecurityEvaluator.Action.html" title="enum in org.apache.jena.permissions">SecurityEvaluator.Action</a>&gt;&nbsp;actions,
<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/graph/Node.html" title="class or interface in org.apache.jena.graph" class="external-link">Node</a>&nbsp;graphIRI)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../SecurityEvaluator.html#evaluate(java.lang.Object,java.util.Set,org.apache.jena.graph.Node)">SecurityEvaluator</a></code></span></div>
<div class="block">Determine if all actions are allowed on the graph.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../SecurityEvaluator.html#evaluate(java.lang.Object,java.util.Set,org.apache.jena.graph.Node)">evaluate</a></code>&nbsp;in interface&nbsp;<code><a href="../SecurityEvaluator.html" title="interface in org.apache.jena.permissions">SecurityEvaluator</a></code></dd>
<dt>Parameters:</dt>
<dd><code>principal</code> - The principal that is attempting the action.</dd>
<dd><code>actions</code> - The set of actions to perform</dd>
<dd><code>graphIRI</code> - The IRI of the graph to the action is being taken upon. May
be <code>ANY</code>.</dd>
<dt>Returns:</dt>
<dd>true if all the actions are allowed, false otherwise.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="evaluate(java.lang.Object,java.util.Set,org.apache.jena.graph.Node,org.apache.jena.graph.Triple)">
<h3>evaluate</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">evaluate</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;principal,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="../SecurityEvaluator.Action.html" title="enum in org.apache.jena.permissions">SecurityEvaluator.Action</a>&gt;&nbsp;actions,
<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/graph/Node.html" title="class or interface in org.apache.jena.graph" class="external-link">Node</a>&nbsp;graphIRI,
<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/graph/Triple.html" title="class or interface in org.apache.jena.graph" class="external-link">Triple</a>&nbsp;triple)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../SecurityEvaluator.html#evaluate(java.lang.Object,java.util.Set,org.apache.jena.graph.Node,org.apache.jena.graph.Triple)">SecurityEvaluator</a></code></span></div>
<div class="block">Determine if all the actions are allowed on the triple within the graph.
<p>
See evaluate( Action, Node, Triple ) for discussion of evaluation strategy.
</p></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../SecurityEvaluator.html#evaluate(java.lang.Object,java.util.Set,org.apache.jena.graph.Node,org.apache.jena.graph.Triple)">evaluate</a></code>&nbsp;in interface&nbsp;<code><a href="../SecurityEvaluator.html" title="interface in org.apache.jena.permissions">SecurityEvaluator</a></code></dd>
<dd><code>actions</code> - The actions to perform.</dd>
<dd><code>graphIRI</code> - The IRI of the graph to the action is being taken upon. May
be <code>ANY</code>.</dd>
<dd><code>triple</code> - The triple to check</dd>
<dt>Returns:</dt>
<dd>true if all the actions are allowed, false otherwise.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="evaluateAny(java.lang.Object,java.util.Set,org.apache.jena.graph.Node)">
<h3>evaluateAny</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">evaluateAny</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;principal,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="../SecurityEvaluator.Action.html" title="enum in org.apache.jena.permissions">SecurityEvaluator.Action</a>&gt;&nbsp;actions,
<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/graph/Node.html" title="class or interface in org.apache.jena.graph" class="external-link">Node</a>&nbsp;graphIRI)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../SecurityEvaluator.html#evaluateAny(java.lang.Object,java.util.Set,org.apache.jena.graph.Node)">SecurityEvaluator</a></code></span></div>
<div class="block">Determine if any of the actions are allowed on the graph.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../SecurityEvaluator.html#evaluateAny(java.lang.Object,java.util.Set,org.apache.jena.graph.Node)">evaluateAny</a></code>&nbsp;in interface&nbsp;<code><a href="../SecurityEvaluator.html" title="interface in org.apache.jena.permissions">SecurityEvaluator</a></code></dd>
<dt>Parameters:</dt>
<dd><code>principal</code> - The principal that is attempting the action.</dd>
<dd><code>actions</code> - The actions to perform</dd>
<dd><code>graphIRI</code> - The IRI of the graph to the action is being taken upon. May
be <code>ANY</code>.</dd>
<dt>Returns:</dt>
<dd>true true if any the actions are allowed, false otherwise.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="evaluateAny(java.lang.Object,java.util.Set,org.apache.jena.graph.Node,org.apache.jena.graph.Triple)">
<h3>evaluateAny</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">evaluateAny</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;principal,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="../SecurityEvaluator.Action.html" title="enum in org.apache.jena.permissions">SecurityEvaluator.Action</a>&gt;&nbsp;actions,
<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/graph/Node.html" title="class or interface in org.apache.jena.graph" class="external-link">Node</a>&nbsp;graphIRI,
<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/graph/Triple.html" title="class or interface in org.apache.jena.graph" class="external-link">Triple</a>&nbsp;triple)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../SecurityEvaluator.html#evaluateAny(java.lang.Object,java.util.Set,org.apache.jena.graph.Node,org.apache.jena.graph.Triple)">SecurityEvaluator</a></code></span></div>
<div class="block">Determine if any of the actions are allowed on the triple within the graph.
<p>
See evaluate( Action, Node, Triple ) for discussion of evaluation strategy.
</p></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../SecurityEvaluator.html#evaluateAny(java.lang.Object,java.util.Set,org.apache.jena.graph.Node,org.apache.jena.graph.Triple)">evaluateAny</a></code>&nbsp;in interface&nbsp;<code><a href="../SecurityEvaluator.html" title="interface in org.apache.jena.permissions">SecurityEvaluator</a></code></dd>
<dt>Parameters:</dt>
<dd><code>principal</code> - The principal that is attempting the action.</dd>
<dd><code>actions</code> - The actions to check.</dd>
<dd><code>graphIRI</code> - The IRI of the graph to the action is being taken upon. May
be <code>ANY</code>.</dd>
<dd><code>triple</code> - The triple to check</dd>
<dt>Returns:</dt>
<dd>true if any the actions are allowed, false otherwise.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="evaluateUpdate(java.lang.Object,org.apache.jena.graph.Node,org.apache.jena.graph.Triple,org.apache.jena.graph.Triple)">
<h3>evaluateUpdate</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">evaluateUpdate</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;principal,
<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/graph/Node.html" title="class or interface in org.apache.jena.graph" class="external-link">Node</a>&nbsp;graphIRI,
<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/graph/Triple.html" title="class or interface in org.apache.jena.graph" class="external-link">Triple</a>&nbsp;from,
<a href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/graph/Triple.html" title="class or interface in org.apache.jena.graph" class="external-link">Triple</a>&nbsp;to)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../SecurityEvaluator.html#evaluateUpdate(java.lang.Object,org.apache.jena.graph.Node,org.apache.jena.graph.Triple,org.apache.jena.graph.Triple)">SecurityEvaluator</a></code></span></div>
<div class="block">Determine if the user is allowed to update the "from" triple to the "to"
triple.
<p>
Update is a special case since it modifies one triple to be another. So the
user must have permissions to change the "from" triple into the "to" triple.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../SecurityEvaluator.html#evaluateUpdate(java.lang.Object,org.apache.jena.graph.Node,org.apache.jena.graph.Triple,org.apache.jena.graph.Triple)">evaluateUpdate</a></code>&nbsp;in interface&nbsp;<code><a href="../SecurityEvaluator.html" title="interface in org.apache.jena.permissions">SecurityEvaluator</a></code></dd>
<dt>Parameters:</dt>
<dd><code>principal</code> - The principal that is attempting the action.</dd>
<dd><code>graphIRI</code> - The IRI of the graph to the action is being taken upon. May
be <code>ANY</code>.</dd>
<dd><code>from</code> - The triple to be changed</dd>
<dd><code>to</code> - The value to change it to.</dd>
<dt>Returns:</dt>
<dd>true if the user may make the change, false otherwise.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setPrincipal(java.lang.String)">
<h3>setPrincipal</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setPrincipal</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;userName)</span></div>
</section>
</li>
<li>
<section class="detail" id="getPrincipal()">
<h3>getPrincipal</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/security/Principal.html" title="class or interface in java.security" class="external-link">Principal</a></span>&nbsp;<span class="element-name">getPrincipal</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../SecurityEvaluator.html#getPrincipal()">SecurityEvaluator</a></code></span></div>
<div class="block">returns the current principal or null if there is no current principal.
All security evaluation methods use this method to determine who the call is
being executed as. This allows subsystems (like the listener system) to
capture the current user and evaluate later calls in terms of that user.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../SecurityEvaluator.html#getPrincipal()">getPrincipal</a></code>&nbsp;in interface&nbsp;<code><a href="../SecurityEvaluator.html" title="interface in org.apache.jena.permissions">SecurityEvaluator</a></code></dd>
<dt>Returns:</dt>
<dd>The current principal</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isPrincipalAuthenticated(java.lang.Object)">
<h3>isPrincipalAuthenticated</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isPrincipalAuthenticated</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;principal)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../SecurityEvaluator.html#isPrincipalAuthenticated(java.lang.Object)">SecurityEvaluator</a></code></span></div>
<div class="block">Returns true if the principal is recognized as an authenticated principal by
the underlying authentication mechanism.
This is to handle the case where an authentication mechanism returns a
non-null object to indicate a non-authenticated principal. (e.g. Shiro).
The principal is guaranteed to have been the return value from an earlier
getPrincipal() call.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../SecurityEvaluator.html#isPrincipalAuthenticated(java.lang.Object)">isPrincipalAuthenticated</a></code>&nbsp;in interface&nbsp;<code><a href="../SecurityEvaluator.html" title="interface in org.apache.jena.permissions">SecurityEvaluator</a></code></dd>
<dt>Parameters:</dt>
<dd><code>principal</code> - The principal to check.</dd>
<dt>Returns:</dt>
<dd>true if authenticated, false if not.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</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>