Interface ModelProperties.PropertyDefn<T>

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      T decode​(Object value, com.fasterxml.jackson.databind.ObjectMapper jsonMapper)
      Decodes a JSON-encoded value into a corresponding Java value.
      Object merge​(Object existing, Object update)
      Merge a property value with an update.
      String name()
      Name of the property as visible to catalog users.
      String typeName()
      The name of the type of this property to be displayed in error messages.
      void validate​(Object value, com.fasterxml.jackson.databind.ObjectMapper jsonMapper)
      Validates that the object given is valid for this property.
    • Method Detail

      • name

        String name()
        Name of the property as visible to catalog users. All properties are top-level within the properties object within a catalog spec.
      • typeName

        String typeName()
        The name of the type of this property to be displayed in error messages.
      • validate

        void validate​(Object value,
                      com.fasterxml.jackson.databind.ObjectMapper jsonMapper)
        Validates that the object given is valid for this property. Provides the JSON mapper in case JSON decoding is required.
      • merge

        Object merge​(Object existing,
                     Object update)
        Merge a property value with an update. Validation of the update is typically done later, once all the updates are applied. The most typical merge is just: use the new value if provided, else the old value.
      • decode

        T decode​(Object value,
                 com.fasterxml.jackson.databind.ObjectMapper jsonMapper)
        Decodes a JSON-encoded value into a corresponding Java value.