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 |
---|---|
com.sap.cloud.sdk.odatav2.connectivity.ODataUpdateResult |
execute(HttpDestinationProperties destination)
Executes the underlying update 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()
Creates an instance of the
ODataUpdateRequestBuilder based on the Entity class. |
FluentHelperT |
ignoreVersionIdentifier()
The update request will ignore the given version identifier and writes the contained changes, regardless of any
changes on the remote entity.
|
FluentHelperT |
ignoringVersionIdentifier(boolean ignore)
You can specify whether the given version identifier shall be ignored and, as a consequence, the changes to the
remote entity shall be written in any case regardless of any previous changes on the remote entity.
|
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 |
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()
Provides access to the underlying Query object, to allow for custom integration scenarios not yet supported by
the virtual data model.
|
FluentHelperT |
withErrorHandler(com.sap.cloud.sdk.odatav2.connectivity.ErrorResultHandler<?> errorResultHandler)
An error handling class that implements the
ErrorResultHandler interface can be
attached to this fluent helper. |
cachingMetadata, getHeadersForRequestAndImplicitRequests, getHeadersForRequestOnly, getParametersForRequestOnly, getServicePath, getThis, getVersionIdentifier, isCachingMetadata, 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>
@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 public com.sap.cloud.sdk.odatav2.connectivity.ODataUpdateRequest toQuery()
@Nonnull public FluentHelperT withErrorHandler(@Nonnull com.sap.cloud.sdk.odatav2.connectivity.ErrorResultHandler<?> errorResultHandler)
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 public FluentHelperT ignoringVersionIdentifier(boolean ignore)
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@Nonnull public FluentHelperT ignoreVersionIdentifier()
Warning: Be careful with this option, as this might overwrite any changes made to the remote representation of this object.
@Nullable public com.sap.cloud.sdk.odatav2.connectivity.ODataUpdateResult execute(@Nonnull HttpDestinationProperties destination) throws com.sap.cloud.sdk.odatav2.connectivity.ODataException
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
@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 © 2020 SAP SE. All rights reserved.