Class JsonPropertyMapper

java.lang.Object
org.forgerock.opendj.rest2ldap.PropertyMapper
org.forgerock.opendj.rest2ldap.JsonPropertyMapper

public final class JsonPropertyMapper extends PropertyMapper
A property mapper which provides a mapping from a JSON value to an LDAP attribute having the JSON syntax.
  • Method Details

    • jsonQueryEqualityMatchingRule

      public JsonPropertyMapper jsonQueryEqualityMatchingRule(String jsonQueryEqualityMatchingRule)
      Sets the JSON query matching rule name that should be used for matching JSON attributes in LDAP. The matching rule must be built using JsonSchema.newJsonQueryEqualityMatchingRuleImpl(String, Options).

      By default JSON attributes will be matched using the JsonSchema.getCaseIgnoreJsonQueryMatchingRule().

      Parameters:
      jsonQueryEqualityMatchingRule - The name or OID of the JSON query matching rule.
      Returns:
      This property mapper.
    • extensibleJsonOrderingMatchingRule

      public JsonPropertyMapper extensibleJsonOrderingMatchingRule(String extensibleJsonOrderingMatchingRule)
      Sets the JSON ordering matching rule name that should be used for comparing JSON attributes in LDAP. The matching rule must be built using JsonSchema.newJsonQueryEqualityMatchingRuleImpl(String, Options).

      By default JSON attributes will be matched using the JsonSchema.getCaseIgnoreJsonQueryMatchingRule().

      Parameters:
      extensibleJsonOrderingMatchingRule - The name or OID of the extensible JSON ordering matching rule.
      Returns:
      This property mapper.
    • useServerSideSort

      public JsonPropertyMapper useServerSideSort(boolean useServerSideSort)
      Specifies whether a sort directive involving this property mapper should be forwarded to the LDAP server or if it should be performed locally by this Rest2Ldap server.

      You want to set this setting to false if the LDAP server does not support the extensible matching rule concept.

      Parameters:
      useServerSideSort - true if the sort directive should be forwarded to the LDAP server, false if the sort operation must be performed locally.
      Returns:
      This property mapper.
      See Also:
      • extensibleJsonOrderingMatchingRule
    • defaultJsonValue

      public JsonPropertyMapper defaultJsonValue(Object defaultValue)
      Sets the default JSON value which should be substituted when the LDAP attribute is not found in the LDAP entry.
      Parameters:
      defaultValue - The default JSON value.
      Returns:
      This property mapper.
    • defaultJsonValues

      public JsonPropertyMapper defaultJsonValues(Collection<?> defaultValues)
      Sets the default JSON values which should be substituted when the LDAP attribute is not found in the LDAP entry.
      Parameters:
      defaultValues - The default JSON values.
      Returns:
      This property mapper.
    • jsonSchema

      public JsonPropertyMapper jsonSchema(JsonValue jsonSchema)
      Sets the JSON schema corresponding to this simple property mapper. If not null, it will be returned by toJsonSchema(), otherwise a default JSON schema will be automatically generated with the information available in this property mapper.
      Parameters:
      jsonSchema - the JSON schema corresponding to this simple property mapper. Can be null
      Returns:
      This property mapper.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • isRequired

      public final JsonPropertyMapper isRequired(boolean isRequired)
      Indicates that the LDAP attribute is mandatory and must be provided during create requests.
      Parameters:
      isRequired - true if this property is required.
      Returns:
      This property mapper.
    • isMultiValued

      public final JsonPropertyMapper isMultiValued(boolean isMultiValued)
      Indicates that the LDAP attribute is multi-valued and should be represented in JSON using an array of values.
      Parameters:
      isMultiValued - true if this property is multi-valued.
      Returns:
      This property mapper.
    • writability

      public final JsonPropertyMapper writability(WritabilityPolicy policy)
      Indicates whether the LDAP attribute supports updates. The default is WritabilityPolicy.READ_WRITE.
      Parameters:
      policy - The writability policy.
      Returns:
      This property mapper.
    • putWritabilityProperties

      public static void putWritabilityProperties(WritabilityPolicy writabilityPolicy, JsonValue jsonSchema)