Class AbstractEnumValueConfigurationValidator
- java.lang.Object
-
- com.github.toolarium.enumeration.configuration.validation.impl.AbstractEnumValueConfigurationValidator
-
- All Implemented Interfaces:
IEnumValueConfigurationValidator
- Direct Known Subclasses:
DefaultEnumValueConfigurationValidator
public abstract class AbstractEnumValueConfigurationValidator extends java.lang.Object implements IEnumValueConfigurationValidator
Abstract validator base class
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String
HEX_WEBCOLOR_PATTERN
protected static java.util.regex.Pattern
hexWebColorPattern
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractEnumValueConfigurationValidator()
Constructor for AbstractEnumValueConfigurationValidator
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.String
checkBase(java.lang.String value)
Check if the given value is a number or not<T> T
convert(EnumValueConfigurationDataType dataType, java.lang.String inputToTest)
Convertprotected EnumValueConfigurationBinaryObject
getBinary(java.lang.String input)
Get the binary content.protected java.lang.Boolean
getBoolean(java.lang.String input)
Get the booleanprotected java.lang.String
getCertificate(java.lang.String input)
Get the certificateprotected java.lang.String
getCIDR(java.lang.String input)
Get the CIDRprotected java.lang.String
getColor(java.lang.String input)
Get the colorprotected java.lang.String
getCron(java.lang.String input)
Get the cronprotected java.time.LocalDate
getDate(java.lang.String input)
Get the dateprotected java.lang.Double
getDouble(java.lang.String input)
Get the doubleprotected java.lang.String
getEmail(java.lang.String input)
Get the emailprotected java.lang.Long
getNumber(java.lang.String input)
Get the numberprotected java.lang.String
getRegExp(java.lang.String input)
Get the regexpprotected java.time.LocalTime
getTime(java.lang.String input)
Get the timeprotected java.time.Instant
getTimestamp(java.lang.String input)
Get the timestampprotected java.net.URI
getURI(java.lang.String input)
Get the uriprotected java.util.UUID
getUUID(java.lang.String input)
Get the UUIDvoid
validate(EnumValueConfiguration enumValueConfiguration)
Validate consistency of anEnumValueConfiguration
void
validate(EnumValueConfigurationDataType dataType, EnumValueConfigurationSizing cardinality, EnumValueConfigurationSizing valueSize, boolean isOptional, java.lang.String input)
Validate the data type against an input stringvoid
validate(EnumValueConfiguration enumValueConfiguration, java.lang.String input)
Validate anEnumValueConfiguration
against an input stringprotected void
validateDefaultValue(EnumValueConfigurationDataType dataType, EnumValueConfigurationSizing cardinality, EnumValueConfigurationSizing valueSize, boolean isOptional, java.lang.String inputDefaultValue)
Validate default valueprotected void
validateDescription(java.lang.String description)
Validate descriptionprotected void
validateExampleValue(EnumValueConfigurationDataType dataType, EnumValueConfigurationSizing cardinality, EnumValueConfigurationSizing valueSize, boolean isOptional, java.lang.String inputExampleValue)
Validate example valueprotected void
validateKey(java.lang.String key)
Validate keyprotected void
validateValidity(java.time.Instant validFrom, java.time.Instant validTill)
Validate validityprotected void
validateValue(java.lang.String inputType, EnumValueConfigurationDataType dataType, EnumValueConfigurationSizing cardinality, EnumValueConfigurationSizing valueSize, boolean isOptional, java.lang.String input)
Validate example value
-
-
-
Field Detail
-
HEX_WEBCOLOR_PATTERN
protected static final java.lang.String HEX_WEBCOLOR_PATTERN
- See Also:
- Constant Field Values
-
hexWebColorPattern
protected static final java.util.regex.Pattern hexWebColorPattern
-
-
Method Detail
-
validate
public void validate(EnumValueConfiguration enumValueConfiguration, java.lang.String input) throws ValidationException
Description copied from interface:IEnumValueConfigurationValidator
Validate anEnumValueConfiguration
against an input string- Specified by:
validate
in interfaceIEnumValueConfigurationValidator
- Parameters:
enumValueConfiguration
- enum value configurationinput
- the input to validate- Throws:
ValidationException
- In case of a validation error- See Also:
IEnumValueConfigurationValidator.validate(com.github.toolarium.enumeration.configuration.dto.EnumValueConfiguration, java.lang.String)
-
validate
public void validate(EnumValueConfiguration enumValueConfiguration) throws ValidationException
Description copied from interface:IEnumValueConfigurationValidator
Validate consistency of anEnumValueConfiguration
- Specified by:
validate
in interfaceIEnumValueConfigurationValidator
- Parameters:
enumValueConfiguration
- enum value configuation- Throws:
ValidationException
- In case of a validation error- See Also:
IEnumValueConfigurationValidator.validate(com.github.toolarium.enumeration.configuration.dto.EnumValueConfiguration)
-
validate
public void validate(EnumValueConfigurationDataType dataType, EnumValueConfigurationSizing cardinality, EnumValueConfigurationSizing valueSize, boolean isOptional, java.lang.String input) throws ValidationException
Description copied from interface:IEnumValueConfigurationValidator
Validate the data type against an input string- Specified by:
validate
in interfaceIEnumValueConfigurationValidator
- Parameters:
dataType
- the data typecardinality
- the cardinalityvalueSize
- the value sizeisOptional
- true if it is optionalinput
- the input to validate- Throws:
ValidationException
- In case of a validation error- See Also:
IEnumValueConfigurationValidator.validate(com.github.toolarium.enumeration.configuration.dto.EnumValueConfigurationDataType, com.github.toolarium.enumeration.configuration.dto.EnumValueConfigurationSizing, com.github.toolarium.enumeration.configuration.dto.EnumValueConfigurationSizing, boolean, java.lang.String)
-
validateDescription
protected void validateDescription(java.lang.String description) throws ValidationException
Validate description- Parameters:
description
- the description- Throws:
ValidationException
- In case of a validation violation
-
validateKey
protected void validateKey(java.lang.String key) throws ValidationException
Validate key- Parameters:
key
- the key- Throws:
ValidationException
- In case of a validation violation
-
validateValidity
protected void validateValidity(java.time.Instant validFrom, java.time.Instant validTill) throws ValidationException
Validate validity- Parameters:
validFrom
- the valid fromvalidTill
- the valid till- Throws:
ValidationException
- In case of a validation violation
-
validateDefaultValue
protected void validateDefaultValue(EnumValueConfigurationDataType dataType, EnumValueConfigurationSizing cardinality, EnumValueConfigurationSizing valueSize, boolean isOptional, java.lang.String inputDefaultValue) throws ValidationException
Validate default value- Parameters:
dataType
- the data typecardinality
- the cardinalityvalueSize
- the value sizeisOptional
- true if it is optionalinputDefaultValue
- the default value- Throws:
ValidationException
- In case of a validation violation
-
validateExampleValue
protected void validateExampleValue(EnumValueConfigurationDataType dataType, EnumValueConfigurationSizing cardinality, EnumValueConfigurationSizing valueSize, boolean isOptional, java.lang.String inputExampleValue) throws ValidationException
Validate example value- Parameters:
dataType
- the data typecardinality
- the cardinalityvalueSize
- the value sizeisOptional
- true if it is optionalinputExampleValue
- the example value- Throws:
ValidationException
- In case of a validation violation
-
validateValue
protected void validateValue(java.lang.String inputType, EnumValueConfigurationDataType dataType, EnumValueConfigurationSizing cardinality, EnumValueConfigurationSizing valueSize, boolean isOptional, java.lang.String input) throws ValidationException
Validate example value- Parameters:
inputType
- the input typedataType
- the data typecardinality
- the cardinalityvalueSize
- the value sizeinput
- the default valueisOptional
- true if it is optional; otherwise false- Throws:
ValidationException
- In case of a validation violation
-
convert
public <T> T convert(EnumValueConfigurationDataType dataType, java.lang.String inputToTest) throws ValidationException
Description copied from interface:IEnumValueConfigurationValidator
Convert- Specified by:
convert
in interfaceIEnumValueConfigurationValidator
- Type Parameters:
T
- the generic type- Parameters:
dataType
- the data typeinputToTest
- the input to validate- Returns:
- the result
- Throws:
ValidationException
- In case of a validation error- See Also:
IEnumValueConfigurationValidator.convert(com.github.toolarium.enumeration.configuration.dto.EnumValueConfigurationDataType, java.lang.String)
-
checkBase
protected java.lang.String checkBase(java.lang.String value)
Check if the given value is a number or not- Parameters:
value
- the expression- Returns:
- true if it is a number
-
getNumber
protected java.lang.Long getNumber(java.lang.String input) throws java.lang.NumberFormatException
Get the number- Parameters:
input
- the input to parse- Returns:
- the number
- Throws:
java.lang.NumberFormatException
- in case its not a number
-
getDouble
protected java.lang.Double getDouble(java.lang.String input) throws java.lang.NumberFormatException
Get the double- Parameters:
input
- the input to parse- Returns:
- the double
- Throws:
java.lang.NumberFormatException
- in case its not a double
-
getBoolean
protected java.lang.Boolean getBoolean(java.lang.String input) throws java.lang.IllegalArgumentException
Get the boolean- Parameters:
input
- the input to parse- Returns:
- the boolean
- Throws:
java.lang.IllegalArgumentException
- in case its not a boolean
-
getDate
protected java.time.LocalDate getDate(java.lang.String input) throws java.time.format.DateTimeParseException
Get the date- Parameters:
input
- the input to parse- Returns:
- the date
- Throws:
java.time.format.DateTimeParseException
- in case its not a date
-
getTime
protected java.time.LocalTime getTime(java.lang.String input) throws java.time.format.DateTimeParseException
Get the time- Parameters:
input
- the input to parse- Returns:
- the time
- Throws:
java.time.format.DateTimeParseException
- in case its not a time
-
getTimestamp
protected java.time.Instant getTimestamp(java.lang.String input) throws java.time.format.DateTimeParseException
Get the timestamp- Parameters:
input
- the input to parse- Returns:
- the timestamp
- Throws:
java.time.format.DateTimeParseException
- in case its not a timestamp
-
getRegExp
protected java.lang.String getRegExp(java.lang.String input) throws java.util.regex.PatternSyntaxException
Get the regexp- Parameters:
input
- the input to parse- Returns:
- the regexp
- Throws:
java.util.regex.PatternSyntaxException
- in case its not a regexp
-
getUUID
protected java.util.UUID getUUID(java.lang.String input) throws java.lang.IllegalArgumentException
Get the UUID- Parameters:
input
- the input to parse- Returns:
- the UUID
- Throws:
java.lang.IllegalArgumentException
- in case its not a UUID
-
getURI
protected java.net.URI getURI(java.lang.String input) throws java.net.URISyntaxException
Get the uri- Parameters:
input
- the input to parse- Returns:
- the uri
- Throws:
java.net.URISyntaxException
- in case its not a url
-
getCIDR
protected java.lang.String getCIDR(java.lang.String input) throws java.net.URISyntaxException
Get the CIDR- Parameters:
input
- the input to parse- Returns:
- the CIDR
- Throws:
java.net.URISyntaxException
- in case its not a CIDR
-
getEmail
protected java.lang.String getEmail(java.lang.String input) throws java.lang.IllegalArgumentException
Get the email- Parameters:
input
- the input to parse- Returns:
- the email
- Throws:
java.lang.IllegalArgumentException
- in case its not a email
-
getCron
protected java.lang.String getCron(java.lang.String input) throws java.lang.IllegalArgumentException
Get the cron- Parameters:
input
- the input to parse- Returns:
- the cron expression
- Throws:
java.lang.IllegalArgumentException
- in case its not a cron expression
-
getColor
protected java.lang.String getColor(java.lang.String input) throws java.lang.IllegalArgumentException
Get the color- Parameters:
input
- the input to parse- Returns:
- the color
- Throws:
java.lang.IllegalArgumentException
- in case its not a color
-
getCertificate
protected java.lang.String getCertificate(java.lang.String input) throws java.lang.IllegalArgumentException
Get the certificate- Parameters:
input
- the input to parse- Returns:
- the certificate
- Throws:
java.lang.IllegalArgumentException
- in case its not a certificate
-
getBinary
protected EnumValueConfigurationBinaryObject getBinary(java.lang.String input) throws java.lang.IllegalArgumentException
Get the binary content. Format:[name]|[timestamp]|[mime-type]|[content base64 encoded].
The name, timestamp (as RFC 3339), mimetype are optional, only base64 content is a valid content., e.g.myfile.txt|2021-03-15T08:59:22.123Z|text/plain|VGV4dAo=
ormyfile.txt|||VGV4dAo=
orVGV4dAo=
- Parameters:
input
- the input to parse- Returns:
- the file
- Throws:
java.lang.IllegalArgumentException
- in case its not a file
-
-