jaugment2.mail
Class JavaMailService
java.lang.Object
|
+--java.rmi.server.RemoteObject
|
+--java.rmi.server.RemoteServer
|
+--java.rmi.server.UnicastRemoteObject
|
+--jaugment2.jini.simpleService.simpleService
|
+--jaugment2.mail.JavaMailService
- public class JavaMailService
- extends simpleService
- implements java.rmi.Remote, net.jini.discovery.DiscoveryListener, MailSender, LookupEventListener
a service providing sending/receiving e-mail/news by using the JavaMail-API
- See Also:
- Serialized Form
| Fields inherited from class java.rmi.server.UnicastRemoteObject |
csf,
port,
portFactoryParamTypes,
portParamTypes,
serialVersionUID,
ssf |
| Fields inherited from class java.rmi.server.RemoteServer |
log,
logname,
serialVersionUID |
| Fields inherited from class java.rmi.server.RemoteObject |
ref,
serialVersionUID |
|
Method Summary |
net.jini.core.lease.Lease |
addListener(net.jini.core.event.RemoteEventListener listener,
java.rmi.MarshalledObject handback,
int registerfor)
Subscribe for events |
private void |
closeStore(MailSender.StoreHandle s)
|
boolean |
copyMessage(MailSender.MessageHandle hmessage,
MailSender.FolderHandle hfolder,
boolean move)
copies the identified message to the identified folder |
void |
deleteMessage(MailSender.MessageHandle hmessage)
delete the identified message |
void |
destroy()
stop this service, destroy any persistent storage and exit |
void |
discarded(net.jini.discovery.DiscoveryEvent e)
Called when one or more lookup service registrars has been discarded. |
void |
discovered(net.jini.discovery.DiscoveryEvent e)
Called when one or more lookup service registrars has been discovered. |
private void |
fireEvent(int type,
java.lang.Object obj)
|
private void |
fireEvent(int type,
java.lang.Object obj,
MailSender.StoreHandle hstore,
MailSender.FolderHandle hfolder,
MailSender.MessageHandle hmessage)
|
private javax.mail.Folder |
getFolder(MailSender.FolderHandle hfolder)
|
MailSender.MailSenderMessage[] |
getFolderMessages(MailSender.FolderHandle hfolder,
boolean getcontent)
Get all messages of a folder |
MailSender.MailSenderFolder |
getMailSenderFolder(MailSender.FolderHandle hfolder)
|
MailSender.MailSenderMessage |
getMessage(MailSender.MessageHandle hmessage,
boolean getcontent)
Get all data of the designated message |
private javax.mail.Store |
getStore(MailSender.StoreHandle s)
|
MailSender.FolderHandle[] |
getSubFolders(MailSender.FolderHandle hfolder)
|
TextEditorProxyIF |
getTextEditorProxy()
Return the first TextEditorProxyIF found for our Representations
to have some central buffers. |
private void |
loadMe()
Load our state (e.g. |
void |
restart()
restart this service once it has been stopped |
boolean |
sendMessage(javax.mail.internet.MimeMultipart body,
java.lang.String subject,
MailSender.Receiver[] to)
Send a generic message. |
boolean |
sendSimpleMessage(java.lang.String text,
java.lang.String subject,
java.lang.String to)
|
void |
ServiceChangedEvent(LookupEventEvent e)
|
void |
ServiceFoundEvent(LookupEventEvent e)
|
void |
ServiceGoneEvent(LookupEventEvent e)
|
void |
setMessageReat(MailSender.MessageHandle hmessage,
boolean reat)
mark a message as reat/unreat |
void |
stop(boolean exit)
stop this service. |
| Methods inherited from class jaugment2.jini.simpleService.simpleService |
,
deinit,
deinitBindings,
finalize,
getProxy,
getServiceItem,
getStorageLocation,
init,
initBindings,
initBindings,
load,
save,
setStorageLocation |
| Methods inherited from class java.rmi.server.UnicastRemoteObject |
clone,
exportObject,
exportObject,
exportObject,
exportObject,
readObject,
reexport,
unexportObject |
| Methods inherited from class java.rmi.server.RemoteServer |
getClientHost,
getLog,
setLog |
| Methods inherited from class java.rmi.server.RemoteObject |
equals,
getRef,
hashCode,
toString,
toStub,
writeObject |
| Methods inherited from class java.lang.Object |
getClass,
notify,
notifyAll,
registerNatives,
wait,
wait,
wait |
debugMessages
private static final boolean debugMessages
filters
private MailFilterParser filters
textedit
private TextEditorProxyIF textedit
directories
private java.util.Hashtable directories
localstorewrapper
private LocalStoreWrapperFactory localstorewrapper
myproxy
private JavaMailServiceProxy myproxy
auth
private javax.mail.Authenticator auth
trans
private javax.mail.Transport trans
sendSession
private transient javax.mail.Session sendSession
stores
private java.util.Hashtable stores
listenerRegistrations
private java.util.LinkedList[] listenerRegistrations
simpleLeaselistener
private SimpleLandlord.LeaseListener simpleLeaselistener
- Helper-class for our Landlord.
landLord
private SimpleLandlord landLord
JavaMailService
public JavaMailService()
throws java.rmi.RemoteException
JavaMailService
public JavaMailService(net.jini.core.discovery.LookupLocator locallocator)
throws java.rmi.RemoteException
ServiceFoundEvent
public void ServiceFoundEvent(LookupEventEvent e)
- Specified by:
- ServiceFoundEvent in interface LookupEventListener
ServiceGoneEvent
public void ServiceGoneEvent(LookupEventEvent e)
- Specified by:
- ServiceGoneEvent in interface LookupEventListener
ServiceChangedEvent
public void ServiceChangedEvent(LookupEventEvent e)
- Specified by:
- ServiceChangedEvent in interface LookupEventListener
loadMe
private void loadMe()
- Load our state (e.g. attrubutes, service-id) from persistent storage
discovered
public void discovered(net.jini.discovery.DiscoveryEvent e)
- Called when one or more lookup service registrars has been discovered.
The method should return quickly; e.g., it should not make remote
calls.
- Specified by:
- discovered in interface net.jini.discovery.DiscoveryListener
- Parameters:
e - the event that describes the discovered registrars
discarded
public void discarded(net.jini.discovery.DiscoveryEvent e)
- Called when one or more lookup service registrars has been discarded.
The method should return quickly; e.g., it should not make remote
calls.
- Specified by:
- discarded in interface net.jini.discovery.DiscoveryListener
- Parameters:
e - the event that describes the discarded registrars
restart
public void restart()
throws java.lang.Exception
- restart this service once it has been stopped
- Overrides:
- restart in class simpleService
- See Also:
stop
stop
public void stop(boolean exit)
throws java.lang.Exception
- stop this service. If exit is false all references to this
service are still valid but it has deregistered everywhere.
(this includes the RMI-activation-daemon)
- Overrides:
- stop in class simpleService
- Parameters:
exit - stop running- See Also:
restart,
destroy
destroy
public void destroy()
throws java.rmi.RemoteException
- stop this service, destroy any persistent storage and exit
- Overrides:
- destroy in class simpleService
sendMessage
public boolean sendMessage(javax.mail.internet.MimeMultipart body,
java.lang.String subject,
MailSender.Receiver[] to)
throws java.lang.Exception
- Send a generic message. The actual implementation may be limited to special messages for some receivers.
So e.g. an SMS-message may not contain non-text or a voice-message only voice.
- Specified by:
- sendMessage in interface MailSender
sendSimpleMessage
public boolean sendSimpleMessage(java.lang.String text,
java.lang.String subject,
java.lang.String to)
throws java.lang.Exception
- Specified by:
- sendSimpleMessage in interface MailSender
getTextEditorProxy
public TextEditorProxyIF getTextEditorProxy()
throws java.rmi.RemoteException
- Return the first TextEditorProxyIF found for our Representations
to have some central buffers.
- Specified by:
- getTextEditorProxy in interface MailSender
closeStore
private void closeStore(MailSender.StoreHandle s)
getStore
private javax.mail.Store getStore(MailSender.StoreHandle s)
getFolder
private javax.mail.Folder getFolder(MailSender.FolderHandle hfolder)
getMailSenderFolder
public MailSender.MailSenderFolder getMailSenderFolder(MailSender.FolderHandle hfolder)
- Specified by:
- getMailSenderFolder in interface MailSender
getSubFolders
public MailSender.FolderHandle[] getSubFolders(MailSender.FolderHandle hfolder)
- Specified by:
- getSubFolders in interface MailSender
getFolderMessages
public MailSender.MailSenderMessage[] getFolderMessages(MailSender.FolderHandle hfolder,
boolean getcontent)
- Get all messages of a folder
- Specified by:
- getFolderMessages in interface MailSender
deleteMessage
public void deleteMessage(MailSender.MessageHandle hmessage)
throws java.rmi.RemoteException
- delete the identified message
- Specified by:
- deleteMessage in interface MailSender
setMessageReat
public void setMessageReat(MailSender.MessageHandle hmessage,
boolean reat)
throws java.rmi.RemoteException
- mark a message as reat/unreat
- Specified by:
- setMessageReat in interface MailSender
getMessage
public MailSender.MailSenderMessage getMessage(MailSender.MessageHandle hmessage,
boolean getcontent)
- Description copied from interface: MailSender
- Get all data of the designated message
- Specified by:
- getMessage in interface MailSender
- Tags copied from interface: MailSender
- Parameters:
getcontent - fill in the content-field too. This may be an expensive operation
copyMessage
public boolean copyMessage(MailSender.MessageHandle hmessage,
MailSender.FolderHandle hfolder,
boolean move)
- copies the identified message to the identified folder
- Specified by:
- copyMessage in interface MailSender
- Parameters:
move - true if the message shall be moved to the new folder
fireEvent
private void fireEvent(int type,
java.lang.Object obj)
fireEvent
private void fireEvent(int type,
java.lang.Object obj,
MailSender.StoreHandle hstore,
MailSender.FolderHandle hfolder,
MailSender.MessageHandle hmessage)
addListener
public net.jini.core.lease.Lease addListener(net.jini.core.event.RemoteEventListener listener,
java.rmi.MarshalledObject handback,
int registerfor)
throws java.rmi.RemoteException,
net.jini.core.lease.LeaseDeniedException,
java.lang.IllegalStateException
- Subscribe for events
- Specified by:
- addListener in interface MailSender