Skip to content

Commit 0e362e4

Browse files
committed
Add documentation and tests
1 parent f82fd98 commit 0e362e4

File tree

8 files changed

+391
-192
lines changed

8 files changed

+391
-192
lines changed

acp/src/main/java/com/inrupt/client/acp/AccessControl.java

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,42 +20,50 @@
2020
*/
2121
package com.inrupt.client.acp;
2222

23-
import static com.inrupt.client.vocabulary.RDF.type;
23+
import static com.inrupt.client.acp.AccessControlResource.asIRI;
2424

25-
import com.inrupt.client.spi.RDFFactory;
2625
import com.inrupt.client.vocabulary.ACP;
26+
import com.inrupt.client.vocabulary.RDF;
2727
import com.inrupt.rdf.wrapping.commons.ValueMappings;
2828
import com.inrupt.rdf.wrapping.commons.WrapperIRI;
2929

3030
import java.util.Set;
3131

3232
import org.apache.commons.rdf.api.Graph;
3333
import org.apache.commons.rdf.api.IRI;
34-
import org.apache.commons.rdf.api.RDF;
3534
import org.apache.commons.rdf.api.RDFTerm;
3635

36+
/**
37+
* An AccessControl type for use with Access Control Policies.
38+
*
39+
* <p>An access control applies {@link Policy} objects directly to a resource
40+
* via {@code acp:accessControl} or to container members via {@code acp:memberAccessControl}
41+
*/
3742
public class AccessControl extends WrapperIRI {
3843

39-
static final RDF rdf = RDFFactory.getInstance();
44+
/**
45+
* Create a new AccessControl.
46+
*
47+
* @param identifier the access control identifier
48+
* @param graph the underlying graph
49+
*/
50+
public AccessControl(final RDFTerm identifier, final Graph graph) {
51+
super(identifier, graph);
52+
graph.add((IRI) identifier, asIRI(RDF.type), asIRI(ACP.AccessControl));
53+
}
4054

41-
public AccessControl(final RDFTerm original, final Graph graph) {
42-
super(original, graph);
43-
graph.add((IRI) original, rdf.createIRI(type.toString()), rdf.createIRI(ACP.AccessControl.toString()));
55+
public Set<Policy> apply() {
56+
return objects(asIRI(ACP.apply), Policy::asResource, ValueMappings.as(Policy.class));
4457
}
4558

46-
public static IRI asResource(final AccessControl accessControl, final Graph graph) {
47-
graph.add(accessControl, rdf.createIRI(type.toString()), rdf.createIRI(ACP.AccessControl.toString()));
59+
static IRI asResource(final AccessControl accessControl, final Graph graph) {
60+
graph.add(accessControl, asIRI(RDF.type), asIRI(ACP.AccessControl));
4861
accessControl.apply().forEach(policy -> {
49-
graph.add(accessControl, rdf.createIRI(ACP.apply.toString()), policy);
62+
graph.add(accessControl, asIRI(ACP.apply), policy);
5063
Policy.asResource(policy, graph);
5164
});
5265

5366
return accessControl;
5467
}
55-
56-
public Set<Policy> apply() {
57-
return objects(rdf.createIRI(ACP.apply.toString()),
58-
Policy::asResource, ValueMappings.as(Policy.class));
59-
}
6068
}
6169

0 commit comments

Comments
 (0)