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:
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonNode

    com.fasterxml.jackson.databind.JsonNode.OverwriteMode

    Nested classes/interfaces inherited from interface com.fasterxml.jackson.databind.JsonSerializable

    com.fasterxml.jackson.databind.JsonSerializable.Base
  • Field Summary

    Fields inherited from class com.fasterxml.jackson.databind.node.ObjectNode

    _children

    Fields inherited from class com.fasterxml.jackson.databind.node.ContainerNode

    _nodeFactory
  • Constructor Summary

    Constructors
    Constructor
    Description
     
    MultiComplexNode(String type, Boolean primary, String display, String value, String ref)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    A human-readable name, primarily used for display purposes and having a mutability of "immutable".
    The reference URI of a target resource, if the attribute is a reference.
    A label indicating the attribute's function, e.g., "work" or "home".
    The attribute's significant value, e.g., email address, phone number.
    boolean
    A Boolean value indicating the 'primary' or preferred attribute value for this attribute, e.g., the preferred mailing address or the primary email address.
    void
    setDisplay(String display)
    A human-readable name, primarily used for display purposes and having a mutability of "immutable".
    void
    A Boolean value indicating the 'primary' or preferred attribute value for this attribute, e.g., the preferred mailing address or the primary email address.
    void
    The reference URI of a target resource, if the attribute is a reference.
    void
    A label indicating the attribute's function, e.g., "work" or "home".
    void
    The attribute's significant value, e.g., email address, phone number.

    Methods inherited from class com.fasterxml.jackson.databind.node.ObjectNode

    _at, _childrenEqual, _put, _withArray, _withArrayAddTailProperty, _withObject, _withObjectAddTailProperty, asToken, deepCopy, elements, equals, equals, fieldNames, fields, findParent, findParents, findValue, findValues, findValuesAsText, get, get, getNodeType, hashCode, isEmpty, isObject, path, path, properties, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put, putAll, putAll, putArray, putIfAbsent, putNull, putObject, putPOJO, putRawValue, remove, remove, removeAll, replace, required, retain, retain, serialize, serializeFilteredContents, serializeWithType, set, setAll, setAll, size, with, withArray, without, without

    Methods inherited from class com.fasterxml.jackson.databind.node.ContainerNode

    arrayNode, arrayNode, asText, binaryNode, binaryNode, booleanNode, missingNode, nullNode, numberNode, numberNode, numberNode, numberNode, numberNode, numberNode, numberNode, numberNode, numberNode, numberNode, numberNode, numberNode, numberNode, numberNode, objectNode, pojoNode, rawValueNode, textNode

    Methods inherited from class com.fasterxml.jackson.databind.node.BaseJsonNode

    _bigIntFromBigDec, _jsonPointerIfValid, _reportWrongNodeOperation, _reportWrongNodeType, _withXxxMayReplace, _withXxxVerifyReplace, findPath, numberType, required, traverse, traverse, withArray, withObject

    Methods inherited from class com.fasterxml.jackson.databind.JsonNode

    _reportRequiredViolation, _this, asBoolean, asBoolean, asDouble, asDouble, asInt, asInt, asLong, asLong, asText, at, at, bigIntegerValue, binaryValue, booleanValue, canConvertToExactIntegral, canConvertToInt, canConvertToLong, decimalValue, doubleValue, findParents, findValues, findValuesAsText, floatValue, has, has, hasNonNull, hasNonNull, intValue, isArray, isBigDecimal, isBigInteger, isBinary, isBoolean, isContainerNode, isDouble, isFloat, isFloatingPointNumber, isInt, isIntegralNumber, isLong, isMissingNode, isNull, isNumber, isPojo, isShort, isTextual, isValueNode, iterator, longValue, numberValue, require, requiredAt, requiredAt, requireNonNull, shortValue, textValue, withArray, withArray, withObject, withObject, withObject

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator
  • 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".