/******************************************************************************* * Copyright (c) 2013 aegif. * * This file is part of NemakiWare. * * NemakiWare is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * NemakiWare 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 General Public License for more details. * * You should have received a copy of the GNU General Public License along with NemakiWare. * If not, see <http://www.gnu.org/licenses/>. * * Contributors: * linzhixing(https://github.com/linzhixing) - initial API and implementation ******************************************************************************/ package jp.aegif.nemaki.model.couch; import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import jp.aegif.nemaki.model.Document; public class CouchDocument extends CouchContent { private static final long serialVersionUID = 1993139506791735097L; // Attachment private String attachmentNodeId; private List<String> renditionIds; // Versioning private String versionSeriesId; private Boolean latestVersion; private Boolean latestMajorVersion; private Boolean majorVersion; private String checkinComment; private String versionLabel; //The following properties should be moved away to VersionSeries object private Boolean privateWorkingCopy; private Boolean immutable; public CouchDocument(){ super(); } public CouchDocument(Document d){ super(d); setAttachmentNodeId(d.getAttachmentNodeId()); setRenditionIds(d.getRenditionIds()); setVersionSeriesId(d.getVersionSeriesId()); setVersionLabel(d.getVersionLabel()); setIsLatestVersion(d.isLatestVersion()); setMajorVersion(d.isMajorVersion()); setLatestMajorVersion(d.isLatestMajorVersion()); setCheckinComment(d.getCheckinComment()); setPrivateWorkingCopy(d.isPrivateWorkingCopy()); setImmutable(d.isImmutable()); } /** * Getter & Setter */ public String getAttachmentNodeId() { return attachmentNodeId; } public void setAttachmentNodeId(String attachmentNodeId) { this.attachmentNodeId = attachmentNodeId; } public List<String> getRenditionIds() { return renditionIds; } public void setRenditionIds(List<String> renditionIds) { this.renditionIds = renditionIds; } public String getVersionSeriesId() { return versionSeriesId; } public void setVersionSeriesId(String versionSeriesId) { this.versionSeriesId = versionSeriesId; } @JsonProperty("latestVersion") public Boolean isLatestVersion() { return latestVersion; } @JsonProperty("latestVersion") public void setIsLatestVersion(Boolean latestVersion) { this.latestVersion = latestVersion; } public Boolean isMajorVersion() { return majorVersion; } public void setMajorVersion(Boolean majorVersion) { this.majorVersion = majorVersion; } public Boolean isLatestMajorVersion() { return latestMajorVersion; } public void setLatestMajorVersion(Boolean latestMajorVersion) { this.latestMajorVersion = latestMajorVersion; } public Boolean isPrivateWorkingCopy() { return privateWorkingCopy; } public void setPrivateWorkingCopy(Boolean privateWorkingCopy) { this.privateWorkingCopy = privateWorkingCopy; } public String getVersionLabel() { return versionLabel; } public void setVersionLabel(String versionLabel) { this.versionLabel = versionLabel; } public String getCheckinComment() { return checkinComment; } public void setCheckinComment(String checkinComment) { this.checkinComment = checkinComment; } public Boolean isImmutable(){ return immutable; } public void setImmutable(Boolean immutable){ this.immutable = immutable; } public Document convert() { Document d = new Document(super.convert()); d.setAttachmentNodeId(getAttachmentNodeId()); d.setRenditionIds(getRenditionIds()); d.setLatestVersion(isLatestVersion()); d.setMajorVersion(isMajorVersion()); d.setLatestMajorVersion(isLatestMajorVersion()); d.setVersionSeriesId(getVersionSeriesId()); d.setVersionLabel(getVersionLabel()); d.setPrivateWorkingCopy(isPrivateWorkingCopy()); d.setCheckinComment(getCheckinComment()); d.setImmutable(isImmutable()); return d; } }