You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by "dev.tom.menzel" <de...@gmx.net> on 2011/03/09 21:05:13 UTC

RE: [lang] propse new ObjectExistsException extends IllegalArgumentException

hi,

does my explaination satisfy u and u deem this ok?
and if yes: what is the next step?
shall I provide a patch? open an issue?

-----Original Message-----
From: thomas menzel [mailto:dev.tom.menzel@gmx.net] 
Sent: Montag, 14. Februar 2011 19:16
To: Commons Developers List
Subject: Re: [lang] propse new ObjectExistsException extends IllegalArgumentException

sure,

anywhere where u want to store objects and where u might not want to allow the addition of "same" objects such as in registries, caches, collections.

often they are underpinned with internal sets or maps and at times it is better to signal the client the hard way (ie. via a proper exception) that the object he intended to add already exists.

the reason i want to have a distinct exception here, is to allow the client to catch this case as opposed to the case where he might want to add an object who doest meet some constraints and where i then throw a "normal" Illegal Argument Exception.

Also, there is sometimes the case that i will not add the object/key itself but rather a base form that is then first converted into the real key/object.

such an exception would allow to return the derived key/object in a distinct way.
e.g

1. 
Regsitry.put(String url, Object){
 put(new Url(url, Object))
};

2. 
Regsitry.put(Url url, Object);


the implementation could throw a new ObjectExistException<Url>(url) in the 2nd method and the client could get the id from T getObjectKey() and do some fall back work noit having had the need to ever convert the string url himself into an Url Object.


hope that helps


-------- Original-Nachricht --------
> Datum: Fri, 11 Feb 2011 15:01:32 +0100
> Von: Simone Tripodi <si...@apache.org>
> An: Commons Developers List <de...@commons.apache.org>
> Betreff: Re: [lang] propse new ObjectExistsException extends IllegalArgumentException

> Hi Thomas,
> can you describe please in which non-JPA context the exception can
> become useful?
> Many thanks in advance, have a nice day,
> Simo
> 
> http://people.apache.org/~simonetripodi/
> http://www.99soft.org/
> 
> 
> 
> On Fri, Feb 11, 2011 at 10:31 AM, thomas menzel <de...@gmx.net>
> wrote:
> > hi,
> >
> > i suggest a new exception under the commons.lang.exception namely
> >
> > ObjectExistsException extends IllegalArgumentException.
> >
> > in the jpa world there is already one like this, bit i think it has
> merit for also other cases outside of jpa and hence i would like to see it
> defined in apache's commons.lang.exception.
> >
> > what do u think?
> >
> > --
> > NEU: FreePhone - kostenlos mobil telefonieren und surfen!
> > Jetzt informieren: http://www.gmx.net/de/go/freephone
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> > For additional commands, e-mail: dev-help@commons.apache.org
> >
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
> 

-- 
Schon gehört? GMX hat einen genialen Phishing-Filter in die
Toolbar eingebaut! http://www.gmx.net/de/go/toolbar

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [lang] propse new ObjectExistsException extends IllegalArgumentException

Posted by Matt Benson <gu...@gmail.com>.
On Mar 9, 2011, at 2:05 PM, dev.tom.menzel wrote:

> hi,
> 
> does my explaination satisfy u and u deem this ok?
> and if yes: what is the next step?
> shall I provide a patch? open an issue?
> 

Hello, Tom.  We Commons developers are taking the stance that general-purpose exceptions don't have a place as first-class citizens.  The only exceptions that will be added to Commons components are exceptions that are necessary to a given component's provided API(s).

Thanks for your interest,
Matt

> -----Original Message-----
> From: thomas menzel [mailto:dev.tom.menzel@gmx.net] 
> Sent: Montag, 14. Februar 2011 19:16
> To: Commons Developers List
> Subject: Re: [lang] propse new ObjectExistsException extends IllegalArgumentException
> 
> sure,
> 
> anywhere where u want to store objects and where u might not want to allow the addition of "same" objects such as in registries, caches, collections.
> 
> often they are underpinned with internal sets or maps and at times it is better to signal the client the hard way (ie. via a proper exception) that the object he intended to add already exists.
> 
> the reason i want to have a distinct exception here, is to allow the client to catch this case as opposed to the case where he might want to add an object who doest meet some constraints and where i then throw a "normal" Illegal Argument Exception.
> 
> Also, there is sometimes the case that i will not add the object/key itself but rather a base form that is then first converted into the real key/object.
> 
> such an exception would allow to return the derived key/object in a distinct way.
> e.g
> 
> 1. 
> Regsitry.put(String url, Object){
> put(new Url(url, Object))
> };
> 
> 2. 
> Regsitry.put(Url url, Object);
> 
> 
> the implementation could throw a new ObjectExistException<Url>(url) in the 2nd method and the client could get the id from T getObjectKey() and do some fall back work noit having had the need to ever convert the string url himself into an Url Object.
> 
> 
> hope that helps
> 
> 
> -------- Original-Nachricht --------
>> Datum: Fri, 11 Feb 2011 15:01:32 +0100
>> Von: Simone Tripodi <si...@apache.org>
>> An: Commons Developers List <de...@commons.apache.org>
>> Betreff: Re: [lang] propse new ObjectExistsException extends IllegalArgumentException
> 
>> Hi Thomas,
>> can you describe please in which non-JPA context the exception can
>> become useful?
>> Many thanks in advance, have a nice day,
>> Simo
>> 
>> http://people.apache.org/~simonetripodi/
>> http://www.99soft.org/
>> 
>> 
>> 
>> On Fri, Feb 11, 2011 at 10:31 AM, thomas menzel <de...@gmx.net>
>> wrote:
>>> hi,
>>> 
>>> i suggest a new exception under the commons.lang.exception namely
>>> 
>>> ObjectExistsException extends IllegalArgumentException.
>>> 
>>> in the jpa world there is already one like this, bit i think it has
>> merit for also other cases outside of jpa and hence i would like to see it
>> defined in apache's commons.lang.exception.
>>> 
>>> what do u think?
>>> 
>>> --
>>> NEU: FreePhone - kostenlos mobil telefonieren und surfen!
>>> Jetzt informieren: http://www.gmx.net/de/go/freephone
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>>> For additional commands, e-mail: dev-help@commons.apache.org
>>> 
>>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> For additional commands, e-mail: dev-help@commons.apache.org
>> 
> 
> -- 
> Schon gehört? GMX hat einen genialen Phishing-Filter in die
> Toolbar eingebaut! http://www.gmx.net/de/go/toolbar
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org