Re: OSUser

David Smiley <[email protected]>
Newsgroups gmane.comp.java.open-symphony.devel
Message-ID <[email protected]>
> Date: Mon, 4 Aug 2003 21:16:25 +0100 (BST)
> From: =?iso-8859-1?q?Paul=20Hammant?= <[email protected]>
>
> David,
>
>>  Paul, can you elaborate on what classes there is no 
>> interface/implementation separation?  I
>> don't think I missed anything.
>>
>
> 1) UserManager is still a class.

It's abstract.  Do you have a problem with abstract classes?  I 
purposefully made it abstract so that I could have the static factory 
method getUserManager().  I think extensible singletons are best 
implemented as abstract classes; not interfaces.

> 2) interface configurator refers to some item of impl :
>
>     void configureUserManager(UserManager.InternalAccess ia);

UserManager.InternalAccess is an [inner] interface, not a fixed 
implementation.

> Observations:
>
> 3) no need to specify items from Object, toString(), hashCode(), 
> equals()

I think that Entity should indicate how OSUser behaves with respect to 
these methods.  This is especially important with equality.  Do you 
disagree?  You're essentially saying you don't like that I went out of 
my way to document something I didn't /have/ to.

> 4) should not declare 'throws UnsupportedOperationException' in 
> interface method sig

[FYI everyone: UnsupportedOperationException extends RuntimeException]
I chose to do this to let people know that implementations might choose 
not to implement the method.  How would you do this differently?

> 5) would prefer no dependancy on javax.naming.

[FYI everyone: I use only Exceptions in javax.naming]
(a) It's in standard java; no external libraries required,
(b) I found the Exception classes to have very high parity for what was 
needed and I think "naming" and OSUser have more to do with each other 
than what a passing glance reveals.  Think about it.

> 6) There is no impl for Orion, Resin etc. Lots missing.

Very true.

Patrick Lightbody said "Well, having multiple implementations of what 
is generally the same thing is probably not a good idea."  I agree with 
him.

Lets keep in mind that OSUser v-whatever is beta and there's never 
really been a 1.0.  That means we aren't held down to any interfaces 
and decisions made in OSUser's early beta incarnation.

~ Dave Smiley
p.s.: I agree with P



-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.