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.kernel.api;
017
018import static com.google.common.collect.ImmutableList.of;
019import java.util.List;
020
021/**
022 * Convenience class with constants for commonly used JCR types.
023 *
024 * @author ajs6f
025 * @since Apr 25, 2013
026 */
027public interface FedoraJcrTypes {
028
029    String FEDORA_RESOURCE = "fedora:Resource";
030
031    String FEDORA_NON_RDF_SOURCE_DESCRIPTION = "fedora:NonRdfSourceDescription";
032
033    String FEDORA_BINARY = "fedora:Binary";
034
035    String FEDORA_PAIRTREE = "fedora:Pairtree";
036
037    String FEDORA_TOMBSTONE = "fedora:Tombstone";
038
039    String FEDORA_SKOLEM = "fedora:Skolem";
040
041    String FEDORA_CONTAINER = "fedora:Container";
042
043    String LDP_BASIC_CONTAINER = "ldp:BasicContainer";
044
045    String LDP_DIRECT_CONTAINER = "ldp:DirectContainer";
046
047    String LDP_INDIRECT_CONTAINER = "ldp:IndirectContainer";
048
049    String LDP_INSERTED_CONTENT_RELATION = "ldp:insertedContentRelation";
050
051    String JCR_LASTMODIFIED = "jcr:lastModified";
052
053    String JCR_CONTENT = "jcr:content";
054
055    String JCR_CREATED = "jcr:created";
056
057    String JCR_CREATEDBY = "jcr:createdBy";
058
059    String FILENAME = "ebucore:filename";
060
061    String HAS_MIME_TYPE = "ebucore:hasMimeType";
062
063    String CONTENT_SIZE = "premis:hasSize";
064
065    String CONTENT_DIGEST = "premis:hasMessageDigest";
066
067    String FCR_METADATA = "fcr:metadata";
068
069    String FCR_VERSIONS = "fcr:versions";
070
071    String ROOT = "mode:root";
072
073    String FROZEN_NODE = "nt:frozenNode";
074
075    String JCR_FROZEN_NODE = "jcr:frozenNode";
076
077    String FROZEN_MIXIN_TYPES = "jcr:frozenMixinTypes";
078
079    String JCR_PRIMARY_TYPE = "jcr:primaryType";
080
081    String JCR_MIXIN_TYPES = "jcr:mixinTypes";
082
083    String VERSIONABLE = "mix:versionable";
084
085    String LDP_HAS_MEMBER_RELATION = "ldp:hasMemberRelation";
086    String LDP_IS_MEMBER_OF_RELATION = "ldp:isMemberOfRelation";
087    String LDP_MEMBER_RESOURCE = "ldp:membershipResource";
088
089    List<String> EXPOSED_PROTECTED_JCR_TYPES = of(JCR_LASTMODIFIED, JCR_CREATED, JCR_CREATEDBY,
090            JCR_PRIMARY_TYPE, JCR_MIXIN_TYPES);
091}