/* * Tanaguru - Automated webpage assessment * Copyright (C) 2008-2015 Tanaguru.org * * This file is part of Tanaguru. * * Tanaguru is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program 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 Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * Contact us by mail: tanaguru AT tanaguru DOT org */ package org.tanaguru.webapp.entity.user; import java.util.Collection; import org.tanaguru.sdk.entity.Entity; import org.tanaguru.webapp.entity.contract.Contract; import org.tanaguru.webapp.entity.option.OptionElement; /** * * @author jkowalczyk */ public interface User extends Entity { /** * * @return the user email address */ String getEmail1(); /** * * @param email */ void setEmail1(String email); /** * @return the password (encrypted) */ String getPassword(); /** * * @param password */ void setPassword (String password); /** * * @return * the user name */ String getName(); /** * * @param name */ void setName(String name); /** * * @return * the user first name */ String getFirstName(); /** * * @param firstName */ void setFirstName(String firstName); /** * * @return * the user address */ String getAddress(); /** * * @param address */ void setAddress(String address); /** * * @return * the user phone number */ String getPhoneNumber(); /** * * @param phoneNumber */ void setPhoneNumber(String phoneNumber); /** * * @param user * the contract to add to a user */ void addContract(Contract user); /** * * @param contractSet * the contracts set to add to a user */ void addAllContracts(Collection<Contract> contractSet); /** * * @return * the list of the user's contracts */ Collection<Contract> getContractSet(); /** * * @return * the url of the web page 1 associated with the user */ String getWebUrl1(); /** * * @param webUrl1 */ void setWebUrl1(String webUrl1); /** * * @return * the url of the web page 2 associated with the user */ String getWebUrl2(); /** * * @param webUrl2 */ void setWebUrl2(String webUrl2); /** * * @return * the identica Id of the user */ String getIdenticaId(); /** * * @param identicaId */ void setIdenticaId(String identicaId); /** * * @return * the twitter Id of the user */ String getTwitterId(); /** * * @param twitterId */ void setTwitterId(String twitterId); /** * * @return * the role of the user */ Role getRole(); /** * * @param role */ void setRole(Role role); /** * * @return * if the current is activated or not */ boolean isAccountActivated(); /** * * @param value */ void setAccountActivation(boolean value); /** * * @return */ Collection<OptionElement> getOptionElementSet(); /** * * @param option */ void addOptionElement(OptionElement option); /** * * @param optionElementSet */ void addAllOptionElement(Collection<OptionElement> optionElementSet); /** * * @return if the current is administrator or not */ boolean isRoleAdmin(); }