This project has retired. For details please refer to its
Attic page.
DefaultUnversionedDocumentTypeHandler xref
1/*2 * Licensed to the Apache Software Foundation (ASF) under one3 * or more contributor license agreements. See the NOTICE file4 * distributed with this work for additional information5 * regarding copyright ownership. The ASF licenses this file6 * to you under the Apache License, Version 2.0 (the7 * "License"); you may not use this file except in compliance8 * with the License. You may obtain a copy of the License at9 *10 * http://www.apache.org/licenses/LICENSE-2.011 *12 * Unless required by applicable law or agreed to in writing,13 * software distributed under the License is distributed on an14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY15 * KIND, either express or implied. See the License for the16 * specific language governing permissions and limitations17 * under the License.18 */19package org.apache.chemistry.opencmis.jcr.impl;
2021import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
22import org.apache.chemistry.opencmis.commons.enums.ContentStreamAllowed;
23import org.apache.chemistry.opencmis.commons.impl.dataobjects.DocumentTypeDefinitionImpl;
24import org.apache.chemistry.opencmis.jcr.JcrDocument;
25import org.apache.chemistry.opencmis.jcr.JcrTypeManager;
26import org.apache.chemistry.opencmis.jcr.JcrUnversionedDocument;
27import org.apache.chemistry.opencmis.jcr.query.IdentifierMap;
2829import javax.jcr.Node;
30import javax.jcr.RepositoryException;
31import javax.jcr.nodetype.NodeType;
3233/**34 * Type handler that provides cmis:unversioned-document.35 */36publicclassDefaultUnversionedDocumentTypeHandlerextendsDefaultDocumentTypeHandler {
3738publicstaticfinal String DOCUMENT_UNVERSIONED_TYPE_ID = "cmis:unversioned-document";
3940 @Override
41public String getTypeId() {
42return DOCUMENT_UNVERSIONED_TYPE_ID;
43 }
4445 @Override
46public TypeDefinition getTypeDefinition() {
4748 DocumentTypeDefinitionImpl unversionedDocument = new DocumentTypeDefinitionImpl();
49 unversionedDocument.initialize(super.getTypeDefinition());
5051 unversionedDocument.setDescription("Unversioned document");
52 unversionedDocument.setDisplayName("Unversioned document");
53 unversionedDocument.setLocalName("Unversioned document");
54 unversionedDocument.setIsQueryable(true);
55 unversionedDocument.setQueryName(DOCUMENT_UNVERSIONED_TYPE_ID);
56 unversionedDocument.setId(DOCUMENT_UNVERSIONED_TYPE_ID);
57 unversionedDocument.setParentTypeId(JcrTypeManager.DOCUMENT_TYPE_ID);
5859 unversionedDocument.setIsVersionable(false);
60 unversionedDocument.setContentStreamAllowed(ContentStreamAllowed.ALLOWED);
6162 JcrTypeManager.addBasePropertyDefinitions(unversionedDocument);
63 JcrTypeManager.addDocumentPropertyDefinitions(unversionedDocument);
6465return unversionedDocument;
66 }
6768 @Override
69publicIdentifierMap getIdentifierMap() {
70returnnewDefaultDocumentIdentifierMap(false);
71 }
7273 @Override
74publicboolean canHandle(Node node) throws RepositoryException {
75return node.isNodeType(NodeType.NT_FILE) && !node.isNodeType(NodeType.MIX_SIMPLE_VERSIONABLE);
76 }
7778 @Override
79publicJcrDocument getJcrNode(Node node) {
80returnnewJcrUnversionedDocument(node, typeManager, pathManager, typeHandlerManager);
81 }
82 }