package org.limewire.friend.api; import java.io.IOException; /** * Defines an interface for saving and loading passwords. */ public interface PasswordManager { /** * Returns the password stored for <code>username</code>. * @param username must not be null or empty * @return the password * @throws IOException if there is problem decoding the password or there * is no password for the username * @throws IllegalArgumentException if username is null or empty */ public String loadPassword(String username) throws IOException; /** * Stores encrpyted password associated with username. * @param username must not be null or empty * @param password must not be null or empty * @throws IOException if there is a problem encrypting the password or storing it * @throws IllegalArgumentException if either username or password are null or empty */ public void storePassword(String username, String password) throws IOException; /** * Removes the password and user name from the password store. * @param username must not be null or empty */ public void removePassword(String username); }