1 /************************************************************************ 2 * Copyright (c) 2000-2006 The Apache Software Foundation. * 3 * All rights reserved. * 4 * ------------------------------------------------------------------- * 5 * Licensed under the Apache License, Version 2.0 (the "License"); you * 6 * may not use this file except in compliance with the License. You * 7 * may obtain a copy of the License at: * 8 * * 9 * http://www.apache.org/licenses/LICENSE-2.0 * 10 * * 11 * Unless required by applicable law or agreed to in writing, software * 12 * distributed under the License is distributed on an "AS IS" BASIS, * 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * 14 * implied. See the License for the specific language governing * 15 * permissions and limitations under the License. * 16 ***********************************************************************/ 17 18 package org.apache.james.services; 19 20 /*** 21 * Interface for objects representing users. 22 * 23 * 24 * @version $Revision: 365582 $ 25 */ 26 27 public interface User { 28 29 /*** 30 * Return the user name of this user 31 * 32 * @return the user name for this user 33 */ 34 String getUserName(); 35 36 /*** 37 * Return true if pass matches password of this user. 38 * 39 * @param pass the password to test 40 * @return whether the password being tested is valid 41 */ 42 boolean verifyPassword(String pass); 43 44 /*** 45 * Sets new password from String. No checks made on guessability of 46 * password. 47 * 48 * @param newPass the String that is the new password. 49 * @return true if newPass successfully added 50 */ 51 boolean setPassword(String newPass); 52 }