blob: f5894c9981ebf068690ade03f258cde7e0fcd68c [file] [log] [blame]
-MailReader Object Model-
[(Associations)]
----
[UserDatabase] owns [User]s
----
[User] owns [Subscription]s
===
[Subscription (interface)]
----
+ AutoConnect: Boolean
+ Host: String (readonly)
+ Type: String
+ Username: String
+ Password: String
+ User: User (readonly)
----
====
[User (interface)]
----
+ Username: String (readonly)
+ Password: String
+ FullName: String
+ FromAddress: String
+ ReplyToAddress: String
+ DataBase: UserDatabase
+ Subscription: Subscription[]
----
+ CreateSubscription(Host:String): Subscription
+ FindSubscription(Host:String):Subscription
+ RemoveSubscription(Subscription:Subcription)
====
[UserDatabase (interface)]
----
----
+ Open()
+ Save()
+ Close()
+ CreateUser(username:String): User
+ FindUser(username:String): User
+ FindUsers(): User[]
+ RemoveUser(user:User)
+ UpdateUser(User) !NEW!
====
[MemorySubscription:Subscription]
----
- autoConnect:Boolean
- host:String
- type:String
- username:String
- password
- user:User
----
+ MemorySubscription(user:MemoryUser host:String)
* :Subscription members
* ToString:String
====
[MemoryUser:User]
----
- username:String
- password:String
- fullname:String
- fromAddress:String
- replyToAddress:String
- database:MemoryDataBAse
- subscriptions:HashMap
----
+ MemoryUser(database:MemoryUserDatabase:* :User members
database username:String)
* ToString:String
====
[MemoryUserDatabase:UserDatabase]
----
- log:Log
- users:HashMap
- pathnameOld:String
- pathnameNew:String
+ pathname:String
----
* :UserDatabase
====
[PlugIn (interface)]
----
----
+ Init(servlet:ActionServlet servlet config:ModuleConfig)
+ Destroy()
====
[MemoryDataBasePlugIn:PlugIn]
----
- database:MemoryUserDatabase
- log:Log
- servlet:ActionServlet
+ Pathname
----
* :PlugIn
- CalculatePath()
====
[ObjectCreationFactory (interface)]
----
Digester:Digester
----
createObject(attributes:Attributes):Object
====
[MemorySubscriptionCreationFactory:ObjectCreationFactory]
----
+ Digester:Digester
----
* :ObjectCreationFactory
====
[MemoryUserCreationFactory:ObjectCreationFactory]
----
----
+ Digester:Digester
----
* :ObjectCreationFactory
+ MemoryUserCreationFactory(database:MemoryUserDatabase)
====