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