FluentHelperT
- The fluent helper type.EntityT
- The type of the result entity.SelectableT
- The type of the class that represents fields of the entity.public abstract class FluentHelperByKey<FluentHelperT,EntityT extends VdmEntity<?>,SelectableT> extends FluentHelperBasic<FluentHelperT,EntityT,EntityT>
executing
it.Constructor and Description |
---|
FluentHelperByKey(String servicePath)
Instantiates this fluent helper using the given service path to send the requests.
|
Modifier and Type | Method and Description |
---|---|
EntityT |
execute(HttpDestinationProperties destination)
Deprecated.
Use the improved method
executeRequest(HttpDestinationProperties) instead. |
EntityT |
executeRequest(HttpDestinationProperties destination)
Executes this request.
|
protected abstract Map<String,Object> |
getKey()
Getter for a map containing the OData name of key properties, each mapped to the value to search by.
|
protected com.sap.cloud.sdk.odatav2.connectivity.ODataQueryBuilder |
getQueryBuilder()
Deprecated.
|
FluentHelperT |
select(SelectableT... fields)
Query modifier to limit which field values of the entity get fetched & populated.
|
com.sap.cloud.sdk.odatav2.connectivity.ODataQuery |
toQuery()
Deprecated.
Use the improved method
toRequest() instead. |
ODataRequestReadByKey |
toRequest()
Translate this OData v2 request into a OData request object extending
ODataRequestGeneric . |
FluentHelperT |
withErrorHandler(com.sap.cloud.sdk.odatav2.connectivity.ErrorResultHandler<?> errorResultHandler)
Deprecated.
Obsolete, refer to
ODataException and its
subclasses to achieve fine-grained separation of error causes. |
FluentHelperT |
withQueryParameter(String key,
String value)
Gives the option to specify custom query parameters for the request.
|
and, cachingMetadata, getEntityClass, getHeaders, getHeadersForRequestAndImplicitRequests, getHeadersForRequestOnly, getParametersForRequestOnly, getServicePath, getThis, getVersionIdentifier, isCachingMetadata, onRequestAndImplicitRequests, onRequestOnly, withHeader, withHeaders, withoutCachingMetadata
@Nonnull protected abstract Map<String,Object> getKey()
@Nonnull @Deprecated protected com.sap.cloud.sdk.odatav2.connectivity.ODataQueryBuilder getQueryBuilder()
ODataQueryBuilder
based on the Entity class.
The following settings are necessary to build the ODataQueryBuilder
:
ODataQueryBuilder
.@Beta @Nonnull public ODataRequestReadByKey toRequest()
FluentHelperBasic
ODataRequestGeneric
.@Nonnull public FluentHelperT withQueryParameter(@Nonnull String key, @Nullable String value)
Note: It is recommended to only use this function for query parameters which are not supported by the VDM by default. Using this function to bypass fluent helper method calls can lead to unsupported response handling. There is no contract on the order or priority of parameters added to the query.
Example: Use the query option $search
to reduce the result set, leaving only
entities which match the specified search expression. This feature is supported in protocol OData v4.
new DefaultBusinessPartnerService().getAllBusinessPartner().withQueryParameter("$search", "Köln OR Cologne")
withQueryParameter
in class FluentHelperBasic<FluentHelperT,EntityT extends VdmEntity<?>,EntityT extends VdmEntity<?>>
key
- Name of the query parameter.value
- Unencoded value of the query parameter.@Nonnull public FluentHelperT select(@Nonnull SelectableT... fields)
fields
- Array of fields to select.@Nonnull @Deprecated public com.sap.cloud.sdk.odatav2.connectivity.ODataQuery toQuery()
toRequest()
instead.@Nonnull @Deprecated public FluentHelperT withErrorHandler(@Nonnull com.sap.cloud.sdk.odatav2.connectivity.ErrorResultHandler<?> errorResultHandler)
ODataException
and its
subclasses to achieve fine-grained separation of error causes.ErrorResultHandler
interface can be
attached to this fluent helper. This allows custom logic to be called when an error occurs in the execute
method. If this method is not called, then an instance of
ODataVdmErrorResultHandler
is used.
Only one handler can be attached at a time per fluent helper object, so calling this multiple times will replace
the handler.errorResultHandler
- Instance of an error handler class that implements the ErrorResultHandler
interface.@Nonnull @Deprecated public EntityT execute(@Nonnull HttpDestinationProperties destination) throws com.sap.cloud.sdk.odatav2.connectivity.ODataException
executeRequest(HttpDestinationProperties)
instead.execute
in class FluentHelperBasic<FluentHelperT,EntityT extends VdmEntity<?>,EntityT extends VdmEntity<?>>
destination
- Supply the destination for executing the underlying OData query.com.sap.cloud.sdk.odatav2.connectivity.ODataException
- The exception occurred during request execution@Nonnull public EntityT executeRequest(@Nonnull HttpDestinationProperties destination)
execute(HttpDestinationProperties)
. Contrary to
execute(HttpDestinationProperties)
this operation does not request the service metadata before
performing the actual request. As a consequence FluentHelperBasic.withoutCachingMetadata()
and FluentHelperBasic.cachingMetadata()
have no effect on this operation. Furthermore, error handlers registered via
withErrorHandler(ErrorResultHandler)
will not be respected.executeRequest
in interface FluentHelperExecutable<Object>
executeRequest
in class FluentHelperBasic<FluentHelperT,EntityT extends VdmEntity<?>,EntityT extends VdmEntity<?>>
destination
- The target system this request should be issued against.DestinationAccessException
- If there is an issue accessing the
HttpDestination
.HttpClientInstantiationException
- If there is an issue creating the HttpClient
.ODataException
- If the OData request execution failed. Please find the documentation for ODataException
possible sub-types and error scenarios they can occur in.Copyright © 2021 SAP SE. All rights reserved.