Stefano,
I'd like to make a few quick suggestions about the
store interface.
Maybe the message interface should be refactored first?
Stefano Bagnara wrote:
(Flags? Date? long Uid? Message attributes?)
in ImapMessageAttributes I see: getInternalDate, getInternalDateAsString,
getSize, getEnvelope, getBodyStructure.
I like the way MAPI takes care of this, ie...
GenericMessage
{
value GetProperty(id);
SetProperty(id, value);
[...]
}
There are
generic "properties" which have id/name,type values.
Some properties may be manatory by a backend, others
may not. eg. IMAP Server may always set the SEEN/boolean
property on a message in the store while the POP
Server may not. They both though may set CREATED/date
and the UID/binary properties though.
I think doing things this way would simply the
message store interface a good bit.
Is there really a good reason to have protocol specific
code in the MessageStore/Repository layer?
A generic message interface would abstract the protocol
specific code entirely, leaving it to the protocol handlers.
Do the client runs query over this attributes?
I believe so. Through the "SEARCH" command...
http://ietfreport.isoc.org/idref/rfc3501/#page-49
Are this attributes sent to the client without the body?
Yes. See FETCH
http://ietfreport.isoc.org/idref/rfc3501/#page-54
The message header only, body only, flags only, etc.
can be fetched.
Regards,
Kervin
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]