Class ServiceProvider

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>
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 ServiceProvider extends ResourceNode
author Pascal Knueppel
created at: 18.10.2019 - 09:39

SCIM provides a schema for representing the service provider's configuration, identified using the following schema URI: "urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig". The service provider configuration resource enables a service provider to discover SCIM specification features in a standardized form as well as provide additional implementation details to clients. All attributes have a mutability of "readOnly". Unlike other core resources, the "id" attribute is not required for the service provider configuration resource.
See Also:
  • Constructor Details

    • ServiceProvider

      public ServiceProvider(String documentationUri, PatchConfig patchConfig, ChangePasswordConfig changePasswordConfig, SortConfig sortConfig, ETagConfig eTagConfig, FilterConfig filterConfig, BulkConfig bulkConfig, List<AuthenticationScheme> authenticationSchemes, ForkJoinPool forkJoinPool, boolean caseInsensitiveValidation, boolean useDefaultValuesOnRequest, boolean useDefaultValuesOnResponse, Boolean ignoreRequiredAttributesOnResponse, Boolean ignoreRequiredExtensionsOnResponse, boolean lenientContentTypeChecking)
      Parameters:
      documentationUri - the URL to the documentation of the application
      patchConfig - the patch configuration
      changePasswordConfig - if changing passwords is supported or not
      sortConfig - the sorting configuration
      eTagConfig - the etag configuration
      filterConfig - the filter configuration
      bulkConfig - the bulk configuration
      authenticationSchemes - the supported authentication schemes
      forkJoinPool - the join pool that is used to handle parallel streams. The ForkJoinPool.commonPool() is used by default.
      caseInsensitiveValidation - if attributes within the JSON document should be extracted case-insensitive or case-sensitive. The difference here is that the case-insensitive check uses another comparator that eats up more performance than the case-sensitive comparator.
    • ServiceProvider

      public ServiceProvider()
  • Method Details

    • getDocumentationUri

      public Optional<String> getDocumentationUri()
      An HTTP-addressable URL pointing to the service provider's human-consumable help documentation. OPTIONAL.
    • setDocumentationUri

      public void setDocumentationUri(String documentationUri)
      An HTTP-addressable URL pointing to the service provider's human-consumable help documentation. OPTIONAL.
    • getPatchConfig

      public PatchConfig getPatchConfig()
      A complex type that specifies PATCH configuration options. REQUIRED. See Section 3.5.2 of [RFC7644].
    • setPatchConfig

      public void setPatchConfig(PatchConfig patchConfig)
      A complex type that specifies PATCH configuration options. REQUIRED. See Section 3.5.2 of [RFC7644].
    • getBulkConfig

      public BulkConfig getBulkConfig()
      A complex type that specifies bulk configuration options. See Section 3.7 of [RFC7644]. REQUIRED.
    • setBulkConfig

      public void setBulkConfig(BulkConfig bulkConfig)
      A complex type that specifies bulk configuration options. See Section 3.7 of [RFC7644]. REQUIRED.
    • getFilterConfig

      public FilterConfig getFilterConfig()
      A complex type that specifies FILTER options. REQUIRED. See Section 3.4.2.2 of [RFC7644].
    • setFilterConfig

      public void setFilterConfig(FilterConfig filterConfig)
      A complex type that specifies FILTER options. REQUIRED. See Section 3.4.2.2 of [RFC7644].
    • getChangePasswordConfig

      public ChangePasswordConfig getChangePasswordConfig()
      A complex type that specifies configuration options related to changing a password. REQUIRED.
    • setChangePasswordConfig

      public void setChangePasswordConfig(ChangePasswordConfig changePasswordConfig)
      A complex type that specifies configuration options related to changing a password. REQUIRED.
    • getSortConfig

      public SortConfig getSortConfig()
      A complex type that specifies Sort configuration options. REQUIRED.
    • setSortConfig

      public void setSortConfig(SortConfig sortConfig)
      A complex type that specifies Sort configuration options. REQUIRED.
    • getETagConfig

      public ETagConfig getETagConfig()
      A complex type that specifies ETag configuration options. REQUIRED.
    • setETagConfig

      public void setETagConfig(ETagConfig eTagConfig)
      A complex type that specifies ETag configuration options. REQUIRED.
    • getAuthenticationSchemes

      public List<AuthenticationScheme> getAuthenticationSchemes()
      A multi-valued complex type that specifies supported authentication scheme properties. To enable seamless discovery of configurations, the service provider SHOULD, with the appropriate security considerations, make the authenticationSchemes attribute publicly accessible without prior authentication. REQUIRED.
    • setAuthenticationSchemes

      public void setAuthenticationSchemes(List<AuthenticationScheme> authenticationSchemes)
      A multi-valued complex type that specifies supported authentication scheme properties. To enable seamless discovery of configurations, the service provider SHOULD, with the appropriate security considerations, make the authenticationSchemes attribute publicly accessible without prior authentication. REQUIRED.
    • setThreadPool

      public void setThreadPool(ForkJoinPool threadPool)
      See Also:
      • threadPool
    • builder

      public static ServiceProvider.ServiceProviderBuilder builder()
    • getThreadPool

      public ForkJoinPool getThreadPool()
      this thread pool can be set to override the default thread pool when resources are auto-sorted or auto-filtered
    • isCaseInsensitiveValidation

      public boolean isCaseInsensitiveValidation()
      if the attributes within the resource objects should be extracted case-insensitive or case exact by their attribute-names.
      This feature does not work for patch requests
    • isUseDefaultValuesOnRequest

      public boolean isUseDefaultValuesOnRequest()
      if the SchemaAttribute.getDefaultValue() should be respected on requests
    • setUseDefaultValuesOnRequest

      public void setUseDefaultValuesOnRequest(boolean useDefaultValuesOnRequest)
      if the SchemaAttribute.getDefaultValue() should be respected on requests
    • isUseDefaultValuesOnResponse

      public boolean isUseDefaultValuesOnResponse()
      if the SchemaAttribute.getDefaultValue() should be respected on responses
    • setUseDefaultValuesOnResponse

      public void setUseDefaultValuesOnResponse(boolean useDefaultValuesOnResponse)
      if the SchemaAttribute.getDefaultValue() should be respected on responses
    • isIgnoreRequiredAttributesOnResponse

      public boolean isIgnoreRequiredAttributesOnResponse()
      if required attributes should only be validated on request or on request and response
    • setIgnoreRequiredAttributesOnResponse

      public void setIgnoreRequiredAttributesOnResponse(boolean ignoreRequiredAttributesOnResponse)
      if required attributes should only be validated on request or on request and response
    • isIgnoreRequiredExtensionsOnResponse

      public boolean isIgnoreRequiredExtensionsOnResponse()
      if required extensions should only be validated on request or on request and response
    • setIgnoreRequiredExtensionsOnResponse

      public void setIgnoreRequiredExtensionsOnResponse(boolean ignoreRequiredExtensionsOnResponse)
      if required extensions should only be validated on request or on request and response
    • isLenientContentTypeChecking

      public boolean isLenientContentTypeChecking()