/**
* Copyright (c) 2013, Redsolution LTD. All rights reserved.
*
* This file is part of Xabber project; you can redistribute it and/or
* modify it under the terms of the GNU General Public License, Version 3.
*
* Xabber 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 this program. If not, see http://www.gnu.org/licenses/.
*/
package com.xabber.android.data.account;
/**
* Message archive mode used for account.
*
* @author alexander.ivanov
*/
public enum ArchiveMode {
/**
* Load history from server, perform replication on connection. Don't use
* local storage.
*/
server,
/**
* If server side archive is unavailable then WORKS like {@link #local}.
* <p/>
* If server side archive becomes available and there is NO messages in
* local storage then this mode will be REPLACED with {@link #server}.
* <p/>
* If server side archive becomes available and there are messages in local
* storage then user should make a decision whether {@link #server} or
* {@link #local} should be used.
*/
available,
/**
* Don't load history from the server. Use local storage.
*/
local,
/**
* Don't load history from the server. Store only unread messages locally.
*/
unreadOnly,
/**
* Don't load history from the server. Don't store messages locally.
*/
dontStore;
public boolean saveLocally() {
return this == available || this == local;
}
}