Package com.boomi.common.rest
Class RestOperation
- java.lang.Object
-
- com.boomi.connector.util.ContextualOperation
-
- com.boomi.connector.util.BaseOperation
-
- com.boomi.connector.util.BaseUpdateOperation
-
- com.boomi.common.rest.RestOperation
-
- All Implemented Interfaces:
Operation
- Direct Known Subclasses:
OpenAPIOperation
public class RestOperation extends BaseUpdateOperation
-
-
Constructor Summary
Constructors Constructor Description RestOperation(RestOperationConnection connection)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidexecuteUpdate(UpdateRequest request, OperationResponse operation)Actual implementation of this CREATE, UPDATE, or UPSERT Operation.RestOperationConnectiongetConnection()Returns the base connection that was either provided or created when this instance was created.protected HttpEntitygetEntity(ObjectData data)Returns the request HTTP Entity to be send to the service.protected Iterable<Map.Entry<String,String>>getHeaders(ObjectData data)Returns a list of Headers, defined using custom operation properties (key-value pairs), to include in the Request Headers on request execution.protected Map.Entry<Level,Supplier<String>>getLogMessageFor(HttpUriRequest request)Generates a log message for the given HTTP request.protected Iterable<Map.Entry<String,String>>getParameters(ObjectData data)Returns a list of Query Parameters to append to the final URI.protected StringgetPath(ObjectData data)protected booleanisRequestBodyRequired()Returns true if the RequestBody is mandatory for request execution.-
Methods inherited from class com.boomi.connector.util.BaseUpdateOperation
execute
-
Methods inherited from class com.boomi.connector.util.ContextualOperation
getContext
-
-
-
-
Constructor Detail
-
RestOperation
public RestOperation(RestOperationConnection connection)
-
-
Method Detail
-
executeUpdate
protected final void executeUpdate(UpdateRequest request, OperationResponse operation)
Description copied from class:BaseUpdateOperationActual implementation of this CREATE, UPDATE, or UPSERT Operation.- Specified by:
executeUpdatein classBaseUpdateOperation- Parameters:
request- request given toBaseUpdateOperation.execute(com.boomi.connector.api.OperationRequest, com.boomi.connector.api.OperationResponse), downcast to the correct typeoperation- response given toBaseUpdateOperation.execute(com.boomi.connector.api.OperationRequest, com.boomi.connector.api.OperationResponse)
-
getPath
protected String getPath(ObjectData data)
-
getParameters
protected Iterable<Map.Entry<String,String>> getParameters(ObjectData data)
Returns a list of Query Parameters to append to the final URI.- Parameters:
data- incoming request object data.- Returns:
- List of Query Entries
-
getHeaders
protected Iterable<Map.Entry<String,String>> getHeaders(ObjectData data)
Returns a list of Headers, defined using custom operation properties (key-value pairs), to include in the Request Headers on request execution.- Parameters:
data- incoming request object data.- Returns:
- List of Header Entries
-
getEntity
protected HttpEntity getEntity(ObjectData data) throws IOException
Returns the request HTTP Entity to be send to the service.- Parameters:
data-- Returns:
- the HTTP Entity
- Throws:
IOException
-
getConnection
public RestOperationConnection getConnection()
Description copied from class:ContextualOperationReturns the base connection that was either provided or created when this instance was created.- Overrides:
getConnectionin classContextualOperation- Returns:
- the base connection
-
isRequestBodyRequired
protected boolean isRequestBodyRequired()
Returns true if the RequestBody is mandatory for request execution. Override this method if your connector requires the request body / payload.- Returns:
- the requestBody required value.
-
getLogMessageFor
protected Map.Entry<Level,Supplier<String>> getLogMessageFor(HttpUriRequest request)
Generates a log message for the given HTTP request. This method creates a log entry consisting of the HTTP request's method and URI. The log entry is encapsulated in anAbstractMap.SimpleImmutableEntry, with the level beingLevel.INFOOverride this method if your connector wants to change the log being encapsulated- Returns:
- A
Map.Entry
-
-