I never looked at this code, but from you wrote here
I, personally, would leave the interface in place.

Even if now only the TaskFrame class implements the
Task.TaskNameListener interface who can tell if in
some near or distant future some other class would need to???

An interface specify a "behaviour", while a class specifiy a "nature",
and those are two different things.

Maybe a plugin will need to listen to a Task name and it can do it
by implementing the interface and it's behaviuor.

If you remove the interface you bound the Task class to the TaskFrame,
so that no other class will ever be able to listen to it, and this is not 
good...

If you really want to remove the interface I suggest you modify the Task
class to accept any Object as a listener. Then it can discover by reflection
if that Object indeed has a taskNameChanged(String argName) method
and it will call it by reflection too.

Bye
Paolo Rizzi


> -----Messaggio originale-----
> Da: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] conto di
> Sunburned Surveyor
> Inviato: giovedì 3 luglio 2008 17.32
> A: OpenJump develop and use
> Oggetto: [JPP-Devel] The internal Task.TaskNameListener interface is
> notnecessary.
> 
> 
> See if you can follow this logic.
> 
> The Task class declares an internal interface named TaskNameListener.
> This internal interface contains a single methor,
> taskNameChanged(String argName). There is only one class that
> implements this interface, TaskFrame.
> 
> However, TaskFrame never uses the String argument from this method. If
> there is a name change the TaskFrame accesses the name from the Task
> it displays directly.
> 
> Unless we think there will be other implementations of the
> TaskNameListener in the future, I recommend we remove the
> Task.TaskNameListener interface. It is unecessary "code fat". We
> should do this instead:
> 
> - Replace the list of Task.TaskNameListeners in each Task object with
> a list of TaskFrame references.
> - Leave a no-argument taskNameChanged method on the TaskFrame class.
> - When a TaskFrame is being constructed to display a Task, add a
> reference to the TaskFrame to the list of TaskFrames in the Task that
> will be displayed.
> 
> This will accomplish the same thing, without the need for the
> TaskNameListener interface and the taskNameChanged(String argName)
> method whose String argument is never used.
> 
> The Sunburned Surveyor
> 
> --------------------------------------------------------------
> -----------
> Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
> Studies have shown that voting for your favorite open source project,
> along with a healthy diet, reduces your potential for chronic lameness
> and boredom. Vote Now at http://www.sourceforge.net/community/cca08
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> 

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to