Top Description Inners Fields Constructors Methods
org.hibernate.validator.internal.constraintvalidators.hv.ru

public Class INNValidator

extends Object
implements ConstraintValidator<INN, CharSequence>
Class Inheritance
All Implemented Interfaces
jakarta.validation.ConstraintValidator
Imports
java.util.regex.Pattern, org.hibernate.validator.constraints.ru.INN, org.hibernate.validator.internal.util.Contracts, jakarta.validation.ConstraintValidator, .ConstraintValidatorContext

Checks that a given character sequence (e.g. string) is a valid INN.
Author
Artem Boiarshinov

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static interface
private static enum

Field Summary

Modifier and TypeField and Description
private INNValidator.INNValidationAlgorithm
private static final Pattern
private static final int

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public void
initialize(INN
annotation instance for a given constraint declaration
constraintAnnotation
)

Overrides default jakarta.validation.ConstraintValidator.initialize.

Initializes the validator in preparation for isValid(Object, ConstraintValidatorContext) calls.
public boolean
isValid(CharSequence
object to validate
innCharSeq
,
ConstraintValidatorContext
context in which the constraint is evaluated
context
)

Implements jakarta.validation.ConstraintValidator.isValid.

Implements the validation logic.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

innValidationAlgorithmback to summary
private INNValidator.INNValidationAlgorithm innValidationAlgorithm
NUMBERS_ONLY_PATTERNback to summary
private static final Pattern NUMBERS_ONLY_PATTERN
RADIXback to summary
private static final int RADIX

Constructor Detail

INNValidatorback to summary
public INNValidator()

Method Detail

initializeback to summary
public void initialize(INN constraintAnnotation)

Overrides default jakarta.validation.ConstraintValidator.initialize.

Doc from jakarta.validation.ConstraintValidator.initialize.

Initializes the validator in preparation for isValid(Object, ConstraintValidatorContext) calls. The constraint annotation for a given constraint declaration is passed.

This method is guaranteed to be called before any use of this instance for validation.

The default implementation is a no-op.

Parameters
constraintAnnotation:INN

annotation instance for a given constraint declaration

Annotations
@Override
isValidback to summary
public boolean isValid(CharSequence innCharSeq, ConstraintValidatorContext context)

Implements jakarta.validation.ConstraintValidator.isValid.

Doc from jakarta.validation.ConstraintValidator.isValid.

Implements the validation logic. The state of value must not be altered.

This method can be accessed concurrently, thread-safety must be ensured by the implementation.

Parameters
innCharSeq:CharSequence

object to validate

context:ConstraintValidatorContext

context in which the constraint is evaluated

Returns:boolean

false if value does not pass the constraint

Annotations
@Override
org.hibernate.validator.internal.constraintvalidators.hv.ru back to summary

private Interface INNValidator.INNValidationAlgorithm

Known Direct Implementers
org.hibernate.validator.internal.constraintvalidators.hv.ru.INNValidator.INNValidationAlgorithmImpl

Method Summary

Modifier and TypeMethod and Description
public static INNValidator.INNValidationAlgorithm
from(INN.Type type)

public boolean
isValidChecksum(int[] digits)

public boolean
isValidLength(int length)

Method Detail

fromback to summary
public static INNValidator.INNValidationAlgorithm from(INN.Type type)
isValidChecksumback to summary
public boolean isValidChecksum(int[] digits)
isValidLengthback to summary
public boolean isValidLength(int length)
org.hibernate.validator.internal.constraintvalidators.hv.ru back to summary

private sealed Enum INNValidator.INNValidationAlgorithmImpl

extends Enum<INNValidator.INNValidationAlgorithmImpl>
implements INNValidationAlgorithm
Class Inheritance
All Implemented Interfaces
org.hibernate.validator.internal.constraintvalidators.hv.ru.INNValidator.INNValidationAlgorithm

Field Summary

Modifier and TypeField and Description
public static final INNValidator.INNValidationAlgorithmImpl
public static final INNValidator.INNValidationAlgorithmImpl
private static final int[]
private static final int[]
public static final INNValidator.INNValidationAlgorithmImpl
private static final int[]
private static final int
private static final int

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
private static boolean
checkChecksumJuridicalINN(int[] digits)

Check the digits for juridical INN using algorithm from Wikipedia.

private static boolean
checkChecksumPersonalINN(int[] digits)

Check the digits for personal INN using algorithm from Wikipedia.

private static int
getCheckSum(int[] digits, int[] weights)

public static INNValidator.INNValidationAlgorithmImpl
public static INNValidator.INNValidationAlgorithmImpl[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

ANYback to summary
public static final INNValidator.INNValidationAlgorithmImpl ANY
INDIVIDUALback to summary
public static final INNValidator.INNValidationAlgorithmImpl INDIVIDUAL
INDIVIDUAL_WEIGHTS_11back to summary
private static final int[] INDIVIDUAL_WEIGHTS_11
INDIVIDUAL_WEIGHTS_12back to summary
private static final int[] INDIVIDUAL_WEIGHTS_12
JURIDICALback to summary
public static final INNValidator.INNValidationAlgorithmImpl JURIDICAL
JURIDICAL_WEIGHTSback to summary
private static final int[] JURIDICAL_WEIGHTS
MOD_10back to summary
private static final int MOD_10
MOD_11back to summary
private static final int MOD_11

Constructor Detail

INNValidationAlgorithmImplback to summary
private INNValidationAlgorithmImpl()

Method Detail

checkChecksumJuridicalINNback to summary
private static boolean checkChecksumJuridicalINN(int[] digits)

Check the digits for juridical INN using algorithm from Wikipedia.

checkChecksumPersonalINNback to summary
private static boolean checkChecksumPersonalINN(int[] digits)

Check the digits for personal INN using algorithm from Wikipedia.

getCheckSumback to summary
private static int getCheckSum(int[] digits, int[] weights)
valueOfback to summary
public static INNValidator.INNValidationAlgorithmImpl valueOf(String name)
valuesback to summary
public static INNValidator.INNValidationAlgorithmImpl[] values()