Да, это потому, что бизнес-объекты могут иметь разные реализации в зависимости от контекста (приложения).
Если вы посмотрите, как остальные API это делают (см. ProductListResource
), они вызывают метод ProductHandler
(см. ProductHandlerImpl
):
getProducts(Domain currentChannel, CatalogCategoryBO category, String searchTerm, String localeId,...)
Кажется, только параметр категории является обязательным, остальные параметры могут быть нулевыми. Дополнительным преимуществом является то, что этот код будет вызывать индекс Solr (если он у вас включен), поэтому он должен работать лучше, чем выполнение запроса к базе данных (что также возможно).