public interface SecurityContext
SecurityContext is the things actor (user, role) is allowed to do.
Currently version: the set of graphs, by graph name, they can access.
It can be inverted into a "deny" policy with Predicate.negate().| Modifier and Type | Field and Description |
|---|---|
static SecurityContext |
ALL |
static Node |
allGraphs |
static Node |
allGraphsStr |
static Node |
allNamedGraphs |
static Node |
allNamedGraphsStr |
static SecurityContext |
NONE |
| Modifier and Type | Method and Description |
|---|---|
static SecurityContext |
ALL_NG(DatasetGraph dsg) |
QueryExecution |
createQueryExecution(Query query,
DatasetGraph dsg) |
default QueryExecution |
createQueryExecution(String queryString,
DatasetGraph dsg) |
default void |
filterTDB(DatasetGraph dsg,
QueryExecution qExec)
|
Predicate<Quad> |
predicateQuad()
Quad filter to reflect the security policy of this
SecurityContext. |
boolean |
visableDefaultGraph() |
default Collection<String> |
visibleGraphNames()
Collection of visible graph URI names.
|
Collection<Node> |
visibleGraphs()
Collection of visible graph names.
|
static final SecurityContext NONE
static final SecurityContext ALL
static final Node allGraphs
static final Node allNamedGraphs
static final Node allNamedGraphsStr
static final Node allGraphsStr
static SecurityContext ALL_NG(DatasetGraph dsg)
Collection<Node> visibleGraphs()
default Collection<String> visibleGraphNames()
boolean visableDefaultGraph()
default QueryExecution createQueryExecution(String queryString, DatasetGraph dsg)
QueryExecution createQueryExecution(Query query, DatasetGraph dsg)
Predicate<Quad> predicateQuad()
SecurityContext. It is
better to call createQueryExecution(Query, DatasetGraph) which may be more
efficient.default void filterTDB(DatasetGraph dsg, QueryExecution qExec)
DatasetGraph, to the Context of the
QueryExecution. This does not modify the DatasetGraph.
Throws IllegalArgumentException if DatasetGraph is not a TDB1 or TDB2 backed dataset.
May throw UnsupportedOperationException.Licensed under the Apache License, Version 2.0