001/*
002 * Syncany, www.syncany.org
003 * Copyright (C) 2011-2016 Philipp C. Heckel <philipp.heckel@gmail.com> 
004 *
005 * This program is free software: you can redistribute it and/or modify
006 * it under the terms of the GNU General Public License as published by
007 * the Free Software Foundation, either version 3 of the License, or
008 * (at your option) any later version.
009 *
010 * This program is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
013 * GNU General Public License for more details.
014 *
015 * You should have received a copy of the GNU General Public License
016 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
017 */
018package org.syncany.operations.cleanup;
019
020import org.simpleframework.xml.Element;
021import org.syncany.operations.OperationResult;
022
023public class CleanupOperationResult implements OperationResult {
024        public enum CleanupResultCode {
025                OK, OK_NOTHING_DONE, NOK_REMOTE_CHANGES, NOK_RECENTLY_CLEANED, NOK_LOCAL_CHANGES, NOK_DIRTY_LOCAL, NOK_OTHER_OPERATIONS_RUNNING, NOK_REPO_BLOCKED
026        }
027
028        @Element(name = "resultCode", required = true)
029        private CleanupResultCode resultCode;
030        
031        @Element(name = "mergedDatabaseFilesCount", required = false)
032        private int mergedDatabaseFilesCount;
033        
034        @Element(name = "removedOldVersionsCount", required = false)
035        private int removedOldVersionsCount;
036        
037        @Element(name = "removedMultiChunksCount", required = false)
038        private int removedMultiChunksCount;
039
040        @Element(name = "removedMultiChunksSize", required = false)
041        private long removedMultiChunksSize;
042
043        public CleanupOperationResult() {
044                this(CleanupResultCode.OK_NOTHING_DONE);
045        }
046
047        public CleanupOperationResult(CleanupResultCode resultCode) {
048                this.resultCode = resultCode;
049                this.mergedDatabaseFilesCount = 0;
050                this.removedOldVersionsCount = 0;
051                this.removedMultiChunksCount = 0;
052                this.removedMultiChunksSize = 0L;
053        }
054
055        public void setResultCode(CleanupResultCode resultCode) {
056                this.resultCode = resultCode;
057        }
058
059        public CleanupResultCode getResultCode() {
060                return resultCode;
061        }
062
063        public int getMergedDatabaseFilesCount() {
064                return mergedDatabaseFilesCount;
065        }
066
067        public void setMergedDatabaseFilesCount(int mergedDatabaseFilesCount) {
068                this.mergedDatabaseFilesCount = mergedDatabaseFilesCount;
069        }
070
071        public int getRemovedOldVersionsCount() {
072                return removedOldVersionsCount;
073        }
074
075        public void setRemovedOldVersionsCount(int removedOldVersionsCount) {
076                this.removedOldVersionsCount = removedOldVersionsCount;
077        }
078
079        public int getRemovedMultiChunksCount() {
080                return removedMultiChunksCount;
081        }
082
083        public void setRemovedMultiChunksCount(int removedMultiChunksCount) {
084                this.removedMultiChunksCount = removedMultiChunksCount;
085        }
086
087        public long getRemovedMultiChunksSize() {
088                return removedMultiChunksSize;
089        }
090
091        public void setRemovedMultiChunksSize(long removedMultiChunksSize) {
092                this.removedMultiChunksSize = removedMultiChunksSize;
093        }
094}