/* Copyright 2010 Cesar Valiente Gordo This file is part of QuiteSleep. QuiteSleep 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. QuiteSleep 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 QuiteSleep. If not, see <http://www.gnu.org/licenses/>. */ package es.cesar.quitesleep.data.models; /** * * @author Cesar Valiente Gordo * @mail cesar.valiente@gmail.com * * This class configure and set the block settings. * */ public class BlockCallsConf extends Id { private final String CLASS_NAME = this.getClass().getName(); //Block options private boolean blockAll = false; private boolean blockBlockedContacts = false; private boolean blockUnknown = false; private boolean blockUnknownAndBlockedContacts = false; //int constants regarding to the options private final int BLOCK_ALL = 1; private final int BLOCK_BLOCKED_CONTACTS = 2; private final int BLOCK_UNKNOWN = 3; private final int BLOCK_UNKNOWN_AND_BLOCKED_CONTACTS = 4; //-------------- Getters & Setters ----------------------------------// public boolean isBlockAll() { return blockAll; } public void setBlockAll(boolean blockAll) { this.blockAll = blockAll; if (blockAll) { //Setting the rest to false this.blockBlockedContacts = false; this.blockUnknown = false; this.blockUnknownAndBlockedContacts = false; } } public boolean isBlockBlockedContacts() { return blockBlockedContacts; } public void setBlockBlockedContacts(boolean blockBlockedContacts) { this.blockBlockedContacts = blockBlockedContacts; if (blockBlockedContacts) { //Setting the rest to false this.blockAll = false; this.blockUnknown = false; this.blockUnknownAndBlockedContacts = false; } } public boolean isBlockUnknown() { return blockUnknown; } public void setBlockUnknown(boolean blockUnknown) { this.blockUnknown = blockUnknown; if (blockUnknown) { //Setting the rest to false this.blockAll = false; this.blockBlockedContacts = false; this.blockUnknownAndBlockedContacts = false; } } public boolean isBlockUnknownAndBlockedContacts() { return blockUnknownAndBlockedContacts; } public void setBlockUnknownAndBlockedContacts( boolean blockUnknownAndBlockedContacts) { this.blockUnknownAndBlockedContacts = blockUnknownAndBlockedContacts; if (blockUnknownAndBlockedContacts) { //Setting the rest to false this.blockAll = false; this.blockBlockedContacts = false; this.blockUnknown = false; } } //------------------------------------------------------------------------// /** * Constructor without parameters. By default the option which block * only to the blocked contacts is established */ public BlockCallsConf () { super(); this.blockAll = false; this.blockBlockedContacts = true; this.blockUnknown = false; this.blockUnknownAndBlockedContacts = false; } /** * Constructor with all blocked options * * @param blockAll * @param blockBlockedContacts * @param blockUnknown * @param blockUnknownAndBlockedContacts */ public BlockCallsConf ( boolean blockAll, boolean blockBlockedContacts, boolean blockUnknown, boolean blockUnknownAndBlockedContacts) { super(); this.blockAll = blockAll; this.blockBlockedContacts = blockBlockedContacts; this.blockUnknown = blockUnknown; this.blockUnknownAndBlockedContacts = blockUnknownAndBlockedContacts; } /** * This function returns the integer which corresponds with the * option established, or 0 if none option is set. * @return */ public int whatIsInUse () { if (blockAll) return BLOCK_ALL; else if (blockBlockedContacts) return BLOCK_BLOCKED_CONTACTS; else if (blockUnknown) return BLOCK_UNKNOWN; else if (blockUnknownAndBlockedContacts) return BLOCK_UNKNOWN_AND_BLOCKED_CONTACTS; else return 0; } /** * @return String */ public String toString () { return "BlockAll: " + blockAll + "\nBlockBlockedContacts: " + blockBlockedContacts + "\nBlockUnknown: " + blockUnknown + "\nBlockUnknownAndBlockedContacts: " + blockUnknownAndBlockedContacts; } }