1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, 13 * software distributed under the License is distributed on an 14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 * KIND, either express or implied. See the License for the 16 * specific language governing permissions and limitations 17 * under the License. 18 */ 19 package org.apache.chemistry.opencmis.client.api; 20 21 /** 22 * Accessors to CMIS document properties. 23 * 24 * @see CmisObjectProperties 25 */ 26 public interface DocumentProperties { 27 28 /** 29 * Returns <code>true</code> if this CMIS object is immutable (CMIS property 30 * <code>cmis:isImmutable</code>). 31 */ 32 Boolean isImmutable(); 33 34 /** 35 * Returns if this CMIS object is the latest version (CMIS property 36 * <code>cmis:isLatestVersion</code>). 37 */ 38 Boolean isLatestVersion(); 39 40 /** 41 * Returns 42 * <code>true<code> if this CMIS object is the latest version (CMIS property 43 * <code>cmis:isMajorVersion</code>). 44 */ 45 Boolean isMajorVersion(); 46 47 /** 48 * Returns 49 * <code>true</code> if this CMIS object is the latest major version (CMIS property 50 * <code>cmis:isLatestMajorVersion</code>). 51 */ 52 Boolean isLatestMajorVersion(); 53 54 /** 55 * Returns the version label (CMIS property <code>cmis:versionLabel</code>). 56 */ 57 String getVersionLabel(); 58 59 /** 60 * Returns the version series id (CMIS property 61 * <code>cmis:versionSeriesId</code>). 62 */ 63 String getVersionSeriesId(); 64 65 /** 66 * Returns 67 * <code>true</code> if this version series is checked out (CMIS property 68 * <code>cmis:isVersionSeriesCheckedOut</code>). 69 */ 70 Boolean isVersionSeriesCheckedOut(); 71 72 /** 73 * Returns the user who checked out this version series (CMIS property 74 * <code>cmis:versionSeriesCheckedOutBy</code>). 75 */ 76 String getVersionSeriesCheckedOutBy(); 77 78 /** 79 * Returns the PWC id of this version series (CMIS property 80 * <code>cmis:versionSeriesCheckedOutId</code>). 81 */ 82 String getVersionSeriesCheckedOutId(); 83 84 /** 85 * Returns the checkin comment (CMIS property 86 * <code>cmis:checkinComment</code>). 87 */ 88 String getCheckinComment(); 89 90 /** 91 * Returns the content stream length or -1 if the document has no content 92 * (CMIS property <code>cmis:contentStreamLength</code>). 93 */ 94 long getContentStreamLength(); 95 96 /** 97 * Returns the content stream MIME type or <code>null</code> if the document 98 * has no content (CMIS property <code>cmis:contentStreamMimeType</code>). 99 */ 100 String getContentStreamMimeType(); 101 102 /** 103 * Returns the content stream filename or <code>null</code> if the document 104 * has no content (CMIS property <code>cmis:contentStreamFileName</code>). 105 */ 106 String getContentStreamFileName(); 107 108 /** 109 * Returns the content stream id or <code>null</code> if the document has no 110 * content (CMIS property <code>cmis:contentStreamId</code>). 111 */ 112 String getContentStreamId(); 113 }