1 package org.wcb.autohome.implementations; 2 3 import org.wcb.common.EmailAuthenticator; 4 5 import java.io.Serializable; 6 7 /*** 8 * Copyright (C) 1999 Walter Bogaardt 9 * 10 * This library is free software; you can redistribute it and/or 11 * modify it under the terms of the GNU Lesser General Public 12 * License as published by the Free Software Foundation; either 13 * version 2 of the License, or (at your option) any later version. 14 * 15 * This library is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 * Lesser General Public License for more details. 19 * 20 * You should have received a copy of the GNU Lesser General Public 21 * License along with this library; if not, write to the Free Software 22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 23 * 24 * EmailHeaderBean.java 25 * 26 * Created on February 2, 2004, 7:59 PM 27 * 28 * @author wbogaardt 29 * 30 * Project: Home Automation Interface 31 * Filename: $Id: EmailHeaderBean.java,v 1.2 2004/02/27 01:29:52 wbogaardt Exp $ 32 * Abstract: This allows persistence of centeralized values accross the sessions and gateways. 33 * 34 * $Log: EmailHeaderBean.java,v $ 35 * Revision 1.2 2004/02/27 01:29:52 wbogaardt 36 * modified classes so they conform to Checkstyle format in readability 37 * 38 * Revision 1.1 2004/02/02 23:40:03 wbogaardt 39 * Adding header bean which simplifies saving and geting values from config.ini file 40 * 41 * */ 42 public class EmailHeaderBean implements Serializable { 43 44 private String toAddress; 45 private String fromAddress; 46 private String smtpHost; 47 private EmailAuthenticator authenticator; 48 private String noticeFreq; 49 50 /*** 51 * This class is suppose to be a wrapper for the interfaces between 52 * the AutoHomeSession and the HAGateway and the final properties file. 53 * This class makes it easier for the different properties to be passed around. 54 * @param sTo the to address for email 55 * @param sFrom the from address for email 56 * @param sHost the smtp host address 57 */ 58 public EmailHeaderBean(String sTo, String sFrom, String sHost) { 59 this.toAddress = sTo; 60 this.fromAddress = sFrom; 61 this.smtpHost = sHost; 62 } 63 64 /*** 65 * Gets the email address that notifications are sent to, and which the 66 * user has saved through configuring it. 67 * @param sTo send to address 68 */ 69 public void setEmailToAddress(String sTo) { 70 this.toAddress = sTo; 71 } 72 73 /*** 74 * This sets the from address in the email so it does not 75 * always have to come from the default address of alice@localhost 76 * The user can set this to what ever address they want. 77 * @param sFrom user defined email from address 78 */ 79 public void setEmailFromAddress(String sFrom) { 80 this.fromAddress = sFrom; 81 } 82 83 /*** 84 * The user can save the SMTP host to the HASConfig.ini file. 85 * @param sHost Email host address 86 */ 87 public void setEmailHost(String sHost) { 88 this.smtpHost = sHost; 89 } 90 91 /*** 92 * Allows setting of email authentication since the user email account 93 * may require authentication 94 * @param auth The email authenticator object which extends the Java mail Authenticator 95 */ 96 public void setEmailAuthenticator(EmailAuthenticator auth) 97 { 98 this.authenticator = auth; 99 } 100 101 /*** 102 * Allows the user to save the frequency of events as never, on event, 103 * hourly, 12 hours, daily, weekly. 104 * @param sFreq never, onevent, hourly, 12hours, daily, weekly 105 */ 106 public void setEmailNoticeFreq(String sFreq) { 107 this.noticeFreq = sFreq; 108 } 109 /*** 110 * Gets the email address that notifications are sent to, and which the 111 * user has saved through configuring it. 112 * @return Email send to address 113 */ 114 public String getEmailToAddress() { 115 return this.toAddress; 116 } 117 118 /*** 119 * Returns the email from address from the HASConfig.ini file 120 * 121 * @return The saved from email address 122 */ 123 public String getEmailFromAddress() { 124 return this.fromAddress; 125 } 126 127 /*** 128 * The user's email smtp host that is used to send email messages 129 * through. 130 * @return The saved SMTP host name 131 */ 132 public String getEmailHost() { 133 return this.smtpHost; 134 } 135 136 /*** 137 * Gets the email authenticator object. 138 * @return The email requires authentication. This extends the Java mail Authenticator 139 */ 140 public EmailAuthenticator getEmailAuthenticator() { 141 return this.authenticator; 142 } 143 144 /*** 145 * Email Notice frequency which is either never, on event, hourly, 146 * 12 hours, daily, weekly. 147 * 148 * @return String of never, onevent, hourly, 12hours, daily, weekly 149 */ 150 public String getEmailNoticeFreq() { 151 return this.noticeFreq; 152 } 153 154 }