Packages

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

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PatternProperty
  2. Serializable
  3. Product
  4. Equals
  5. SchemaProperty
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. 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

  1. type S = PatternProperty
    Definition Classes
    PatternPropertySchemaProperty

Value Members

  1. 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
    PatternPropertySchemaProperty
  2. val examples: Int
  3. 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
    PatternPropertySchemaProperty
  4. 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
  5. 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
  6. 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
  7. 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
    PatternPropertySchemaProperty
  8. def mergeOnlySameType(prop: SchemaProperty[String], mergeType: MergeType)(implicit p: JsonoidParams): S
    Definition Classes
    SchemaProperty
  9. 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
    PatternPropertySchemaProperty
  10. 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
  11. val minLength: Option[Int]
  12. 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
    PatternPropertySchemaProperty
  13. val prefix: Option[String]
  14. def productElementNames: Iterator[String]
    Definition Classes
    Product
  15. val suffix: Option[String]
  16. 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
    PatternPropertySchemaProperty
  17. 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
  18. 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
    PatternPropertySchemaProperty