Недавно мы с коллегой встречали это предупреждение несколько раз. Для кода ниже:
package com.mycompany.product.data;
import com.mycompany.product.dao.GenericDAO;
public abstract class EntityBean {
public abstract GenericDAO<Object, Long> getDAO();
// ^^^^^^ <-- WARNING OCCURS HERE
}
предупреждение появляется в указанном месте как
EntityBean.getDAO() has non-API return type GenericDAO<T, ID>
Поиск в Google "имеет тип возврата, отличный от API", показывает только случаи, когда это сообщение появляется в списках проблем. То есть публичного объяснения этому нет.
Что это значит? Мы можем создать фильтр проблем использования в Eclipse, чтобы сообщение исчезло, но мы не хотим этого делать, если наше использование является допустимой проблемой.
Спасибо!
РЕДАКТИРОВАТЬ : Это предупреждение не относится к параметризации, так как это объявление getFactory()
также приводит к тому же предупреждению:
public abstract class EntityBean {
protected DAOFactory getFactory() {
return DAOFactory.instance(DAOFactory.HIBERNATE);
}
}