public class PrimitivePropertyValueMapping extends InstancePropertyValueMapping
Maps singular PrimitivePropertyValues between persistence and objects. These cannot simply be serialized to JSON as that would impact the ability to search their values correctly, so we must break apart the values and the types for each property: { ... :entityProperties/qualifiedName.json {:json "{\"class\":\"PrimitivePropertyValue\",\"instancePropertyCategory\":\"PRIMITIVE\",\"primitiveDefCategory\":\"OM_PRIMITIVE_TYPE_STRING\",\"primitiveValue\":\"A Simple Term\"}"} :entityProperties/Referenceable.qualifiedName.value "A Simple Term" ... :classifications.Confidentiality.classificationProperties/Confidentiality.level.json {:json "{\"class\":\"PrimitivePropertyValue\",\"instancePropertyCategory\":\"PRIMITIVE\",\"primitiveDefCategory\":\"OM_PRIMITIVE_TYPE_INT\",\"primitiveValue\":5}"} :classifications.Confidentiality.classificationProperties/Confidentiality.level.value 5 ... }
  • Constructor Details

    • PrimitivePropertyValueMapping

      public PrimitivePropertyValueMapping()
  • Method Details

    • addPrimitivePropertyValueToDoc

      public static void addPrimitivePropertyValueToDoc(xtdb.api.XtdbDocument.Builder builder, PropertyKeywords keywords, PrimitivePropertyValue value)
      Add the provided primitive value to the XTDB document.
      Parameters:
      builder - to which to add the property value
      keywords - of the property
      value - of the property
    • addPrimitivePropertyValueToDoc

      public static clojure.lang.IPersistentMap addPrimitivePropertyValueToDoc(clojure.lang.IPersistentMap doc, clojure.lang.Keyword propertyKeyword, PrimitivePropertyValue value)
      Add the provided primitive value to the XTDB map.
      Parameters:
      doc - the XTDB map to which to add the property
      propertyKeyword - the property whose value should be set, fully-qualified with namespace and type name
      value - of the property
      Returns:
      IPersistentMap of the updated XTDB doc
    • getPrimitiveValueForComparison

      public static Object getPrimitiveValueForComparison(PrimitivePropertyValue ppv)
      Convert the provided primitive property value into a XTDB comparable form.
      Parameters:
      ppv - Egeria value to translate to XTDB-comparable value
      Returns:
      Object value that XTDB can compare