Class SchemaValidator

java.lang.Object
com.github.darksoulq.abyssallib.common.serialization.schema.SchemaValidator

public class SchemaValidator extends Object
Validates structured data against a set of schema rules.
  • Constructor Details

    • SchemaValidator

      public SchemaValidator()
  • Method Details

    • getRules

      public List<SchemaValidator.Rule> getRules()
      Returns all registered validation rules.
      Returns:
      validation rules
    • field

      public SchemaValidator field(String path)
      Targets a structural path for subsequent validation rules.
      Parameters:
      path - the field path to target
      Returns:
      this validator
    • range

      public SchemaValidator range(double min, double max)
      Restricts a numerical field to a specific range.
      Parameters:
      min - minimum inclusive value
      max - maximum inclusive value
      Returns:
      this validator
    • minLength

      public SchemaValidator minLength(int length)
      Enforces a minimum length constraint on a string, list, or map.
      Parameters:
      length - minimum required length
      Returns:
      this validator
    • maxLength

      public SchemaValidator maxLength(int length)
      Enforces a maximum length constraint on a string, list, or map.
      Parameters:
      length - maximum allowed length
      Returns:
      this validator
    • regex

      public SchemaValidator regex(String pattern)
      Enforces a regular expression match on a string field.
      Parameters:
      pattern - required regular expression
      Returns:
      this validator
    • positive

      public SchemaValidator positive()
      Requires a numerical field to be greater than zero.
      Returns:
      this validator
    • oneOf

      public SchemaValidator oneOf(Object... values)
      Restricts a field to a predefined set of allowed values.
      Parameters:
      values - permitted values
      Returns:
      this validator