FluentHelperT
- The fluent helper type.EntityT
- The type of the entity to update.public abstract class FluentHelperUpdate<FluentHelperT,EntityT extends VdmEntity<?>> extends FluentHelperBasic<FluentHelperT,EntityT,com.sap.cloud.sdk.odatav2.connectivity.ODataUpdateResult>
executing
it.Constructor and Description |
---|
FluentHelperUpdate(String servicePath)
Instantiates this fluent helper using the given service path to send the requests.
|
Modifier and Type | Method and Description |
---|---|
FluentHelperT |
disableVersionIdentifier()
The update request will ignore any version identifier present on the entity and not send an `If-Match` header.
|
com.sap.cloud.sdk.odatav2.connectivity.ODataUpdateResult |
execute(HttpDestinationProperties destination)
Deprecated.
Use the improved method
executeRequest(HttpDestinationProperties) instead. |
ModificationResponse<EntityT> |
executeRequest(HttpDestinationProperties destination)
Executes this request.
|
protected abstract EntityT |
getEntity()
The entity object to be updated by calling the
execute(HttpDestinationProperties) method. |
protected Class<? extends EntityT> |
getEntityClass()
Returns a class object of the type this fluent helper works with.
|
protected com.sap.cloud.sdk.odatav2.connectivity.ODataUpdateRequestBuilder |
getQueryBuilder()
Deprecated.
|
FluentHelperT |
ignoreVersionIdentifier()
Deprecated.
Use
matchAnyVersionIdentifier() or disableVersionIdentifier() instead. |
FluentHelperT |
ignoringVersionIdentifier(boolean ignore)
Deprecated.
Use
matchAnyVersionIdentifier() or disableVersionIdentifier() instead. |
FluentHelperT |
includingFields(EntityField<EntityT,?>... 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.
|
FluentHelperT |
matchAnyVersionIdentifier()
The update request will ignore any version identifier present on the entity and update the entity, regardless of
any changes on the remote entity.
|
FluentHelperT |
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.
|
FluentHelperT |
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.
|
com.sap.cloud.sdk.odatav2.connectivity.ODataUpdateRequest |
toQuery()
Deprecated.
Use the improved method
toRequest() instead. |
ODataRequestUpdate |
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. |
and, cachingMetadata, getHeaders, getHeadersForRequestAndImplicitRequests, getHeadersForRequestOnly, getParametersForRequestOnly, getServicePath, getThis, getVersionIdentifier, isCachingMetadata, onRequestAndImplicitRequests, onRequestOnly, withHeader, withHeaders, withoutCachingMetadata, withQueryParameter
protected abstract EntityT getEntity()
execute(HttpDestinationProperties)
method.@Nonnull protected Class<? extends EntityT> getEntityClass()
getEntityClass
in class FluentHelperBasic<FluentHelperT,EntityT extends VdmEntity<?>,com.sap.cloud.sdk.odatav2.connectivity.ODataUpdateResult>
@Deprecated @Nonnull protected com.sap.cloud.sdk.odatav2.connectivity.ODataUpdateRequestBuilder getQueryBuilder()
ODataUpdateRequestBuilder
based on the Entity class.
The following settings are necessary to build the ODataQueryBuilder
:
ODataQueryBuilder
.@Nonnull @Deprecated public com.sap.cloud.sdk.odatav2.connectivity.ODataUpdateRequest 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 FluentHelperT ignoringVersionIdentifier(boolean ignore)
matchAnyVersionIdentifier()
or disableVersionIdentifier()
instead.Warning: Be careful with this option, as this might overwrite any changes made to the remote representation of this object.
ignore
- Boolean indicating whether the version identifier shall be ignored@Deprecated @Nonnull public FluentHelperT ignoreVersionIdentifier()
matchAnyVersionIdentifier()
or disableVersionIdentifier()
instead.Warning: Be careful with this option, as this might overwrite any changes made to the remote representation of this object.
@Nonnull public FluentHelperT disableVersionIdentifier()
Warning: This might lead to a response from the remote system that the `If-Match` header is missing.
It depends on the implementation of the remote system whether the `If-Match` header is expected.
@Nonnull public FluentHelperT matchAnyVersionIdentifier()
Warning: Be careful with this option, as this might overwrite any changes made to the remote representation of this object.
@Nullable @Deprecated public com.sap.cloud.sdk.odatav2.connectivity.ODataUpdateResult execute(@Nonnull HttpDestinationProperties destination) throws com.sap.cloud.sdk.odatav2.connectivity.ODataException
executeRequest(HttpDestinationProperties)
instead.replacingEntity()
.execute
in class FluentHelperBasic<FluentHelperT,EntityT extends VdmEntity<?>,com.sap.cloud.sdk.odatav2.connectivity.ODataUpdateResult>
destination
- Supply destination for executing the underlying OData query.VersionIdentifierMissingException
- if a version identifier was requested by the remote, but not provided.VersionIdentifierExpiredException
- if the provided version identifier is no longer valid. To recover from this request obtain a new
version identifier from the remote and call execute the update again.com.sap.cloud.sdk.odatav2.connectivity.ODataException
- The exception occurred during request execution@Nonnull public ModificationResponse<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<?>,com.sap.cloud.sdk.odatav2.connectivity.ODataUpdateResult>
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.@Beta @Nonnull public ODataRequestUpdate toRequest()
FluentHelperBasic
ODataRequestGeneric
.@Nonnull @SafeVarargs public final FluentHelperT includingFields(@Nonnull EntityField<EntityT,?>... fields)
fields
- The fields to be included in the update execution.@Nonnull public final FluentHelperT replacingEntity()
@Nonnull public final FluentHelperT modifyingEntity()
Copyright © 2021 SAP SE. All rights reserved.