001/*
002 * Licensed to DuraSpace under one or more contributor license agreements.
003 * See the NOTICE file distributed with this work for additional information
004 * regarding copyright ownership.
005 *
006 * DuraSpace licenses this file to you under the Apache License,
007 * Version 2.0 (the "License"); you may not use this file except in
008 * compliance with the License.  You may obtain a copy of the License at
009 *
010 *     http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing, software
013 * distributed under the License is distributed on an "AS IS" BASIS,
014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015 * See the License for the specific language governing permissions and
016 * limitations under the License.
017 */
018package org.fcrepo.auth.webac;
019
020import org.fcrepo.kernel.api.RdfLexicon;
021
022import java.net.URI;
023
024/**
025 * URIs used by the WebAC module.
026 *
027 * @author Peter Eichman
028 * @author whikloj
029 * @since Aug 25, 2015
030 * @see <a href="http://www.w3.org/wiki/WebAccessControl/Vocabulary">
031 *      http://www.w3.org/wiki/WebAccessControl/Vocabulary</a>
032 * @see <a href="http://www.w3.org/ns/auth/acl">http://www.w3.org/ns/auth/acl</a>
033 * @see <a href="http://fedora.info/definitions/v4/webac">http://fedora.info/definitions/v4/webac</a>
034 */
035final public class URIConstants {
036
037    /**
038     * Namespace for the W3C WebAC vocabulary.
039     */
040    public static final String WEBAC_NAMESPACE_VALUE = RdfLexicon.WEBAC_NAMESPACE_VALUE;
041
042    /**
043     * Read access mode.
044     */
045    public static final String WEBAC_MODE_READ_VALUE = WEBAC_NAMESPACE_VALUE + "Read";
046
047    /**
048     * Read access mode.
049     */
050    public static final URI WEBAC_MODE_READ = URI.create(WEBAC_MODE_READ_VALUE);
051
052    /**
053     * Write access mode.
054     */
055    public static final String WEBAC_MODE_WRITE_VALUE = WEBAC_NAMESPACE_VALUE + "Write";
056
057    /**
058     * Write access mode.
059     */
060    public static final URI WEBAC_MODE_WRITE = URI.create(WEBAC_MODE_WRITE_VALUE);
061
062    /**
063     * Append access mode.
064     */
065    private static final String WEBAC_MODE_APPEND_VALUE = WEBAC_NAMESPACE_VALUE + "Append";
066
067    /**
068     * Append access mode.
069     */
070    public static final URI WEBAC_MODE_APPEND = URI.create(WEBAC_MODE_APPEND_VALUE);
071
072    /**
073     * Control access mode.
074     */
075    private static final String WEBAC_MODE_CONTROL_VALUE = WEBAC_NAMESPACE_VALUE + "Control";
076
077    /**
078     * Control access mode.
079     */
080    public static final URI WEBAC_MODE_CONTROL = URI.create(WEBAC_MODE_CONTROL_VALUE);
081
082    /**
083     * Authorization class.
084     */
085    public static final String WEBAC_AUTHORIZATION_VALUE = WEBAC_NAMESPACE_VALUE + "Authorization";
086
087    /**
088     * WebAC agent
089     */
090    public static final String WEBAC_AGENT_VALUE = WEBAC_NAMESPACE_VALUE + "agent";
091
092    /**
093     * WebAC agentClass
094     */
095    public static final String WEBAC_AGENT_CLASS_VALUE = WEBAC_NAMESPACE_VALUE + "agentClass";
096
097    /**
098     * WebAC agentGroup
099     */
100    public static final String WEBAC_AGENT_GROUP_VALUE = WEBAC_NAMESPACE_VALUE + "agentGroup";
101
102    /**
103     * WebAC accessTo
104     */
105    public static final String WEBAC_ACCESSTO_VALUE = WEBAC_NAMESPACE_VALUE + "accessTo";
106
107    /**
108     * WebAC accessToClass
109     */
110    public static final String WEBAC_ACCESSTO_CLASS_VALUE = WEBAC_NAMESPACE_VALUE + "accessToClass";
111
112    /**
113     * WebAC default
114     */
115    public static final String WEBAC_DEFAULT_VALUE = WEBAC_NAMESPACE_VALUE + "default";
116
117    /**
118     * WebAC accessControl
119     */
120    public static final String WEBAC_ACCESS_CONTROL_VALUE = RdfLexicon.WEBAC_ACCESS_CONTROL_VALUE;
121
122    /**
123     * WebAC mode
124     */
125    public static final String WEBAC_MODE_VALUE = WEBAC_NAMESPACE_VALUE + "mode";
126
127    /**
128     * WebAC AuthenticatedAgent
129     */
130    public static final String WEBAC_AUTHENTICATED_AGENT_VALUE = WEBAC_NAMESPACE_VALUE + "AuthenticatedAgent";
131
132    /**
133     * FOAF Namespace
134     */
135    private static final String FOAF_NAMESPACE_VALUE = "http://xmlns.com/foaf/0.1/";
136
137    /**
138     * FOAF Agent
139     */
140    public static final String FOAF_AGENT_VALUE = FOAF_NAMESPACE_VALUE + "Agent";
141
142    /**
143     * vCard Namespace
144     */
145    private static final String VCARD_NAMESPACE_VALUE = "http://www.w3.org/2006/vcard/ns#";
146
147    /**
148     * vCard Group
149     */
150    public static final String VCARD_GROUP_VALUE = VCARD_NAMESPACE_VALUE + "Group";
151    public static final URI VCARD_GROUP = URI.create(VCARD_GROUP_VALUE);
152
153    /**
154     * vCard member
155     */
156    public static final String VCARD_MEMBER_VALUE = VCARD_NAMESPACE_VALUE + "hasMember";
157
158    private URIConstants() {
159    }
160
161}