Packages

trait SchemaProperty[T] extends AnyRef

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SchemaProperty
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. abstract type S <: SchemaProperty[T]

Abstract Value Members

  1. abstract def mergeValue(value: T)(implicit p: JsonoidParams): S

    Update the property by merging in a single related value

    Update the property by merging in a single related value

    value

    the value to merge

    p

    the JSONoid parameters to use during merging

    returns

    an updated property with the merged value

  2. abstract def newDefault()(implicit p: JsonoidParams): SchemaProperty[T]

    Build a new instance of the property with default parameters

    Build a new instance of the property with default parameters

    p

    the JSONoid parameters to use during construction

  3. abstract def toJson()(implicit p: JsonoidParams): JObject

    Produce a JSON representation of this property

    Produce a JSON representation of this property

    p

    the JSONoid parameters to use during converion

  4. abstract def unionMerge(prop: S)(implicit p: JsonoidParams): S

    Merge with another property using the union strategy.

    Merge with another property using the union strategy.

    For properties used in validation, the property should validate against the union of the values used to discover each property.

    prop

    the property to merge with

    p

    the JSONoid paramters

    returns

    the merged property

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. def collectAnomalies[S <: JValue](value: S, path: String = "$")(implicit p: JsonoidParams, tag: ClassTag[S]): Seq[Anomaly]

    Find all possible anomalies for a value according to the current property

    Find all possible anomalies for a value according to the current property

    value

    the value to check for anomalies

    path

    the path of this property

    tag

    a captured ClassTag to use in the generated anomaly

    returns

    a list of collected anomalies

  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. def expandTo(other: Option[S]): S

    Expand a property to cover another property

    Expand a property to cover another property

    other

    the other property to expand to

    returns

    this property expanded to cover the other property

  10. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  11. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. def intersectMerge(prop: S)(implicit p: JsonoidParams): S

    Merge with another property using the intersect strategy

    Merge with another property using the intersect strategy

    For properties used in validation, the property should validate against the intersection of the values used to discover each property.

    prop

    the property to merge with

    p

    the JSONoid paramters

    returns

    the merged property

  14. def isAnomalous[S <: JValue](value: S, path: String = "$")(implicit p: JsonoidParams, tag: ClassTag[S]): Boolean

    Whether a value should be considered anomalous according to the current property

    Whether a value should be considered anomalous according to the current property

    value

    the value to check

    path

    the path of this property

    tag

    a captured ClassTag used to collect anomalies

  15. def isInformational: Boolean

    True if this property is for informational purposes only (not for validation), and false otherwise

  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. def isSubsetOf(other: S, recursive: Boolean = true)(implicit p: JsonoidParams): Boolean

    Whether this property is compatible with another property

    Whether this property is compatible with another property

    For validation properties, this means that any value that is valid according to this property can *potentially* be valid according to the other property.

  18. def mergeOnlySameType(prop: SchemaProperty[T], mergeType: MergeType)(implicit p: JsonoidParams): S
  19. def mergeable: Boolean

    Whether it is possible to merge this property

    Whether it is possible to merge this property

    returns

    true if the property is mergeable, false otherwise

  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  23. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  24. def toString(): String
    Definition Classes
    AnyRef → Any
  25. def transform(transformer: PartialFunction[(String, JsonSchema[_]), JsonSchema[_]], path: String): S

    Recursively transform properties nested under this property.

    Recursively transform properties nested under this property.

    This must be implemented for any property which contain schema objects Currently this is only these properties: * DynamicObjectTypeProperty in DynamicObjectSchema * ObjectTypesProperty in ObjectSchema * PatternTypesProperty in ObjectSchema * ItemTypeProperty in ArraySchema * ProductSchemaTypesProperty in ProductSchema

    transformer

    a function to be applied to recursively tranform properties

    path

    the path to the current property

    returns

    the recursively transformed property

  26. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  27. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  28. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped