trait SchemaProperty[T] extends AnyRef
- Alphabetic
- By Inheritance
- SchemaProperty
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- abstract type S <: SchemaProperty[T]
Abstract Value Members
- 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
- 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
- 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
- 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
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- 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
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- 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
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- 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
- 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
- def isInformational: Boolean
True if this property is for informational purposes only (not for validation), and false otherwise
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- 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.
- def mergeOnlySameType(prop: SchemaProperty[T], mergeType: MergeType)(implicit p: JsonoidParams): S
- 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
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()