Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[p2-dev] Extending classes with generics

Recently a number of the query API were changed to use generics, this causes some annoyances in PDE (as we are strictly 1.4), but up until now I can work around them.  However, I have a problem extending a class with generics, specifically MatchQuery

IQuery query = new MatchQuery() {
                        public boolean isMatch(Object candidate) {
                                if (candidate instanceof IInstallableUnit) {
                                        if (P2Utils.isBundle((IInstallableUnit) candidate)) {
                                                return true;
                                        }
                                }
                                return false;
                        }
                };

The compiler complains that I need to extend the isMatch(T candidate) instead, but I am unable to use generics in PDE.

As a side note, why was size() removed from IQueryResult?  It was quite convenient for me when creating arrays of InstallableUnitDescriptions and other objects that get filled in based on the query result iterator.  Now I have to grab one of the sets and ask it for the size.  Not a big deal, but it felt natural to ask the result for its size, since you can ask it for an iterator.

Curtis

Back to the top