/* * #%L * Alfresco Remote API * %% * Copyright (C) 2005 - 2016 Alfresco Software Limited * %% * This file is part of the Alfresco software. * If the software was purchased under a paid Alfresco license, the terms of * the paid license agreement will prevail. Otherwise, the software is * provided under the following open source license terms: * * Alfresco is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Alfresco is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with Alfresco. If not, see . * #L% */ package org.alfresco.rest.api.model; import java.io.Serializable; import java.math.BigInteger; import java.util.Map; import com.fasterxml.jackson.annotation.JsonInclude; import org.alfresco.model.ContentModel; import org.alfresco.service.ServiceRegistry; import org.alfresco.service.cmr.repository.ContentData; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.namespace.QName; /** * Representation of a document node. * * @author steveglover * @author janv * */ public class Document extends Node { public Document() { super(); } public Document(NodeRef nodeRef, NodeRef parentNodeRef, Map nodeProps, Map mapUserInfo, ServiceRegistry sr) { super(nodeRef, parentNodeRef, nodeProps, mapUserInfo, sr); Serializable val = nodeProps.get(ContentModel.PROP_CONTENT); if ((val != null) && (val instanceof ContentData)) { ContentData cd = (ContentData)val; String mimeType = cd.getMimetype(); String mimeTypeName = sr.getMimetypeService().getDisplaysByMimetype().get(mimeType); contentInfo = new ContentInfo(mimeType, mimeTypeName, cd.getSize(), cd.getEncoding()); } setIsFolder(false); setIsFile(true); } @Override public ContentInfo getContent() { return contentInfo; } @Override public void setContent(ContentInfo contentInfoIn) { contentInfo = contentInfoIn; } @Override public String toString() { return "Document [contentInfo=" + contentInfo.toString() + ", nodeRef=" + nodeRef + ", name=" + name + ", createdAt=" + createdAt + ", modifiedAt=" + modifiedAt + ", createdBy=" + createdBy + ", modifiedBy=" + modifiedBy + "]"; } // TODO for backwards compat' - set explicitly when needed (ie. favourites) private String mimeType; private BigInteger sizeInBytes; private String versionLabel; /** * @deprecated */ public String getMimeType() { return mimeType; } /** * @deprecated */ public BigInteger getSizeInBytes() { return sizeInBytes; } /** * @deprecated */ public String getVersionLabel() { return versionLabel; } /** * @deprecated */ public void setMimeType(String mimeType) { this.mimeType = mimeType; } /** * @deprecated */ public void setSizeInBytes(BigInteger sizeInBytes) { this.sizeInBytes = sizeInBytes; } /** * @deprecated */ public void setVersionLabel(String versionLabel) { this.versionLabel = versionLabel; } }