Hi, 

Thanks for helping me.

I am working on a new ModelProvider and I am currently working on the
notifications.

I have a number of question about IModelProviderEvent and the methods
provided by this class.

I have just opened a enchansment request
https://bugs.eclipse.org/bugs/show_bug.cgi?id=217418

but I then realize that maybe I do not understand the structure of
IModelProviderEvent and its use so here are my questions.

1. Why is the method public abstract void
addResources(Collection<Object> someResources); with a parameter of
Collection<Object>. Cant it be public abstract void
addResources(Collection<? extends Object> someResources); 
This way I will be able to execute

private void processAddedFiles(IModelProviderEvent modelEvent,
Collection<IFile> addedFiles) throws JavaModelException {
                modelEvent.addResources(addedFiles);
} 

and add the addedFiles collection directly to modelEvent.

2.What is the purpose of public abstract List<Object>
getChangedResources(); If this method is for retrieving the files that
this modelEvent is desribing wont it be more appropriate to name it
getAffectedResources(). Since I can also have removed and added
resources. Not just changedResources.

3.Why should the getChangedResources() method return a List. Since
addResources is accepting Collection won`t it be more appropriate to
return a Collection. Every implementation may provide a different
collection for such a general class as IModelProviderEvent

4.What is the purpose of the set* and add* methods. From my point of
view this methods should be part of the implenetation not from an
interface since the one notified with a model event wont need to add or
set a resource to the event. Only when constucting the event such
functionality is needed.

I am willing to open enchansment requests and to propose patches
changing the IModelProviderEvent. I will also change ModelProviderEvent
which is the default empty implementation, but maybe I am missing
something.

Thank you for the help. 

Best Regards,
Kiril 
_______________________________________________
wtp-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/wtp-dev

Reply via email to