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 java.net.URI;
021
022/**
023 * URIs used by the WebAC module.
024 *
025 * @author Peter Eichman
026 * @author whikloj
027 * @since Aug 25, 2015
028 * @see <a href="http://www.w3.org/wiki/WebAccessControl/Vocabulary">
029 *      http://www.w3.org/wiki/WebAccessControl/Vocabulary</a>
030 * @see <a href="http://www.w3.org/ns/auth/acl">http://www.w3.org/ns/auth/acl</a>
031 * @see <a href="http://fedora.info/definitions/v4/webac">http://fedora.info/definitions/v4/webac</a>
032 */
033final public class URIConstants {
034
035    /**
036     * Namespace for the W3C WebAC vocabulary.
037     */
038    public static final String WEBAC_NAMESPACE_VALUE = "http://www.w3.org/ns/auth/acl#";
039
040    /**
041     * Namespace for the W3C WebAC vocabulary.
042     */
043    public static final URI WEBAC_NAMESPACE = URI.create(WEBAC_NAMESPACE_VALUE);
044
045    /**
046     * Read access mode.
047     */
048    public static final String WEBAC_MODE_READ_VALUE = WEBAC_NAMESPACE_VALUE + "Read";
049
050    /**
051     * Read access mode.
052     */
053    public static final URI WEBAC_MODE_READ = URI.create(WEBAC_MODE_READ_VALUE);
054
055    /**
056     * Write access mode.
057     */
058    public static final String WEBAC_MODE_WRITE_VALUE = WEBAC_NAMESPACE_VALUE + "Write";
059
060    /**
061     * Write access mode.
062     */
063    public static final URI WEBAC_MODE_WRITE = URI.create(WEBAC_MODE_WRITE_VALUE);
064
065    /**
066     * Append access mode.
067     */
068    public static final String WEBAC_MODE_APPEND_VALUE = WEBAC_NAMESPACE_VALUE + "Append";
069
070    /**
071     * Append access mode.
072     */
073    public static final URI WEBAC_MODE_APPEND = URI.create(WEBAC_MODE_APPEND_VALUE);
074
075    /**
076     * Control access mode.
077     */
078    public static final String WEBAC_MODE_CONTROL_VALUE = WEBAC_NAMESPACE_VALUE + "Control";
079
080    /**
081     * Control access mode.
082     */
083    public static final URI WEBAC_MODE_CONTROL = URI.create(WEBAC_MODE_CONTROL_VALUE);
084
085    /**
086     * Authorization class.
087     */
088    public static final String WEBAC_AUTHORIZATION_VALUE = WEBAC_NAMESPACE_VALUE + "Authorization";
089    public static final URI WEBAC_AUTHORIZATION = URI.create(WEBAC_AUTHORIZATION_VALUE);
090
091    /**
092     * WebAC agent
093     */
094    public static final String WEBAC_AGENT_VALUE = WEBAC_NAMESPACE_VALUE + "agent";
095    public static final URI WEBAC_AGENT = URI.create(WEBAC_AGENT_VALUE);
096
097    /**
098     * WebAC agentClass
099     */
100    public static final String WEBAC_AGENT_CLASS_VALUE = WEBAC_NAMESPACE_VALUE + "agentClass";
101    public static final URI WEBAC_AGENT_CLASS = URI.create(WEBAC_AGENT_CLASS_VALUE);
102
103    /**
104     * WebAC accessTo
105     */
106    public static final String WEBAC_ACCESSTO_VALUE = WEBAC_NAMESPACE_VALUE + "accessTo";
107    public static final URI WEBAC_ACCESSTO = URI.create(WEBAC_ACCESSTO_VALUE);
108
109    /**
110     * WebAC accessToClass
111     */
112    public static final String WEBAC_ACCESSTO_CLASS_VALUE = WEBAC_NAMESPACE_VALUE + "accessToClass";
113    public static final URI WEBAC_ACCESSTO_CLASS = URI.create(WEBAC_ACCESSTO_CLASS_VALUE);
114
115    /**
116     * WebAC accessControl
117     */
118    public static final String WEBAC_ACCESS_CONTROL_VALUE = WEBAC_NAMESPACE_VALUE + "accessControl";
119    public static final URI WEBAC_ACCESS_CONTROL = URI.create(WEBAC_ACCESS_CONTROL_VALUE);
120
121    /**
122     * WebAC mode
123     */
124    public static final String WEBAC_MODE_VALUE = WEBAC_NAMESPACE_VALUE + "mode";
125    public static final URI WEBAC_MODE = URI.create(WEBAC_MODE_VALUE);
126
127    /**
128     * FOAF Namespace
129     */
130    public static final String FOAF_NAMESPACE_VALUE = "http://xmlns.com/foaf/0.1/";
131    public static final URI FOAF_NAMESPACE = URI.create(FOAF_NAMESPACE_VALUE);
132
133    /**
134     * FOAF Agent
135     */
136    public static final String FOAF_AGENT_VALUE = FOAF_NAMESPACE_VALUE + "Agent";
137    public static final URI FOAF_AGENT = URI.create(FOAF_AGENT_VALUE);
138
139    /**
140     * FOAF member
141     */
142    public static final String FOAF_MEMBER_VALUE = FOAF_NAMESPACE_VALUE + "member";
143    public static final URI FOAF_MEMBER = URI.create(FOAF_MEMBER_VALUE);
144
145    /**
146     * FOAF Group
147     */
148    public static final String FOAF_GROUP_VALUE = FOAF_NAMESPACE_VALUE + "Group";
149    public static final URI FOAF_GROUP = URI.create(FOAF_GROUP_VALUE);
150
151
152    /**
153     * Fedora WebAC Namespace
154     */
155    public static final String FEDORA_WEBAC_NAMESPACE_VALUE = "http://fedora.info/definitions/v4/webac#";
156    public static final URI FEDORA_WEBAC_NAMESPACE = URI.create(FEDORA_WEBAC_NAMESPACE_VALUE);
157
158    /**
159     * Fedora ACL
160     */
161    public static final String FEDORA_WEBAC_ACL_VALUE = FEDORA_WEBAC_NAMESPACE_VALUE + "Acl";
162    public static final URI FEDORA_WEBAC_ACL = URI.create(FEDORA_WEBAC_ACL_VALUE);
163
164    private URIConstants() {
165    }
166
167}