Modifier | Constructor and Description |
---|---|
|
UpdateRequestBuilder(String servicePath,
EntityT entity)
Instantiate an
UpdateRequestBuilder . |
protected |
UpdateRequestBuilder(String servicePath,
EntityT entity,
com.sap.cloud.sdk.datamodel.odatav4.core.CsrfTokenRetriever csrfTokenRetriever)
Instantiate an
UpdateRequestBuilder . |
Modifier and Type | Method and Description |
---|---|
ModificationResponse<EntityT> |
execute(HttpDestinationProperties destination)
Execute the OData update request for the provided entity.
|
protected com.sap.cloud.sdk.datamodel.odatav4.core.CsrfTokenRetriever |
getCsrfTokenRetriever() |
protected EntityT |
getEntity()
The entity object to be updated by calling the
execute(HttpDestinationProperties) method. |
protected Class<EntityT> |
getEntityClass()
Returns a class object of the type this fluent helper works with.
|
protected Map<String,String> |
getHeaders()
A map containing the headers to be used only for the actual request of this FluentHelper implementation.
|
protected List<ODataRequestListener> |
getListeners() |
protected Map<String,String> |
getParametersForRequestOnly()
A map containing the custom query parameters to be used only for the actual request of this FluentHelper
implementation.
|
protected String |
getServicePath() |
protected FluentHelperT |
getThis()
Get the reference to this instance.
|
UpdateRequestBuilder<EntityT> |
includingFields(Expressions.FieldReference... fields)
Allows to explicitly specify entity fields that shall be sent in an update request regardless if the values of
these fields have been changed.
|
UpdateRequestBuilder<EntityT> |
modifyingEntity()
Allows to control that the request to update the entity is sent with the HTTP method PATCH and its payload
contains the changed fields only.
|
UpdateRequestBuilder<EntityT> |
replacingEntity()
Allows to control that the request to update the entity is sent with the HTTP method PUT and its payload contains
all fields of the entity, regardless which of them have been changed.
|
ODataRequestUpdate |
toRequest()
Creates an instance of the
ODataRequestUpdate based on the Entity class. |
io.vavr.control.Try<ResultT> |
tryExecute(HttpDestinationProperties destination)
Safely execute the OData request.
|
FluentHelperT |
withHeader(String key,
String value)
Gives the option to specify custom HTTP headers.
|
FluentHelperT |
withHeaders(Map<String,String> map)
Gives the option to specify a map of custom HTTP headers.
|
FluentHelperT |
withListener(ODataRequestListener listener)
An error handling class that implements the error result handler interface can be attached to this fluent helper.
|
FluentHelperT |
withQueryParameter(String key,
String value)
Gives the option to specify custom query parameters for the request.
|
public UpdateRequestBuilder(@Nonnull String servicePath, @Nonnull EntityT entity)
UpdateRequestBuilder
.servicePath
- The service path.entity
- The entity to update.protected UpdateRequestBuilder(@Nonnull String servicePath, @Nonnull EntityT entity, @Nullable com.sap.cloud.sdk.datamodel.odatav4.core.CsrfTokenRetriever csrfTokenRetriever)
UpdateRequestBuilder
.servicePath
- The service path.entity
- The entity to update.csrfTokenRetriever
- The optional CSRF token retriever instance.@Nonnull protected Class<EntityT> getEntityClass()
@Nonnull public ModificationResponse<EntityT> execute(@Nonnull HttpDestinationProperties destination)
destination
- The destination to be used as request target.@Nonnull @Beta public ODataRequestUpdate toRequest()
ODataRequestUpdate
based on the Entity class.
The following settings are used to build the Request Builder:
ODataRequestUpdate
.ODataSerializationException
- If entity cannot be serialized for HTTP request.@Nonnull public final UpdateRequestBuilder<EntityT> includingFields(@Nonnull Expressions.FieldReference... fields)
fields
- The fields to be included in the update execution.@Nonnull public final UpdateRequestBuilder<EntityT> replacingEntity()
@Nonnull public final UpdateRequestBuilder<EntityT> modifyingEntity()
protected EntityT getEntity()
execute(HttpDestinationProperties)
method.@Nonnull protected FluentHelperT getThis()
@Nonnull public io.vavr.control.Try<ResultT> tryExecute(@Nonnull HttpDestinationProperties destination)
destination
- The destination to be used as request target.Try
block.@Nonnull @Beta public FluentHelperT withListener(@Nonnull ODataRequestListener listener)
execute
method. If this method
is not called, then an instance of ODataRequestListener is used. Only one handler can be attached at a time per
fluent helper object, so calling this multiple times will replace the handler.listener
- Instance of an error handler class that implements the error result handler interface.@Nonnull @Beta public FluentHelperT withHeader(@Nonnull String key, @Nullable String value)
key
- Name of the (first) desired HTTP header parameter.value
- Value of the (first) desired HTTP header parameter.@Nonnull @Beta public FluentHelperT withHeaders(@Nonnull Map<String,String> map)
map
- A map of HTTP header key/value pairs.@Nonnull @Beta 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 request.
Example: Use the request 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")
key
- Name of the query parameter.value
- Value of the query parameter.@Nonnull protected com.sap.cloud.sdk.datamodel.odatav4.core.CsrfTokenRetriever getCsrfTokenRetriever()
@Nonnull protected Map<String,String> getHeaders()
@Nonnull protected Map<String,String> getParametersForRequestOnly()
@Nonnull protected List<ODataRequestListener> getListeners()
Copyright © 2020 SAP SE. All rights reserved.