01: package prefuse.util.io;
02:
03: import java.net.Authenticator;
04: import java.net.PasswordAuthentication;
05:
06: /**
07: * A basic username/password authenticator for use with HTTP-Auth.
08: * The username or password can be reset for subsequent use as a different
09: * user or on a different website.
10: * @author <a href="http://jheer.org">jeffrey heer</a>
11: */
12: public class PasswordAuthenticator extends Authenticator {
13:
14: private String m_username;
15: private String m_password;
16: private PasswordAuthentication m_auth;
17:
18: /**
19: * Create a new password authenticator.
20: * @param username the user name
21: * @param password the password
22: */
23: PasswordAuthenticator(String username, String password) {
24: this .m_password = password;
25: this .m_username = username;
26: }
27:
28: /**
29: * Get the password.
30: * @return the password
31: */
32: String getPassword() {
33: return m_password;
34: }
35:
36: /**
37: * Set the password.
38: * @return the password to use
39: */
40: void setPassword(String password) {
41: this .m_password = password;
42: this .m_auth = null;
43: }
44:
45: /**
46: * Get the user name.
47: * @return the user name
48: */
49: String getUsername() {
50: return m_username;
51: }
52:
53: /**
54: * Set the user name.
55: * @return the user name to use
56: */
57: void setUsername(String username) {
58: this .m_username = username;
59: this .m_auth = null;
60: }
61:
62: /**
63: * Get the singleton PasswordAuthentication instance.
64: * @return the PasswordAuthentication instance
65: */
66: protected PasswordAuthentication getPasswordAuthentication() {
67: if (m_auth == null) {
68: m_auth = new PasswordAuthentication(m_username, m_password
69: .toCharArray());
70: }
71: return m_auth;
72: }
73:
74: // ------------------------------------------------------------------------
75:
76: /**
77: * Creates a new PasswordAuthenticator for the given name and password and
78: * sets it as the default Authenticator for use within Java networking.
79: */
80: public static void setAuthentication(String username,
81: String password) {
82: Authenticator.setDefault(new PasswordAuthenticator(username,
83: password));
84: }
85:
86: } // end of class PasswordAuthenticator
|