Interface CPDefinitionOptionRelLocalService

All Superinterfaces:
com.liferay.portal.kernel.service.BaseLocalService, com.liferay.portal.kernel.service.change.tracking.CTService<CPDefinitionOptionRel>, com.liferay.portal.kernel.service.PersistedModelLocalService
All Known Implementing Classes:
CPDefinitionOptionRelLocalServiceWrapper

@CTAware @ProviderType @Transactional(isolation=PORTAL, rollbackFor={com.liferay.portal.kernel.exception.PortalException.class,com.liferay.portal.kernel.exception.SystemException.class}) public interface CPDefinitionOptionRelLocalService extends com.liferay.portal.kernel.service.BaseLocalService, com.liferay.portal.kernel.service.change.tracking.CTService<CPDefinitionOptionRel>, com.liferay.portal.kernel.service.PersistedModelLocalService
Provides the local service interface for CPDefinitionOptionRel. Methods of this service will not have security checks based on the propagated JAAS credentials because this service can only be accessed from within the same VM.
See Also:
Generated:
  • Method Details

    • addCPDefinitionOptionRel

      @Indexable(type=REINDEX) CPDefinitionOptionRel addCPDefinitionOptionRel(CPDefinitionOptionRel cpDefinitionOptionRel)
      Adds the cp definition option rel to the database. Also notifies the appropriate model listeners.

      Important: Inspect CPDefinitionOptionRelLocalServiceImpl for overloaded versions of the method. If provided, use these entry points to the API, as the implementation logic may require the additional parameters defined there.

      Parameters:
      cpDefinitionOptionRel - the cp definition option rel
      Returns:
      the cp definition option rel that was added
    • addCPDefinitionOptionRel

      CPDefinitionOptionRel addCPDefinitionOptionRel(long cpDefinitionId, long cpOptionId, boolean importOptionValue, com.liferay.portal.kernel.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • addCPDefinitionOptionRel

      CPDefinitionOptionRel addCPDefinitionOptionRel(long cpDefinitionId, long cpOptionId, Map<Locale,String> nameMap, Map<Locale,String> descriptionMap, String commerceOptionTypeKey, double priority, boolean facetable, boolean required, boolean skuContributor, boolean importOptionValue, com.liferay.portal.kernel.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • addCPDefinitionOptionRel

      @Indexable(type=REINDEX) CPDefinitionOptionRel addCPDefinitionOptionRel(long cpDefinitionId, long cpOptionId, Map<Locale,String> nameMap, Map<Locale,String> descriptionMap, String commerceOptionTypeKey, double priority, boolean facetable, boolean required, boolean skuContributor, boolean importOptionValue, String priceType, com.liferay.portal.kernel.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • addCPDefinitionOptionRel

      @Indexable(type=REINDEX) CPDefinitionOptionRel addCPDefinitionOptionRel(long cpDefinitionId, long cpOptionId, Map<Locale,String> nameMap, Map<Locale,String> descriptionMap, String commerceOptionTypeKey, String infoItemServiceKey, double priority, boolean definedExternally, boolean facetable, boolean required, boolean skuContributor, boolean importOptionValue, String priceType, String typeSettings, com.liferay.portal.kernel.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • addCPDefinitionOptionRel

      CPDefinitionOptionRel addCPDefinitionOptionRel(long cpDefinitionId, long cpOptionId, com.liferay.portal.kernel.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • createCPDefinitionOptionRel

      @Transactional(enabled=false) CPDefinitionOptionRel createCPDefinitionOptionRel(long CPDefinitionOptionRelId)
      Creates a new cp definition option rel with the primary key. Does not add the cp definition option rel to the database.
      Parameters:
      CPDefinitionOptionRelId - the primary key for the new cp definition option rel
      Returns:
      the new cp definition option rel
    • createPersistedModel

      com.liferay.portal.kernel.model.PersistedModel createPersistedModel(Serializable primaryKeyObj) throws com.liferay.portal.kernel.exception.PortalException
      Specified by:
      createPersistedModel in interface com.liferay.portal.kernel.service.PersistedModelLocalService
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • deleteCPDefinitionOptionRel

      @Indexable(type=DELETE) @SystemEvent(type=1) CPDefinitionOptionRel deleteCPDefinitionOptionRel(CPDefinitionOptionRel cpDefinitionOptionRel) throws com.liferay.portal.kernel.exception.PortalException
      Deletes the cp definition option rel from the database. Also notifies the appropriate model listeners.

      Important: Inspect CPDefinitionOptionRelLocalServiceImpl for overloaded versions of the method. If provided, use these entry points to the API, as the implementation logic may require the additional parameters defined there.

      Parameters:
      cpDefinitionOptionRel - the cp definition option rel
      Returns:
      the cp definition option rel that was removed
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • deleteCPDefinitionOptionRel

      @Indexable(type=DELETE) CPDefinitionOptionRel deleteCPDefinitionOptionRel(long CPDefinitionOptionRelId) throws com.liferay.portal.kernel.exception.PortalException
      Deletes the cp definition option rel with the primary key from the database. Also notifies the appropriate model listeners.

      Important: Inspect CPDefinitionOptionRelLocalServiceImpl for overloaded versions of the method. If provided, use these entry points to the API, as the implementation logic may require the additional parameters defined there.

      Parameters:
      CPDefinitionOptionRelId - the primary key of the cp definition option rel
      Returns:
      the cp definition option rel that was removed
      Throws:
      com.liferay.portal.kernel.exception.PortalException - if a cp definition option rel with the primary key could not be found
    • deleteCPDefinitionOptionRels

      void deleteCPDefinitionOptionRels(long cpDefinitionId) throws com.liferay.portal.kernel.exception.PortalException
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • deletePersistedModel

      com.liferay.portal.kernel.model.PersistedModel deletePersistedModel(com.liferay.portal.kernel.model.PersistedModel persistedModel) throws com.liferay.portal.kernel.exception.PortalException
      Specified by:
      deletePersistedModel in interface com.liferay.portal.kernel.service.PersistedModelLocalService
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • dslQuery

      @Transactional(propagation=SUPPORTS, readOnly=true) <T> T dslQuery(com.liferay.petra.sql.dsl.query.DSLQuery dslQuery)
      Specified by:
      dslQuery in interface com.liferay.portal.kernel.service.PersistedModelLocalService
    • dslQueryCount

      @Transactional(propagation=SUPPORTS, readOnly=true) int dslQueryCount(com.liferay.petra.sql.dsl.query.DSLQuery dslQuery)
      Specified by:
      dslQueryCount in interface com.liferay.portal.kernel.service.PersistedModelLocalService
    • dynamicQuery

      @Transactional(propagation=SUPPORTS, readOnly=true) com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery()
    • dynamicQuery

      @Transactional(propagation=SUPPORTS, readOnly=true) <T> List<T> dynamicQuery(com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
      Performs a dynamic query on the database and returns the matching rows.
      Parameters:
      dynamicQuery - the dynamic query
      Returns:
      the matching rows
    • dynamicQuery

      @Transactional(propagation=SUPPORTS, readOnly=true) <T> List<T> dynamicQuery(com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start, int end)
      Performs a dynamic query on the database and returns a range of the matching rows.

      Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent, then the query will include the default ORDER BY logic from com.liferay.commerce.product.model.impl.CPDefinitionOptionRelModelImpl.

      Parameters:
      dynamicQuery - the dynamic query
      start - the lower bound of the range of model instances
      end - the upper bound of the range of model instances (not inclusive)
      Returns:
      the range of matching rows
    • dynamicQuery

      @Transactional(propagation=SUPPORTS, readOnly=true) <T> List<T> dynamicQuery(com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start, int end, com.liferay.portal.kernel.util.OrderByComparator<T> orderByComparator)
      Performs a dynamic query on the database and returns an ordered range of the matching rows.

      Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent, then the query will include the default ORDER BY logic from com.liferay.commerce.product.model.impl.CPDefinitionOptionRelModelImpl.

      Parameters:
      dynamicQuery - the dynamic query
      start - the lower bound of the range of model instances
      end - the upper bound of the range of model instances (not inclusive)
      orderByComparator - the comparator to order the results by (optionally null)
      Returns:
      the ordered range of matching rows
    • dynamicQueryCount

      @Transactional(propagation=SUPPORTS, readOnly=true) long dynamicQueryCount(com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
      Returns the number of rows matching the dynamic query.
      Parameters:
      dynamicQuery - the dynamic query
      Returns:
      the number of rows matching the dynamic query
    • dynamicQueryCount

      @Transactional(propagation=SUPPORTS, readOnly=true) long dynamicQueryCount(com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, com.liferay.portal.kernel.dao.orm.Projection projection)
      Returns the number of rows matching the dynamic query.
      Parameters:
      dynamicQuery - the dynamic query
      projection - the projection to apply to the query
      Returns:
      the number of rows matching the dynamic query
    • fetchCPDefinitionOptionRel

      @Transactional(propagation=SUPPORTS, readOnly=true) CPDefinitionOptionRel fetchCPDefinitionOptionRel(long CPDefinitionOptionRelId)
    • fetchCPDefinitionOptionRel

      @Transactional(propagation=SUPPORTS, readOnly=true) CPDefinitionOptionRel fetchCPDefinitionOptionRel(long cpDefinitionId, long cpOptionId)
    • fetchCPDefinitionOptionRelByKey

      @Transactional(propagation=SUPPORTS, readOnly=true) CPDefinitionOptionRel fetchCPDefinitionOptionRelByKey(long cpDefinitionId, String key)
    • fetchCPDefinitionOptionRelByUuidAndGroupId

      @Transactional(propagation=SUPPORTS, readOnly=true) CPDefinitionOptionRel fetchCPDefinitionOptionRelByUuidAndGroupId(String uuid, long groupId)
      Returns the cp definition option rel matching the UUID and group.
      Parameters:
      uuid - the cp definition option rel's UUID
      groupId - the primary key of the group
      Returns:
      the matching cp definition option rel, or null if a matching cp definition option rel could not be found
    • getActionableDynamicQuery

      @Transactional(propagation=SUPPORTS, readOnly=true) com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery getActionableDynamicQuery()
    • getCPDefinitionOptionRel

      @Transactional(propagation=SUPPORTS, readOnly=true) CPDefinitionOptionRel getCPDefinitionOptionRel(long CPDefinitionOptionRelId) throws com.liferay.portal.kernel.exception.PortalException
      Returns the cp definition option rel with the primary key.
      Parameters:
      CPDefinitionOptionRelId - the primary key of the cp definition option rel
      Returns:
      the cp definition option rel
      Throws:
      com.liferay.portal.kernel.exception.PortalException - if a cp definition option rel with the primary key could not be found
    • getCPDefinitionOptionRelByUuidAndGroupId

      @Transactional(propagation=SUPPORTS, readOnly=true) CPDefinitionOptionRel getCPDefinitionOptionRelByUuidAndGroupId(String uuid, long groupId) throws com.liferay.portal.kernel.exception.PortalException
      Returns the cp definition option rel matching the UUID and group.
      Parameters:
      uuid - the cp definition option rel's UUID
      groupId - the primary key of the group
      Returns:
      the matching cp definition option rel
      Throws:
      com.liferay.portal.kernel.exception.PortalException - if a matching cp definition option rel could not be found
    • getCPDefinitionOptionRelCPDefinitionOptionValueRelIds

      @Transactional(propagation=SUPPORTS, readOnly=true) Map<Long,List<Long>> getCPDefinitionOptionRelCPDefinitionOptionValueRelIds(long cpDefinitionId, boolean skuContributorsOnly, com.liferay.portal.kernel.json.JSONArray skuOptionJSONArray) throws com.liferay.portal.kernel.exception.PortalException
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • getCPDefinitionOptionRelCPDefinitionOptionValueRelIds

      @Transactional(propagation=SUPPORTS, readOnly=true) Map<Long,List<Long>> getCPDefinitionOptionRelCPDefinitionOptionValueRelIds(long cpDefinitionId, boolean skuContributorsOnly, String json) throws com.liferay.portal.kernel.exception.PortalException
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • getCPDefinitionOptionRelCPDefinitionOptionValueRelIds

      @Transactional(propagation=SUPPORTS, readOnly=true) Map<Long,List<Long>> getCPDefinitionOptionRelCPDefinitionOptionValueRelIds(long cpDefinitionId, String json) throws com.liferay.portal.kernel.exception.PortalException
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • getCPDefinitionOptionRelKeysCPDefinitionOptionValueRelKeys

      @Transactional(propagation=SUPPORTS, readOnly=true) Map<String,List<String>> getCPDefinitionOptionRelKeysCPDefinitionOptionValueRelKeys(long cpInstanceId) throws com.liferay.portal.kernel.exception.PortalException
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • getCPDefinitionOptionRels

      @Transactional(propagation=SUPPORTS, readOnly=true) List<CPDefinitionOptionRel> getCPDefinitionOptionRels(int start, int end)
      Returns a range of all the cp definition option rels.

      Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent, then the query will include the default ORDER BY logic from com.liferay.commerce.product.model.impl.CPDefinitionOptionRelModelImpl.

      Parameters:
      start - the lower bound of the range of cp definition option rels
      end - the upper bound of the range of cp definition option rels (not inclusive)
      Returns:
      the range of cp definition option rels
    • getCPDefinitionOptionRels

      @Transactional(propagation=SUPPORTS, readOnly=true) List<CPDefinitionOptionRel> getCPDefinitionOptionRels(long cpDefinitionId)
    • getCPDefinitionOptionRels

      @Transactional(propagation=SUPPORTS, readOnly=true) List<CPDefinitionOptionRel> getCPDefinitionOptionRels(long cpDefinitionId, boolean skuContributor)
    • getCPDefinitionOptionRels

      @Transactional(propagation=SUPPORTS, readOnly=true) List<CPDefinitionOptionRel> getCPDefinitionOptionRels(long cpDefinitionId, int start, int end)
    • getCPDefinitionOptionRels

      @Transactional(propagation=SUPPORTS, readOnly=true) List<CPDefinitionOptionRel> getCPDefinitionOptionRels(long cpDefinitionId, int start, int end, com.liferay.portal.kernel.util.OrderByComparator<CPDefinitionOptionRel> orderByComparator)
    • getCPDefinitionOptionRelsByUuidAndCompanyId

      @Transactional(propagation=SUPPORTS, readOnly=true) List<CPDefinitionOptionRel> getCPDefinitionOptionRelsByUuidAndCompanyId(String uuid, long companyId)
      Returns all the cp definition option rels matching the UUID and company.
      Parameters:
      uuid - the UUID of the cp definition option rels
      companyId - the primary key of the company
      Returns:
      the matching cp definition option rels, or an empty list if no matches were found
    • getCPDefinitionOptionRelsByUuidAndCompanyId

      @Transactional(propagation=SUPPORTS, readOnly=true) List<CPDefinitionOptionRel> getCPDefinitionOptionRelsByUuidAndCompanyId(String uuid, long companyId, int start, int end, com.liferay.portal.kernel.util.OrderByComparator<CPDefinitionOptionRel> orderByComparator)
      Returns a range of cp definition option rels matching the UUID and company.
      Parameters:
      uuid - the UUID of the cp definition option rels
      companyId - the primary key of the company
      start - the lower bound of the range of cp definition option rels
      end - the upper bound of the range of cp definition option rels (not inclusive)
      orderByComparator - the comparator to order the results by (optionally null)
      Returns:
      the range of matching cp definition option rels, or an empty list if no matches were found
    • getCPDefinitionOptionRelsCount

      @Transactional(propagation=SUPPORTS, readOnly=true) int getCPDefinitionOptionRelsCount()
      Returns the number of cp definition option rels.
      Returns:
      the number of cp definition option rels
    • getCPDefinitionOptionRelsCount

      @Transactional(propagation=SUPPORTS, readOnly=true) int getCPDefinitionOptionRelsCount(long cpDefinitionId)
    • getCPDefinitionOptionRelsCount

      @Transactional(propagation=SUPPORTS, readOnly=true) int getCPDefinitionOptionRelsCount(long cpDefinitionId, boolean skuContributor)
    • getCPOptionCPDefinitionOptionRels

      @Transactional(propagation=SUPPORTS, readOnly=true) List<CPDefinitionOptionRel> getCPOptionCPDefinitionOptionRels(long cpOptionId)
    • getCPOptionCPDefinitionOptionRelsCount

      @Transactional(propagation=SUPPORTS, readOnly=true) int getCPOptionCPDefinitionOptionRelsCount(long cpOptionId)
    • getExportActionableDynamicQuery

      @Transactional(propagation=SUPPORTS, readOnly=true) com.liferay.portal.kernel.dao.orm.ExportActionableDynamicQuery getExportActionableDynamicQuery(com.liferay.exportimport.kernel.lar.PortletDataContext portletDataContext)
    • getIndexableActionableDynamicQuery

      @Transactional(propagation=SUPPORTS, readOnly=true) com.liferay.portal.kernel.dao.orm.IndexableActionableDynamicQuery getIndexableActionableDynamicQuery()
    • getOSGiServiceIdentifier

      String getOSGiServiceIdentifier()
      Returns the OSGi service identifier.
      Returns:
      the OSGi service identifier
    • getPersistedModel

      @Transactional(propagation=SUPPORTS, readOnly=true) com.liferay.portal.kernel.model.PersistedModel getPersistedModel(Serializable primaryKeyObj) throws com.liferay.portal.kernel.exception.PortalException
      Specified by:
      getPersistedModel in interface com.liferay.portal.kernel.service.PersistedModelLocalService
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • hasCPDefinitionPriceContributorCPDefinitionOptionRels

      @Transactional(propagation=SUPPORTS, readOnly=true) boolean hasCPDefinitionPriceContributorCPDefinitionOptionRels(long cpDefinitionId)
    • hasCPDefinitionRequiredCPDefinitionOptionRels

      @Transactional(propagation=SUPPORTS, readOnly=true) boolean hasCPDefinitionRequiredCPDefinitionOptionRels(long cpDefinitionId)
    • hasLinkedCPInstanceCPDefinitionOptionRels

      @Transactional(propagation=SUPPORTS, readOnly=true) boolean hasLinkedCPInstanceCPDefinitionOptionRels(long cpDefinitionId)
    • search

      @Transactional(propagation=SUPPORTS, readOnly=true) com.liferay.portal.kernel.search.Hits search(com.liferay.portal.kernel.search.SearchContext searchContext)
    • searchCPDefinitionOptionRels

      @Transactional(propagation=SUPPORTS, readOnly=true) com.liferay.portal.kernel.search.BaseModelSearchResult<CPDefinitionOptionRel> searchCPDefinitionOptionRels(long companyId, long groupId, long cpDefinitionId, String keywords, int start, int end, com.liferay.portal.kernel.search.Sort[] sorts) throws com.liferay.portal.kernel.exception.PortalException
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • searchCPDefinitionOptionRelsCount

      @Transactional(propagation=SUPPORTS, readOnly=true) int searchCPDefinitionOptionRelsCount(long companyId, long groupId, long cpDefinitionId, String keywords) throws com.liferay.portal.kernel.exception.PortalException
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • updateCPDefinitionOptionRel

      @Indexable(type=REINDEX) CPDefinitionOptionRel updateCPDefinitionOptionRel(CPDefinitionOptionRel cpDefinitionOptionRel)
      Updates the cp definition option rel in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.

      Important: Inspect CPDefinitionOptionRelLocalServiceImpl for overloaded versions of the method. If provided, use these entry points to the API, as the implementation logic may require the additional parameters defined there.

      Parameters:
      cpDefinitionOptionRel - the cp definition option rel
      Returns:
      the cp definition option rel that was updated
    • updateCPDefinitionOptionRel

      CPDefinitionOptionRel updateCPDefinitionOptionRel(long cpDefinitionOptionRelId, long cpOptionId, Map<Locale,String> nameMap, Map<Locale,String> descriptionMap, String commerceOptionTypeKey, double priority, boolean facetable, boolean required, boolean skuContributor, com.liferay.portal.kernel.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • updateCPDefinitionOptionRel

      @Indexable(type=REINDEX) CPDefinitionOptionRel updateCPDefinitionOptionRel(long cpDefinitionOptionRelId, long cpOptionId, Map<Locale,String> nameMap, Map<Locale,String> descriptionMap, String commerceOptionTypeKey, String infoItemServiceKey, double priority, boolean definedExternally, boolean facetable, boolean required, boolean skuContributor, String priceType, String typeSettings, com.liferay.portal.kernel.service.ServiceContext serviceContext) throws com.liferay.portal.kernel.exception.PortalException
      Throws:
      com.liferay.portal.kernel.exception.PortalException
    • getCTPersistence

      @Transactional(enabled=false) com.liferay.portal.kernel.service.persistence.change.tracking.CTPersistence<CPDefinitionOptionRel> getCTPersistence()
      Specified by:
      getCTPersistence in interface com.liferay.portal.kernel.service.change.tracking.CTService<CPDefinitionOptionRel>
    • getModelClass

      @Transactional(enabled=false) Class<CPDefinitionOptionRel> getModelClass()
      Specified by:
      getModelClass in interface com.liferay.portal.kernel.service.change.tracking.CTService<CPDefinitionOptionRel>
    • updateWithUnsafeFunction

      @Transactional(rollbackFor=java.lang.Throwable.class) <R, E extends Throwable> R updateWithUnsafeFunction(com.liferay.petra.function.UnsafeFunction<com.liferay.portal.kernel.service.persistence.change.tracking.CTPersistence<CPDefinitionOptionRel>,R,E> updateUnsafeFunction) throws E
      Specified by:
      updateWithUnsafeFunction in interface com.liferay.portal.kernel.service.change.tracking.CTService<CPDefinitionOptionRel>
      Throws:
      E extends Throwable