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.resources.multicomplex.MultiComplexNode
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>
Direct Known Subclasses:
Address, AuthenticationScheme, Email, Entitlement, GroupNode, Ims, Member, PersonRole, PhoneNumber, Photo, ScimX509Certificate

public class MultiComplexNode extends ScimObjectNode
author Pascal Knueppel
created at: 11.10.2019 - 13:01

Multi-valued attributes contain a list of elements using the JSON array format defined in Section 5 of [RFC7159]. Elements can be either of the following: o primitive values, or o objects with a set of sub-attributes and values, using the JSON object format defined in Section 4 of [RFC7159], in which case they SHALL be considered to be complex attributes. As with complex attributes, the order of sub-attributes is not significant. The predefined sub-attributes listed in this section can be used with multi-valued attribute objects, but these sub-attributes MUST be used with the meanings defined here. If not otherwise defined, the default set of sub-attributes for a multi-valued attribute is as follows: type A label indicating the attribute's function, e.g., "work" or "home". primary A Boolean value indicating the 'primary' or preferred attribute value for this attribute, e.g., the preferred mailing address or the primary email address. The primary attribute value "true" MUST appear no more than once. If not specified, the value of "primary" SHALL be assumed to be "false". display A human-readable name, primarily used for display purposes and having a mutability of "immutable". value The attribute's significant value, e.g., email address, phone number. $ref The reference URI of a target resource, if the attribute is a reference. URIs are canonicalized per Section 6.2 of [RFC3986]. While the representation of a resource may vary in different SCIM protocol API versions (see Section 3.13 of [RFC7644]), URIs for SCIM resources with an API version SHALL be considered comparable to URIs without a version or with a different version. For example, "https://example.com/Users/12345" is equivalent to "https://example.com/v2/Users/12345". When returning multi-valued attributes, service providers SHOULD canonicalize the value returned (e.g., by returning a value for the sub-attribute "type", such as "home" or "work") when appropriate (e.g., for email addresses and URLs). Service providers MAY return element objects with the same "value" sub-attribute more than once with a different "type" sub-attribute (e.g., the same email address may be used for work and home) but SHOULD NOT return the same (type, value) combination more than once per attribute, as this complicates processing by the client. When defining schema for multi-valued attributes, it is considered a good practice to provide a type attribute that MAY be used for the purpose of canonicalization of values. In the schema definition for an attribute, the service provider MAY define the recommended canonical values (see Section 7).
See Also:
  • Constructor Details

    • MultiComplexNode

      public MultiComplexNode(String type, Boolean primary, String display, String value, String ref)
    • MultiComplexNode

      public MultiComplexNode()
  • Method Details

    • getType

      public Optional<String> getType()
      A label indicating the attribute's function, e.g., "work" or "home".
    • setType

      public void setType(String type)
      A label indicating the attribute's function, e.g., "work" or "home".
    • isPrimary

      public boolean isPrimary()
      A Boolean value indicating the 'primary' or preferred attribute value for this attribute, e.g., the preferred mailing address or the primary email address. The primary attribute value "true" MUST appear no more than once. If not specified, the value of "primary" SHALL be assumed to be "false".
    • setPrimary

      public void setPrimary(Boolean primary)
      A Boolean value indicating the 'primary' or preferred attribute value for this attribute, e.g., the preferred mailing address or the primary email address. The primary attribute value "true" MUST appear no more than once. If not specified, the value of "primary" SHALL be assumed to be "false".
    • getDisplay

      public Optional<String> getDisplay()
      A human-readable name, primarily used for display purposes and having a mutability of "immutable".
    • setDisplay

      public void setDisplay(String display)
      A human-readable name, primarily used for display purposes and having a mutability of "immutable".
    • getValue

      public Optional<String> getValue()
      The attribute's significant value, e.g., email address, phone number.
    • setValue

      public void setValue(String value)
      The attribute's significant value, e.g., email address, phone number.
    • getRef

      public Optional<String> getRef()
      The reference URI of a target resource, if the attribute is a reference. URIs are canonicalized per Section 6.2 of [RFC3986]. While the representation of a resource may vary in different SCIM protocol API versions (see Section 3.13 of [RFC7644]), URIs for SCIM resources with an API version SHALL be considered comparable to URIs without a version or with a different version. For example, "https://example.com/Users/12345" is equivalent to "https://example.com/v2/Users/12345".
    • setRef

      public void setRef(String ref)
      The reference URI of a target resource, if the attribute is a reference. URIs are canonicalized per Section 6.2 of [RFC3986]. While the representation of a resource may vary in different SCIM protocol API versions (see Section 3.13 of [RFC7644]), URIs for SCIM resources with an API version SHALL be considered comparable to URIs without a version or with a different version. For example, "https://example.com/Users/12345" is equivalent to "https://example.com/v2/Users/12345".