final case class PatternProperty(prefix: Option[String] = None, suffix: Option[String] = None, examples: Int = 0, minLength: Option[Int] = None) extends SchemaProperty[String] with Product with Serializable
Tracks the possible patterns for string values.
- prefix
a possible common prefix of strings
- suffix
a possible common suffix of strings
- examples
the total number of observed examples
- minLength
the minimum observed length of a string
- Alphabetic
- By Inheritance
- PatternProperty
- Serializable
- Product
- Equals
- SchemaProperty
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new PatternProperty(prefix: Option[String] = None, suffix: Option[String] = None, examples: Int = 0, minLength: Option[Int] = None)
Create a new string pattern property
Create a new string pattern property
- prefix
a possible common prefix of strings
- suffix
a possible common suffix of strings
- examples
the total number of observed examples
- minLength
the minimum observed length of a string
Type Members
- type S = PatternProperty
- Definition Classes
- PatternProperty → SchemaProperty
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
- Definition Classes
- PatternProperty → SchemaProperty
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- val examples: Int
- def expandTo(other: Option[PatternProperty]): PatternProperty
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
- Definition Classes
- PatternProperty → SchemaProperty
- 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 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
- Definition Classes
- SchemaProperty
- 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
- Definition Classes
- SchemaProperty
- def isInformational: Boolean
True if this property is for informational purposes only (not for validation), and false otherwise
True if this property is for informational purposes only (not for validation), and false otherwise
- Definition Classes
- SchemaProperty
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isSubsetOf(other: PatternProperty, 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.
- Definition Classes
- PatternProperty → SchemaProperty
- def mergeOnlySameType(prop: SchemaProperty[String], mergeType: MergeType)(implicit p: JsonoidParams): S
- Definition Classes
- SchemaProperty
- def mergeValue(value: String)(implicit p: JsonoidParams): PatternProperty
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
- Definition Classes
- PatternProperty → SchemaProperty
- 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
- Definition Classes
- SchemaProperty
- val minLength: Option[Int]
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def newDefault()(implicit p: JsonoidParams): PatternProperty
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
- Definition Classes
- PatternProperty → SchemaProperty
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- val prefix: Option[String]
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val suffix: Option[String]
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- 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
- Definition Classes
- PatternProperty → SchemaProperty
- 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
- Definition Classes
- SchemaProperty
- def unionMerge(otherProp: PatternProperty)(implicit p: JsonoidParams): PatternProperty
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.
- p
the JSONoid paramters
- returns
the merged property
- Definition Classes
- PatternProperty → SchemaProperty
- 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()