Class BulkRequestOperation

java.lang.Object
com.fasterxml.jackson.databind.JsonSerializable.Base
com.fasterxml.jackson.databind.JsonNode
com.fasterxml.jackson.databind.node.BaseJsonNode
com.fasterxml.jackson.databind.node.ContainerNode<com.fasterxml.jackson.databind.node.ObjectNode>
com.fasterxml.jackson.databind.node.ObjectNode
de.captaingoldfish.scim.sdk.common.resources.base.ScimObjectNode
de.captaingoldfish.scim.sdk.common.request.BulkRequestOperation
All Implemented Interfaces:
com.fasterxml.jackson.core.TreeNode, com.fasterxml.jackson.databind.JsonSerializable, com.fasterxml.jackson.databind.node.JsonNodeCreator, ScimNode, Serializable, Iterable<com.fasterxml.jackson.databind.JsonNode>

public class BulkRequestOperation extends ScimObjectNode
author Pascal Knueppel
created at: 25.10.2019 - 21:12

Defines operations within a bulk job. Each operation corresponds to a single HTTP request against a resource endpoint. REQUIRED.
See Also:
  • Field Details

    • uniqueIdentifier

      public String uniqueIdentifier
      this identifier is exclusively used on bulk requests to be able to check if this request was already tried to be handled once. If this happens and the second try fails too, this operation is marked as failure within the bulk response. This is necessary in order to find bulkId references that cannot be resolved.
  • Constructor Details

    • BulkRequestOperation

      public BulkRequestOperation()
    • BulkRequestOperation

      public BulkRequestOperation(HttpMethod method, String bulkId, String path, String data, ETag version, Boolean returnResource, Integer maxResourceLevel)
      Parameters:
      method - The HTTP method of the current operation. Possible values are "POST", "PUT", "PATCH", or "DELETE". REQUIRED.
      bulkId - The transient identifier of a newly created resource, unique within a bulk request and created by the client. The bulkId serves as a surrogate resource id enabling clients to uniquely identify newly created resources in the response and cross-reference new resources in and across operations within a bulk request. REQUIRED when "method" is "POST".
      path - The resource's relative path to the SCIM service provider's root. If "method" is "POST", the value must specify a resource type endpoint, e.g., /Users or /Groups, whereas all other "method" values must specify the path to a specific resource, e.g., /Users/2819c223-7f76-453a-919d-413861904646. REQUIRED in a request.
      data - The resource data as it would appear for a single SCIM POST, PUT, or PATCH operation. REQUIRED in a request when "method" is "POST", "PUT", or "PATCH".
      version - The version of the resource being returned. This value must be the same as the entity-tag (ETag) HTTP response header (see Sections 2.1 and 2.3 of [RFC7232]). This attribute has "caseExact" as "true". Service provider support for this attribute is optional and subject to the service provider's support for versioning (see Section 3.14 of [RFC7644]). If a service provider provides "version" (entity-tag) for a representation and the generation of that entity-tag does not satisfy all of the characteristics of a strong validator (see Section 2.1 of [RFC7232]), then the origin server MUST mark the "version" (entity-tag) as weak by prefixing its opaque value with "W/" (case sensitive).
      returnResource - this field allows clients to explicitly ask the server to return the created or modified resource in the bulk response. This does only work with the SCIM-SDK server implementation under the condition that the feature BulkConfig.isReturnResourcesEnabled() is enabled in the ServiceProvider configuration.
      maxResourceLevel - this field allows clients to limit the number of transitive retrieved resources from the bulk-response to keep the response profile low. This is a custom feature usable with the SCIM-SDK server implementation that is only usable if the BulkConfig.isSupportBulkGet() feature is enabled within the ServiceProvider configuration.
  • Method Details

    • getMethod

      public HttpMethod getMethod()
      The HTTP method of the current operation. Possible values are "POST", "PUT", "PATCH", or "DELETE". REQUIRED.
    • setMethod

      public void setMethod(HttpMethod method)
      The HTTP method of the current operation. Possible values are "POST", "PUT", "PATCH", or "DELETE". REQUIRED.
    • getBulkId

      public Optional<String> getBulkId()
      The transient identifier of a newly created resource, unique within a bulk request and created by the client. The bulkId serves as a surrogate resource id enabling clients to uniquely identify newly created resources in the response and cross-reference new resources in and across operations within a bulk request. REQUIRED when "method" is "POST".
    • setBulkId

      public void setBulkId(String bulkId)
      The transient identifier of a newly created resource, unique within a bulk request and created by the client. The bulkId serves as a surrogate resource id enabling clients to uniquely identify newly created resources in the response and cross-reference new resources in and across operations within a bulk request. REQUIRED when "method" is "POST".
    • getPath

      public String getPath()
      The resource's relative path to the SCIM service provider's root. If "method" is "POST", the value must specify a resource type endpoint, e.g., /Users or /Groups, whereas all other "method" values must specify the path to a specific resource, e.g., /Users/2819c223-7f76-453a-919d-413861904646. REQUIRED in a request.
    • setPath

      public void setPath(String path)
      The resource's relative path to the SCIM service provider's root. If "method" is "POST", the value must specify a resource type endpoint, e.g., /Users or /Groups, whereas all other "method" values must specify the path to a specific resource, e.g., /Users/2819c223-7f76-453a-919d-413861904646. REQUIRED in a request.
    • getData

      public Optional<String> getData()
      The resource data as it would appear for a single SCIM POST, PUT, or PATCH operation. REQUIRED in a request when "method" is "POST", "PUT", or "PATCH".
    • setData

      public void setData(String data)
      The resource data as it would appear for a single SCIM POST, PUT, or PATCH operation. REQUIRED in a request when "method" is "POST", "PUT", or "PATCH".
    • setData

      public void setData(com.fasterxml.jackson.databind.JsonNode data)
      The resource data as it would appear for a single SCIM POST, PUT, or PATCH operation. REQUIRED in a request when "method" is "POST", "PUT", or "PATCH".
    • getVersion

      public Optional<ETag> getVersion()
      The version of the resource being returned. This value must be the same as the entity-tag (ETag) HTTP response header (see Sections 2.1 and 2.3 of [RFC7232]). This attribute has "caseExact" as "true". Service provider support for this attribute is optional and subject to the service provider's support for versioning (see Section 3.14 of [RFC7644]). If a service provider provides "version" (entity-tag) for a representation and the generation of that entity-tag does not satisfy all of the characteristics of a strong validator (see Section 2.1 of [RFC7232]), then the origin server MUST mark the "version" (entity-tag) as weak by prefixing its opaque value with "W/" (case sensitive).
    • setVersion

      public void setVersion(String version)
      The version of the resource being returned. This value must be the same as the entity-tag (ETag) HTTP response header (see Sections 2.1 and 2.3 of [RFC7232]). This attribute has "caseExact" as "true". Service provider support for this attribute is optional and subject to the service provider's support for versioning (see Section 3.14 of [RFC7644]). If a service provider provides "version" (entity-tag) for a representation and the generation of that entity-tag does not satisfy all of the characteristics of a strong validator (see Section 2.1 of [RFC7232]), then the origin server MUST mark the "version" (entity-tag) as weak by prefixing its opaque value with "W/" (case sensitive).
    • setVersion

      public void setVersion(ETag version)
      The version of the resource being returned. This value must be the same as the entity-tag (ETag) HTTP response header (see Sections 2.1 and 2.3 of [RFC7232]). This attribute has "caseExact" as "true". Service provider support for this attribute is optional and subject to the service provider's support for versioning (see Section 3.14 of [RFC7644]). If a service provider provides "version" (entity-tag) for a representation and the generation of that entity-tag does not satisfy all of the characteristics of a strong validator (see Section 2.1 of [RFC7232]), then the origin server MUST mark the "version" (entity-tag) as weak by prefixing its opaque value with "W/" (case sensitive).
    • isReturnResource

      public Optional<Boolean> isReturnResource()
      this field allows clients to explicitly ask to return the created or modified resource in the bulk response.
    • setReturnResource

      public void setReturnResource(Boolean returnResource)
      this field allows clients to explicitly ask the server to return the created or modified resource in the bulk response. This does only work with the SCIM-SDK server implementation under the condition that the feature is enabled in the ServiceProvider configuration.
    • getMaxResourceLevel

      public Integer getMaxResourceLevel()
      this field allows clients to limit the number of transitive retrieved resources from the bulk-response to keep the response profile low
    • setMaxResourceLevel

      public void setMaxResourceLevel(Integer maxResourceLevel)
      this field allows clients to limit the number of transitive retrieved resources from the bulk-response to keep the response profile low
    • builder

    • getUniqueIdentifier

      public String getUniqueIdentifier()
      this identifier is exclusively used on bulk requests to be able to check if this request was already tried to be handled once. If this happens and the second try fails too, this operation is marked as failure within the bulk response. This is necessary in order to find bulkId references that cannot be resolved.
    • setUniqueIdentifier

      public void setUniqueIdentifier(String uniqueIdentifier)
      this identifier is exclusively used on bulk requests to be able to check if this request was already tried to be handled once. If this happens and the second try fails too, this operation is marked as failure within the bulk response. This is necessary in order to find bulkId references that cannot be resolved.