001 /** 002 * 003 * Copyright 2003-2006 The Apache Software Foundation 004 * 005 * Licensed under the Apache License, Version 2.0 (the "License"); 006 * you may not use this file except in compliance with the License. 007 * You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017 018 package javax.mail; 019 020 import java.net.InetAddress; 021 022 /** 023 * @version $Rev: 421852 $ $Date: 2006-07-14 03:02:19 -0700 (Fri, 14 Jul 2006) $ 024 */ 025 public abstract class Authenticator { 026 private InetAddress host; 027 private int port; 028 private String prompt; 029 private String protocol; 030 private String username; 031 032 synchronized PasswordAuthentication authenticate(InetAddress host, int port, String protocol, String prompt, String username) { 033 this.host = host; 034 this.port = port; 035 this.protocol = protocol; 036 this.prompt = prompt; 037 this.username = username; 038 return getPasswordAuthentication(); 039 } 040 041 protected final String getDefaultUserName() { 042 return username; 043 } 044 045 protected PasswordAuthentication getPasswordAuthentication() { 046 return null; 047 } 048 049 protected final int getRequestingPort() { 050 return port; 051 } 052 053 protected final String getRequestingPrompt() { 054 return prompt; 055 } 056 057 protected final String getRequestingProtocol() { 058 return protocol; 059 } 060 061 protected final InetAddress getRequestingSite() { 062 return host; 063 } 064 }