1 /** 2 * 3 * Copyright 2003-2006 The Apache Software Foundation 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You 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 implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18 package javax.mail; 19 20 import java.net.InetAddress; 21 22 /** 23 * @version $Rev: 421852 $ $Date: 2006-07-14 03:02:19 -0700 (Fri, 14 Jul 2006) $ 24 */ 25 public abstract class Authenticator { 26 private InetAddress host; 27 private int port; 28 private String prompt; 29 private String protocol; 30 private String username; 31 32 synchronized PasswordAuthentication authenticate(InetAddress host, int port, String protocol, String prompt, String username) { 33 this.host = host; 34 this.port = port; 35 this.protocol = protocol; 36 this.prompt = prompt; 37 this.username = username; 38 return getPasswordAuthentication(); 39 } 40 41 protected final String getDefaultUserName() { 42 return username; 43 } 44 45 protected PasswordAuthentication getPasswordAuthentication() { 46 return null; 47 } 48 49 protected final int getRequestingPort() { 50 return port; 51 } 52 53 protected final String getRequestingPrompt() { 54 return prompt; 55 } 56 57 protected final String getRequestingProtocol() { 58 return protocol; 59 } 60 61 protected final InetAddress getRequestingSite() { 62 return host; 63 } 64 }